Antideath

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Antideath

Post by Gromiz »

помогите дополнить скрипт проверкой?

второй день не могу дополнить скрипт проверкой, чтобы при появлении на экране любого существа он пытался уйти в хайд и останавливал скрипт.

пряталку методом тыка сделал, но только по окончании рубки

по аналогии с другими проверка делал, чере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
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Antideath

Post by Mirage »

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
   ToHide() ; <<<<<-----
    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

Вот так будет достаточно. Или ищи более новый вариант данной рубилки :lol: Их есть тут.
Gromiz
Posts: 444
Joined: 2005-02-08 18:39:50
Location: Moscow

Re: Antideath

Post by Gromiz »

в хайде рубить нельзя, чар сразу показывается
в этом и вся загвоздка (
Post Reply