А если как на абусе то тут немного по другому нужно подход делать.
Скрипт книги
sphereitem.scpКод
[2253]
//Necromancer book
COLOR=0488
BUYVALUE=2000000
//SELLVALUE=0
ATTR=24
LAYER=2
WEIGHT=0
ONTRIGGER=DCLICK
if (<src.necromancy><700) // С 70 процентов некры мы можем читать книгу собственно и использовать ее. по назначению
src.sysmessage Your necromancy skill is too low to read this book.^Ваш навык necromancy слишком мал чтобы прочитать эту книгу.
return 1
elseif (<src.gm>==1)
return 1
endif
Ссылка на кодтопаем в файл идентификаторов
graymul.hКод
ITEMID_NECRO_BOOK = 0x2593 //Номер книжки в скрипте
Топаем в
cclientevent.cppНаходим функцию
Cmd_Use_Item
Вот пример кода что бы понять что мы сделали все правильно, он будет просто выводить сообщение ``NOW U CAN USE UR BOOK IDIOT`` при юзе книги и скила выше 70% в журнал.
Дальше уже полет фантазии только за вами.
Ссылка на кодКод
case ITEM_NORMAL: { //ABYSS STUFF HERE
// Handle all ITEM_NORMAL cases here. Avoid nested switches if possible.
if (!m_pChar->ContentFind(ITEMID_NECRO_BOOK))
{
SysMessage("NOW U CAN USE UR BOOK IDIOT.");
return false;
}
else {
//SOMETHING ELSE
return false;
}
}
Вот как это выглядит в игре
ВидеоЗакину еще ссылку на гитхаб может будет интересно, полноценную книгу я думаю к концу месяца смогу сделать ибо сейчас времени совсем нет разбирать все