второй день не могу дополнить скрипт проверкой, чтобы при появлении на экране любого существа он пытался уйти в хайд и останавливал скрипт.
пряталку методом тыка сделал, но только по окончании рубки
по аналогии с другими проверка делал, череp if уо.журнал(you see:), но эффекта 0
Code: Select all
sub Lumber()
var X, Y, MaxRange = 3, MaxVes = 625, k = 0
for Y = -MaxRange to MaxRange
for X = -MaxRange to MaxRange
if Tree(UO.GetX()+X, UO.GetY()+Y) then
repeat
UO.Warmode(0)
wait(100)
UO.WaitTargetTile(Tree(UO.GetX()+X, UO.GetY()+Y), UO.GetX()+X, UO.GetY()+Y, UO.GetZ())
;********************************
; Auto Tools
if UO.Count(0x0F43) || UO.Count(0x0F47) then
if UO.Count(0x0F43) then
UO.UseType(0x0F43); <-- Топор
else
UO.UseType(0x0F47); <-- Топор
endif
else
UO.Print('Gde TOPOR??!')
return
endif
uo.DeleteJournal()
;********************************
k=k+1
repeat
wait(100)
until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|0xA311|0xA312|Вы положили|nothing|You put|You Hatchet|Вы ударили по дереву|You hack at the tree|Тут нечего рубить|no logs|Вы не можете до этого достать|You can|reach this|Дерево слишком далеко|That is too far away|do much|Это кажется свободным для вашего удара|It appears immune to your blow|атакует")
if k>20 then
UO.Print('4to-to krepkoe popalos!')
ToHide()
UO.Print("STOP")
uo.playwav('c:\warning.wav')
return 0
endif
If UO.Weight > MaxVes Then
UO.Print('Peregryzka!')
ToHide()
UO.Print("STOP")
uo.playwav('c:\warning.wav')
return 0
endif
until UO.InJournal("0xA20D|0xA2DE|0xA2E7|0xA308|0xA309|0xA30D|You see:|Тут нечего рубить|nothing|no logs|You can|You Hatchet|Вы не можете до этого достать|Дерево слишком далеко|too far away|свободным для вашего удара")
endif
next
next
ToHide()
UO.Print("STOP")
uo.playwav('c:\warning.wav')
return 0
end sub
Sub Tree(X,Y)
var i
DIM R[34]
R[1] = 3274;
R[2] = 3275;
R[3] = 3276;
R[4] = 3277;
R[5] = 3280;
R[6] = 3283;
R[7] = 3286;
R[8] = 3288;
R[9] = 3290;
R[10] = 3293;
R[11] = 3296;
R[12] = 3299;
R[13] = 3302;
R[14] = 3320;
R[15] = 3323;
R[16] = 3326;
R[17] = 3329;
R[18] = 3393;
R[19] = 3394;
R[20] = 3395;
R[21] = 3396;
R[22] = 3415;
R[23] = 3416;
R[24] = 3417;
R[25] = 3418;
R[26] = 3419;
R[27] = 3438;
R[28] = 3439;
R[29] = 3440;
R[30] = 3441;
R[31] = 3442;
R[32] = 3460;
R[33] = 3461;
R[34] = 3462;
for i = 1 to 34
if uo.privategettile( x, y, -1, R[i], R[i]) then
return R[i]
endif
next
return false
end sub
sub ToHide()
while not uo.Hidden()
uo.Print('Пытаемся уйти в хайд...')
uo.DeleteJournal()
uo.Exec('warmode 0')
uo.UseSkill('Stealth')
wait(4100)
wend
wait(100)
end sub