Страница 1 из 1
TalkNPC
Добавлено: Чт фев 26, 2009 2:50 am
bot4
Столкнулся с проблемой:при общении с нпц бот автоматически закрывает окна Close.Как я понял,это автоматическая функция,которая работает при autoTalkCont 0 и при выключенном АИ.Порыв в TalkNPC.pm и покоментив куски кода эмпирическим путём результата не достиг.Мне нужно пропихнуть команду до того,как чат закроется,но ввиду этой автоматизации команда выполняется только после закрытия чата.Надеюсь на вашу помощь )
Re: TalkNPC
Добавлено: Чт фев 26, 2009 3:46 am
EternalHarvest
А не считает ли сервер диалог уже закрытым, отправив "close"? Или, это может зависеть от типа нпц...
Network::Receive::npc_talk_close
Код: Выделить всё
# I noticed that the RO client doesn't send a 'talk cancel' packet
# when it receives a 'npc_talk_closed' packet from the server'.
# But on pRO Thor (with Kapra password) this is required in order to
# open the storage.
#
# UPDATE: not sending 'talk cancel' breaks autostorage on iRO.
# This needs more investigation.
if (!$talk{canceled}) {
$messageSender->sendTalkCancel($ID);
}
Re: TalkNPC
Добавлено: Пт фев 27, 2009 4:39 am
bot4
решил проблему грубым способом - удалил sub npc_talk_close. Помогло,но с другими НПЦ теперь проблемы:либо виснет и не выходит из разговора,либо выходит из разговора через ошибку NPC did not respond через секунд этак 5,что неочень приемлимо. Можете подсказать более деликатный вариант?
Re: TalkNPC
Добавлено: Пт фев 27, 2009 5:46 am
EternalHarvest
bot4 писал(а):решил проблему грубым способом - удалил sub npc_talk_close. Помогло,но с другими НПЦ теперь проблемы:либо виснет и не выходит из разговора,либо выходит из разговора через ошибку NPC did not respond через секунд этак 5,что неочень приемлимо. Можете подсказать более деликатный вариант?
Например, сделать хук "packet_pre/npc_talk_close", в нём послать что надо (организовав флаги/проверку, что обрабатывается нужный NPC).
Re: TalkNPC
Добавлено: Пт фев 27, 2009 4:49 pm
bot4
в перле не секу, так что буду благодарен если подскажите какой код и куда впихнуть.Команду,которую хочу отправлять до закрытия разговора "chat join 0",а нпц звать LevelCheck#50 (ID 110016782).
Re: TalkNPC
Добавлено: Пн мар 02, 2009 12:41 am
bot4
никто не подсобит?=\