В общем проблема в следующем. В скрипте на ламбер ставлю координату около дерева как положено, из статуса изи, и координату дерева из #LTARGETTILE.
Но когда он подходит к дереву и пробует рубить в клиенте пишет it appears immune to your blow.
Пробовал ставить несколько координат деревьев, эффект тот же - подбегает к дереву, пробует рубить, пишет вот эту хрень и бежит к следующему, и так все деревья. Кто поможет разобраться в чем проблема - прошу помогите.
set %gameClass Cleric ; Cleric or Archer
set %maxWeight 500 ; Max ves
set %box UGFNKMD ; ID korobki, gde sbrasivatj rudu
set %foodCont UGFNKMD ; ID korobki, gde stoit zapasi moloko i bekona
set %xCoord 803 ; X koordinata okolo boxa
set %yCoord 1979 ; Y koordinata okolo boxa
set %dropAspen #true ; #true - sbrasivajet Aspen logi , #false - net
set %dropWillow #true ; #true - sbrasivajet Willow logi , #false - net
set %dropCedarMapleNoblefire #true ; #true sbrasivajet etie logi, #false - net
set %dropCherryEcalyptus #true ; #true sbrasivajet etie logi, #false - net
set %skillItemChange #true ; #true - menjajet skill shmotki, #false - net
set %recall #false ; #true - letajet s runebook, #false - begut peshkom
; Do Not Set These Items If %skillItemChange #false
set %skillRobe DARTJMD ; Skill Roba (ID)
set %skillCloak XWQTJMD ; Skill Cloack (ID)
set %skillMask SCRTJMD ; Skill Mask (ID)
set %simpleRobe BCYBMMD ; Prostaja Roba (ID)
set %simpleCloak RSOBMMD ; Prostoj cloack (ID)
set %simpleMask JACSLMD ; Helm (TYPE/ID)
; Etix mozhno ne menjatj, esli %recall #false
set %runebookID NDWXJMD ; ID runebooka
set %runeNumberToHome 7 ; Nr runi na dom
set %runeNumberToWood 10 ; Nr runi na les
set %amountRecalls 10 ; Skolko recallov vzjatj, kogda ix netu
; special variables for Archer (tolka dlja archera):
set %camp #spc ; #spc - the best camp, heal - healing campifre +5
set %minKidlings 20 ; minimalnoe kolichestvo kidlov v sumke
set %amountKidlings 40 ; skolko kidlov vzjatj, kogda ix netu
set %minArrows 300 ; minimalnoe kolichestvo strel v sumke
set %amountArrows 300 ; skolko strel vzjatj, kogda ix netu
; special variables for Cleric(tolko dlja klerika):
set %Weapon VOH ; oruzhie
set %Shield OIK ; shild
set %item ZLK_POF_RZF_SJG_CUD_IJG_HSF_RVH_FZH_NZH_UJG_GEJ
set %loot POF_RZF_SJG_CUD_IJG_HSF_RVH_FZH_NZH_UJG_FWL_DCI_GEJ
if %recall
{
gosub Instalyze runeNumberToHome 1
gosub Instalyze runeNumberToWood 2
}
if %dropAspen
set %aspenCol 973
if %dropWillow
set %willowCol 0
if %dropCedarMapleNoblefire 3
set %cedarCol 437
set %mapleCol 1233
set %noblefireCol 153
if %dropCherryEcalyptus 2
set %cherryCol 38
set %ecalyptusCol 81
set %skill %skillRobe , _ , %skillCloak , _ , %skillMask
set %k 0
set %lastK 0
start:
GOSUB LJING 4429 1239 3302 0 ;koordinati suda
goto start
sub ljing
set %k %k + 1
gosub ghost
gosub checkHP
gosub reaper
gosub checkWeight
move %1 %2 1
finditem FSF C
set #lobjectid #findid
set #ltargetx %1
set #ltargety %2
set #ltargettile %3
set #ltargetz %4
set #ltargetkind 3
event macro 17 0
target 10s
event macro 22 0
wait 7
set %overtime #scnt + 55
gosub scan
return
sub checkWeight
if #weight > %maxWeight
{
if ! %dropAspen && ! %dropWillow && ! %dropCherryEcalyptus && ! %dropCedarMapleNoblefire
{
if %recall
gosub port
if ! %recall
gosub moveItems
}
if %dropAspen || %dropWillow || %dropCedarMapleNoblefire || %dropCherryEcalyptus
{
gosub dropTrashLogs
return
}
}
return
sub scan
scan:
scanjournal 1
if hungry in #sysmsg
{
gosub eat
return
}
gosub reaper
if ( ( you_can't_reach_this in #sysmsg ) || ( THERE_IS_NOTHING_HERE_TO_CHOP in #sysmsg )
+ || ( use_that_in in #journal ) || ( It_appears_immune_to_your_blow in #sysmsg ) )
return
gosub checkHP
if #scnt >= %overtime
return
goto scan
return
sub arm
if %gameClass = Cleric
{
repeat
{
finditem %Weapon c_ , #BackpackId
set #lobjectID #findid
event macro 17 0
wait 12
finditem %Weapon c_ , #BackpackId
}
until #findcnt = 0
repeat
{
finditem %Shield c_ , #BackpackId
set #lobjectID #findid
event macro 17 0
wait 12
finditem %Shield c_ , #BackpackId
}
until #findcnt = 0
}
if %gameClass = Archer
{
msg $.arm bow$
wait 5
}
return
sub port
set %k %k + 1
gosub arm
gosub checkHP
gosub reaper
if G in #charstatus
event macro 6 0
event macro 6 0
set %oldPosX #charposx
set %oldPosY #charposy
gosub openRunebook
repeat
{
click %x1 %y1
wait 20
}
until #contname <> generic_gump && #contsize <> 577_426
if %gameClass = Cleric
event macro 13 21
if %gameClass = Archer
event macro 13 47
gosub changeClothesTo %simpleMask %simpleRobe %simpleCloak
while #charposx = %oldPosX && #charposy = %oldPosY
wait 10
gosub moveItems
gosub back
return
sub moveItems
ignoreitem reset 1
ignoreitem %skill 1
gosub runToBox
if %gameClass = Cleric
event macro 13 21
finditem %box G_3
if #findcnt = 0
{
event Sysmessage Box Not Found!
pause
}
repeat
{
finditem %item c_ , #backpackid
if #findcnt >= 1
{
if world_save_has_been in #sysmsg
wait 15s
exevent Drag #Findid #findstack
exevent Dropc %box
wait 40
}
}
until #findcnt = 0
ignoreitem reset 1
if %gameClass = Archer
gosub rescourses
if %recall
gosub recalls
gosub food
return
sub back
gosub checkHP
set %oldPosX #charposx
set %oldPosY #charposy
for %i 1 2
{
gosub openRunebook
click 261 215 ; Recharge runebook 2x
wait 20
}
gosub openRunebook
repeat
{
click %x2 %y2
wait 20
}
until #contname <> generic_gump && #contsize <> 577_426
event macro 13 21
wait 2s
gosub changeClothesTo %skillMask %skillRobe %skillCloak
while #charposx = %oldPosX && #charposy = %oldPosY
wait 10
return
sub runToBox
repeat
{
move %xCoord %yCoord 0
wait 10
}
until #charposx = %xCoord && #charposy = %yCoord
return
sub checkHP
if #hits < #maxhits
{
if %skillItemChange
gosub changeClothesTo %simpleMask %simpleRobe %simpleCloak
gosub arm
gosub follow&kill
if %skillItemChange
gosub changeClothesTo %skillMask %skillRobe %skillCloak
}
return
sub openRunebook
finditem %runebookID C_ , #backpackid
if #findcnt = 0
{
event sysmessage Runebook not found!
pause
}
set #lobjectid #findid
event macro 17 0
while #contname <> generic_gump && #contsize <> 577_426
wait 1
return
sub ghost
if #charghost = YES || %0 = 1
}
return
sub changeClothesTo
repeat
{
finditem %1 C_ , #backpackid
set #lobjectID #findid
event macro 17 0
wait 12
finditem %1 C_ , #backpackid
}
until #findcnt = 0
repeat
{
finditem %2 C_ , #backpackid
set #lobjectID #findid
event macro 17 0
wait 12
finditem %2 C_ , #backpackid
}
until #findcnt = 0
repeat
{
Finditem %3 C_ , #backpackid
set #lobjectID #findid
event macro 17 0
wait 12
finditem %3 C_ , #backpackid
}
until #findcnt = 0
return
sub follow&kill
set %charX #charposx
set %charY #charposy
set %charz #charposz
set %killTime #scnt + 60
if %gameClass = Cleric
{
repeat
{
finditem #enemyid
event pathfind #FINDX #FINDY #FINDZ 1 3s
wait 1s
msg $.usebandage$
wait 10
target 1s
event macro 23 0
wait 10
gosub ghost
}
until #findcnt = 0 || #scnt > %killTime
}
if %gameClass = Archer
{
repeat
{
msg .camp %camp $
wait 40
finditem #enemyid
}
until #findcnt = 0 || #scnt > %killTime
}
gosub loot
if #hits < #maxhits
gosub heal
set %time #scnt + 20
repeat
{
event pathfind %charX %charY %charz 1 3s
wait 1s
gosub ghost
if #scnt > %time
return
}
until #charposx = %charX && #charposy = %charY
return
sub heal
repeat
{
msg $.usebandage$
wait 10
target
event macro 23 0
wait 20
}
until #hits >= #maxhits
return
sub eat
finditem ZBM C
set #lobjectid #findid
event macro 17 0
wait 10
finditem GND C
set #lobjectid #findid
event macro 17 0
wait 10
event macro 17 0
wait 5s
return
sub Instalyze
if % . %1 <= 8
set %x . %2 260
else
set %x . %2 420
if % . %1 = 1 || % . %1 = 9
set %y . %2 260
if % . %1 = 2 || % . %1 = 10
set %y . %2 275
if % . %1 = 3 || % . %1 = 11
set %y . %2 290
if % . %1 = 4 || % . %1 = 12
set %y . %2 305
if % . %1 = 5 || % . %1 = 13
set %y . %2 320
if % . %1 = 6 || % . %1 = 14
set %y . %2 335
if % . %1 = 7 || % . %1 = 15
set %y . %2 350
if % . %1 = 8 || % . %1 = 16
set %y . %2 365
return
sub loot
set %lootTime #scnt + 20
finditem YFM G_4
if #findcnt >= 1
{
set #lobjectid #findid
set %body #findid
event macro 17 0
while #contkind <> ASEB && #contsize <> 144_212 && %lootTime > #scnt
wait 1
wait 10
repeat
{
finditem %loot C_ , %body
if #findcnt = 0 || #scnt > %lootTime
{
ignoreitem %body 2
return
}
exevent drag #findid #findstack
exevent dropc #backpackid
wait 40
}
until #false
}
return
sub dropTrashLogs
repeat
{
finditem ZLK C_ , #backpackid
if #findcnt = 0
{
wait 20
if #weight >= %maxweight
{
if %recall
gosub port
if ! %recall
gosub moveItems
return
}
if #weight < %maxweight
return
}
if #findcol = %willowCol || #findcol = %aspenCol
+ || #findcol = %cedarCol || #findcol = %mapleCol || #findcol = %noblefireCol
+ || #findcol = %cherryCol || #findcol = %ecalyptusCol
{
exevent drag #findid #findstack
exevent dropg #charposx #charposy #charposz
wait 65
}
ignoreitem #findid 1
}
until #false
return
sub reaper
if %lastK >= %k
gosub ghost 1
set %lastK %k
finditem JE G
if #findcnt <> 0
{
sound
gosub arm
set %charX #charposx
set %charY #charposy
set %charz #charposz
if %skillItemChange
gosub changeClothesTo %simpleMask %simpleRobe %simpleCloak
set %killTime #scnt + 60
finditem JE G
set %reaper #findid
set #ltargetid %reaper
event macro 27 0
if %gameClass = Cleric
{
repeat
{
finditem %reaper
event pathfind #FINDX #FINDY #FINDZ 1 3s
wait 1s
msg $.usebandage$
wait 10
target 1s
event macro 23 0
wait 10
gosub ghost
}
until #findcnt = 0 || #scnt > %killTime
}
if %gameClass = Archer
{
repeat
{
msg .camp %camp $
wait 40
finditem %reaper
}
until #findcnt = 0 || #scnt > %killTime
}
gosub loot
if #hits < #maxhits
gosub heal
if %skillItemChange
gosub changeClothesTo %skillMask %skillRobe %skillCloak
set %time #scnt + 20
repeat
{
event pathfind %charX %charY %charz 1 3s
wait 1s
gosub ghost
if #scnt > %time
return
}
until #charposx = %charX && #charposy = %charY
}
return
sub rescourses
finditem RWF C_ , #backpackid
if #findstack <= %minArrows
{
set #lobjectid %box
event macro 17 0
while #contid <> %box
wait 1
finditem RWF C_ , %box
exevent drag #findid %amountArrows
exevent dropc #backpackid
wait 30
}
finditem PEF C_ , #backpackid
if #findstack <= %minKidlings
{
set #lobjectid %box
event macro 17 0
while #contid <> %box
wait 1
finditem PEF C_ , %box
exevent drag #findid %amountKidlings
exevent dropc #backpackid
wait 30
}
return
sub recalls
finditem WTL C_ , #backpackid
if #findstack <= 2 || #findcnt = 0
{
set #lobjectid %box
event macro 17 0
while #contid <> %box
wait 1
finditem WTL C_ , %box
exevent drag #findid %amountRecalls
exevent dropc #backpackid
wait 30
}
return
sub food
finditem ZBM C_ , #backpackid
if #findcnt = 0
{
set #lobjectid %foodCont
event macro 17 0
while #contid <> %foodCont
wait 1
finditem ZBM C_ , %foodCont ; 1 pitcher of milk
exevent drag #findid 1
exevent dropc #backpackid
wait 30
}
finditem GND C_ , #backpackid
if #findcnt = 0
{
finditem GND C_ , %foodCont
exevent drag #findid 4 ; 4 baocn slices
exevent dropc #backpackid
wait 30
finditem ZBM C_ , %foodCont ; 1 pitcher of milk
exevent drag #findid 1
exevent dropc #backpackid
wait 30
}
return