Code:
sub healingother()
repeat
while not uo.dead()
wait(200)
uo.UseType('0x0E21','0x0000')
uo.deletejournal()
uo.waittargetobject('0x00008E6E')
wait(1000)
repeat
until uo.injournal('put') or uo.injournal('fully')
wait(1000)
uo.print('3')
wait(1000)
uo.print('2')
wait(1000)
uo.print('1')
wait(1600)
wend
end if
end if
end sub
1. Для чего repeat и 2 ифа в конце?
2.
Code:
uo.UseType('0x0E21','0x0000')
uo.deletejournal()
uo.waittargetobject('0x00008E6E') Ловушка на прицел ставится до действия.
Code:
uo.deletejournal()
uo.waittargetobject('0x00008E6E')
uo.UseType('0x0E21','0x0000')
3.
Code:
repeat
until uo.injournal('put') or uo.injournal('fully')
Лагает из-за того что пока ждёт сообщений выполняет проверку на их наличие в журнале с минимально возможной задержкой что и приводит к таким лагам. wait(100) внутри цикла будет достаточно + используй динамическую задержку
Code:
var k
k=0
repeat
k=k+1
wait(100)
until uo.injournal('put') or uo.injournal('fully') || k>100
тогда в случае того что если сообщения и не появятся то как только k достигнет значения =100, он выйдет из цикла
4. Используй табуляцию и учись правильно программировать- это будет удобно и для тебя и для других. Отступы после условных операторов и циклов на 1-4 пробела от первой буквы оператора(if,repeat,while,for) и когда закрываешь (end if,until,wend,next) то возвращаешься на такое же кол-во пробелов чтоб скрипт был более читабельным
Пример:
Code:
repeat
If Then
If Then
If Then
If Then
Endif
Endif
Endif
Endif
If Then
If Then
Endif
If Then
Endif
Endif
until