Чего-то мозги не варят совсем, не могу придумать, как в скрипте зафиксировать момент смерти элема, с которым чар сражается. Чар на фишинге, при нападении на чара элема (проверка простейшим способом - если здоровье чара становится меньше 150), чар скидывает удочку в трюм и берет из трюма вилку и щит. В этот момент скрипт включает вар и встает на паузу. Пока сделано что когда здоровье чара снова станет 150 - тогда вилку и щит в трюм, слутить все что выпало с элема, взять в руки удочку и продолжать рыбачить. Но хочется соптимизировать. Благо в результате рыбалки и бинтов навалом, так что если определить момент окончания сражения - то можно будет значительно ускорить процесс. После элема трупа не остается.
Во-первых, вот что написано в хелпе: "Возвращает параметр обьекта object (по умолчанию - персонажа игрока) - дохлость. Правильно работает только со своим персонажем, с другими не гарантируется". Это про UO.Dead. Во-вторых, что ты имеешь в виду, под Elem? Серийника элема у меня нету. Я же написал, что скрипт на паузу просто встает.
Может есть дургие варианты? Этот гиморный и ненадежный.
А... я что-то сам не подумал... ))) Делай так.
Если известен тип элема, то параллельно можно пустить проверку:
while not UO.Dead()
UO.FindType(TElem,-1,'ground')
if UO.FindCount()>0 then
UO.Say('STOP')
else
UO.Say('GO')
endif
wait(1500)
wend
А в основном, поставить проверку на UO.InJournal('STOP') и UO.InJournal('GO')
Daioh wrote:А... я что-то сам не подумал... ))) Делай так. Если известен тип элема, то параллельно можно пустить проверку: while not UO.Dead() UO.FindType(TElem,-1,'ground') if UO.FindCount()>0 then UO.Say('STOP') else UO.Say('GO') endif wait(1500) wend А в основном, поставить проверку на UO.InJournal('STOP') и UO.InJournal('GO')
Это я тоже уже думал делать, только элем во время сражения ходит, он может легко отойти от чара несколько шагов и снова подойти. Лучше, думаю, попробую отлавливать звук "взрыва" элема, когда он убит, раздается такой звучок, вот, наверное, его и буду контролировать... А для надежности еще таймер и проверку здоровья... Похоже, все остальные способы ненадежны.
Во-первых, вот что написано в хелпе: "Возвращает параметр обьекта object (по умолчанию - персонажа игрока) - дохлость. Правильно работает только со своим персонажем, с другими не гарантируется". Это про UO.Dead. Во-вторых, что ты имеешь в виду, под Elem? Серийника элема у меня нету. Я же написал, что скрипт на паузу просто встает.
Может есть дургие варианты? Этот гиморный и ненадежный.
Дык получи серийник в бою:
UO.GetSerial(lasttarget)
Хех, надо еще сам момент боя-то поймать... Ладно, пока сделал отлов звука "взрыва" элема и контроль мессаги о прибавлении кармы/феймы и контроль здоровья чара... Теперь тестирую
Вся проблема-то как раз в том, что не хотелось заморачиваться с самим боем... чар прекрасно ложит элема сам, просто скрипт на паузу и все. Но ждать пока здоровье само собой восстановится после боя - долго. Вот и хотел соптимизировать. Всем спасибо за идеи.
Тут всегда 0 независимо от уровня здоровья элема. Причем серийник определяется правильно, проверял. Какие есть еще варианты в скрипте получить здоровье другого персонажа?
Включен. На самом деле, если Track world items выключен, то и сериал элема не получается взять. А сериал берется. Единственное, что мне приходит в голову - я использую версию 312.19 (перейти на 4х мешает step number failure, хотя может у меня ее и не будет, не проверял, но шард на UNCP)... Может можно где-то взять предыдущую версию инжи? Та, которая без step number failure? Мне бинды на колесо мыши на хрен не нужны...