wl.illusion

[SCRIPT][SRC][CUSTOM] Квас — один глоток сделает вас монстром!

4 сообщения в этой теме

[script][src][custom] Квас — один глоток сделает вас монстром

kvass_disg_1.png

Встречал на ЛюмиРо, очень понравилась идея.

Описание

Отличный мод для внесения кое-какого разнообразия в игру — из мобов выпадает особый предмет, который позволяет игроку принимать облик этого моба. Работает до перезахода в игру.

Можно создавать интересные ивенты и квесты.

Необходимо скачать

PHP-скрипт для конвертации: conv_mobtosql.php (2.00)

(после сохранения удалите расширение файла .txt)

eA-скрипт для выпадения предметов: drop_kvass.txt

Установка

Правим только один файл src/map/pc.c, находим:

 sd->itemindex = n;

Добавляем после:

 /* NeoTemple Extra - Kvass */
if( sd->status.inventory[n].card[0] == 254 || sd->status.inventory[n].card[0] == 255 ) {
pc_setglobalreg(sd, "useditemsign", ((sd->status.inventory[n].card[3]<<16)+sd->status.inventory[n].card[2]) );
}
/* end of NeoTemple Extra */

Готово, теперь нам нужно немного изменить базу предметов, открываем db/re/item_db.txt находим строку:

12233,Kvass,Kvass,0,20,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 100,100; },{},{}

И заменяем её на:

12233,Kvass,Kvass,0,200,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ disguise useditemsign-140000; },{},{}

(настройки веса и стоимости продажи можете сами поменять на нужные вам)

Шаманим с базой монстров

Теперь нам понадобится скаченный ранее файлик .php, запускать его нужно на сервере, но для начала необходимо сделать настройки. В самом файле есть такие строчки:

// Измените эти данные в соответствие с вашими настройками сервера MySQL
$mysql_host = "localhost";
$mysql_name = "ragnarok";
$mysql_pass = "ragnarok";
$mysql_db = "ragnarok";

$chardb_start_id = 140000; // С какого ID будет стартовать список мобов
$mob_account_id = 1999999; // ID аккаунта, которое выставляется для мобов

Основные настройки — это данные для подключения к базе MySQL, внестите необходимые изменения в переменные:

$mysql_host — сервер для подлючения к MySQL

$mysql_name — имя пользователя MySQL

$mysql_pass — пароль

$mysql_db — название базы данных

Следующие две переменных можно не изменять, но всё равно расскажу о них:

$chardb_start_id — каждый персонаж имеет уникальный ID, чтобы подпись к предмету работала, нам нужно создать псевдо-персонажей с именами монстров, с данного ID они будут начинаться (если не знаете, что это, то настоятельно рекомендую ничего не менять)

$mob_account_id — у персонажей должен быть уникальный аккаунт, это идентификатор (тоже самое предупреждение, что и в предыдущем пункте)

Так же необходимо поместить вместе с файлом и файл базы монстров — mob_db.txt.

Если создание пройдёт успешно, то мы увидим на экране заветное:

All Done

Остаётся только подгрузить скрипт выпадения предметов:

- script kvassDrop -1,{

OnNPCKillEvent:

if (rand(10000) <= 40) {
set [email protected], killedrid+140000;
getitem2 12233,1,1,4,0,254,0,[email protected]&0xffff,([email protected]>>16)&0xffff;
}

end;
}

И всё будет готово, в скрипте выставлен шанс выпадения предмета 0.40 (<= 40), вы можете поменять его на любое удобное для вас.

Как это работает

Небольшой сорц-мод создаёт глобальную переменную персонажа: useditemsign — это сделано потому, что разработчики eA не сильно заботились мыслью о том, что кому-то могут понадобиться данные об используемом предмете внутри скрипта предмета. Более того, если предмет последний в инвентаре, то до вызова скрипта будут удалены его данные и даже зная его порядковый номер в инвентаре уже ничего нельзя получить. Поэтому, данная переменная сразу делает то, что нам нужно — вычисляет ID подписанного персонажа (в нашем случае — это псевдо-персонаж с ID монстра).

Но данный фикс был бы неполный, если бы не скрипт выпадения предмета, который создаёт данную подпись персонажа. Впринципе, можно немного дописать скрипт и сделать, чтобы изменение сохранялось (допустим) на продолжительный срок даже после перезахода. Перспективы тут достаточно интересные.

Изменено пользователем wl.illusion
5

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за данный мод. Только возник вопрос на счет пшп скрипта. Как запустить? Если можно чуток поподробнее.

Спасибо.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за данный мод. Только возник вопрос на счет пшп скрипта. Как запустить? Если можно чуток поподробнее.

Спасибо.

Если у вас купленный хостинг, то там скорее всего уже есть php, тогда просто копируйте файл и mob_db.txt на сервер. Если у вас там уже крутится какой-то сайт, то просто поместите в корень папки с сайтом и выполните <url сайта>/conv_mobtosql.php (не забудьте потом удалить файлы), если у вас есть SSH доступ и вы знаете что это такое и как им примерно пользоваться, то можно выполнить консольную команду:

php conv_mobtosql.php

Нужно находиться в директории с файлом, разумеется. В остальном установка зависит от того, каким хостингом вы обладает, что за ПО там стоит.

Изменено пользователем wl.illusion
1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ыыыы прикольная вещь)

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас