Page 1 of 1

RunUO2 и скрипты на крафт

Posted: 22.10.2010 20:49
by MuDaCk
На рануо2 ктото сталкивался со скриптами на крафт? Как отследить что предмет скрафчен, если ни в журнал, ни в системный журнал ничего не выводится? Image
точнее в журнал выводится только сообщение о перегрузке

Code: Select all

[23:49:14:234] System: You are overloaded.  Carrying stones / Max stones  : 429 / 246
стелс 3.1.3 версия 02.10.2010 8:52:46 утра :lol:

Posted: 23.10.2010 12:03
by Fenix
Если знаешь какую вещь крафтил, то можно по кол-ву таких предметов в бекпаке до и после крафта. Как условный вариант - по весу в бекпаке, но это менее точный способ.

Posted: 23.10.2010 12:46
by MuDaCk
Можно и такими способами, но тогда мне легче просто выставить задержку в пару секунд, пока крафтанется итем...

Posted: 23.10.2010 13:08
by Fenix
Ну если хочешь, что бы был полный конроль без простоя, то используй ивенты. В твоём распоряжении есть evAddItemToContainer и evAddMultipleItemsInCont. Ставишь на них обработчики и они тебе сообщат когда предмет скрафтился. Правда в этом случае скрипт довольно сильно усложнится, т.к. необходимо учитывать возможность фэйла при крафте.

Posted: 23.10.2010 13:54
by Vizit0r
не так просто. если айтем стекируется и такой айтем есть в паке - то сработает ивент Item_Info или как там его - будет полностью та же инфа по айтему, только в кол-ве будет старое кол-во + 1.

а если айтемы не стекируются - то да, те ивенты, что Феникс дописал, либо все тот же ItemInfo

Posted: 23.10.2010 20:19
by MuDaCk
Всем БОЛЬШОЕ СПАСИБО. Были высказаны интересные варианты и теперь, благодаря вашим идеям, у меня будет больше вариантов написания будущих скриптов. :idea:

Posted: 23.10.2010 21:15
by Antisiy
Рануо не знаю, но на сфере ожидание иногда делаю через проверку материалов, физл или сацес - потеря начинает новый цикл.

Posted: 24.10.2010 8:32
by Fenix
Отслеживать изменение кол-ва материала тоже очень хорошая идея. Т.к. практически все материалы стекуются в одну кучу, то в этом случае подойдёт обработчик evItemInfo. Он сообщает о каком предмете поменялась инфа, если это материал - значит событие крафта завершилось. Это хорошо отработает если при файле крафта часть материала портится.
Ещё теоретички можно использовать ивент evIncomingGump. Т.к. динамически текст гампа врядли изменяется, то сервер сначала даёт команду закрыть гамп, а потом передаёт клиенту новый гамп. Правда как этот случай отработается при порче инструмента - ХЗ.

Posted: 24.10.2010 12:07
by Savage
MuDaCK wrote:Можно и такими способами, но тогда мне легче просто выставить задержку в пару секунд, пока крафтанется итем...
Где играешь?