Code: Select all
; explosion on last target
; Hotkeys- Add new hotkey- Command ,exec exp
sub exp()
var i,k
uo.set('blocktargets', 1) ; выключаем отображение таргетов клиента
uo.deletejournal()
uo.useobject('0x74D73B0C') ;explosion potion (,info)
wait(100)
if uo.injournal("Select a target") then ; проверка
wait(2000) ; 2,7sec ; время до того, как кинуть банку
uo.target(0x00000004, 'lasttarget') ; вот тут скорее всего проблема
wait(100)
uo.set('blocktargets', 0) ; отблочиваем таргеты
wait(17000)
for i = 0 to 10 ; с этим отсчетом проблем нет
k=10-i
uo.print(str(k)) ; ots4et
wait(1000)
next
end if
uo.set('blocktargets', 0) ; поставит таргеты на место
end sub
Скрипт, собственно, юзает экспоужен бутылку, ждет определенное время и кидает ее в супостата. И все бы ничего, если бы скрипт не имел две пренепреятнейшие особенности, иногда вместо исполнения своих обязанностей скрипт или пишет You can't see that! (стоя напротив цели) в то время как кидается target(), либо, в крайнем случае, пишет Warning! Error in command после чего успешно взрывает владельца, при этом слайд эффектом идет заедание таргета, и приходится писать ,info и на чем- нибудь щелкать, чтобы эффект данный прошел.
Проблема судя по всему в uo.target(). Lasttargetkey 0x00000004 получен с помощью команды 0x00000004 uo.print(uo.getserial('lasttarget')).
Также хочу заметить, что от замены 'lasttarget' на 'laststatus' ничего не меняется.
В итоге мне хотелось бы узнать, что необходимо исправить в скрипте, чтобы он вел себя более вменяемо.