Initevents
FindItem NMH C
set %maxhits 140
set %sword #FINDID
set %backpack
set %mw 400
set %tmpregs NFF_FPE
set %cutreg CPE
set %lopata TWF
set %homex
set %homey
set %cntid
set %xstart
set %ystart
set %xend
set %yend
set %count 100
check:
for %i %xstart %xend
{
for %j %ystart %yend
{
gosub farmer
}
msg ,usetype HND $
}
endcycle:
move %xstart %ystart 0
gosub wait_
set %iddfk 0
goto check sub farmer
if %iddfk <> 1
{
finditem NFF C_ , %backpack
if #findkind = -1
{
gosub get1 NFF 15 ;макрос берёт с сундука хлопок(здесь его кол-во)
}
{
finditem ZLF C_ , %backpack
if #findkind = -1
{
gosub get ZLF 20 ;макрос берёт с сундука бинты(здесь его кол-во)
}
}
finditem TWF C_ , %backpack
{
if #findkind = -1
gosub get %lopata 1
}
finditem HND C_ , %backpack
{
if #findkind = -1
gosub get HND 3 ;кол-во хавки, которую макрос берёт,
}
move %i %j 0
finditem CPE G_0
if #findkind = -1
{
finditem %tmpregs G_0
if #findkind = -1
gosub s
return
}
if #findkind <> -1
{
if #weight > %mw
gosub store
finditem CPE G_0
set #LTARGETID #findid
set #LTARGETKIND 1
set #LOBJECTID %sword
event macro 17
target 1s
event macro 22 0
wait 3s
if #HITS < %maxhits
{
gosub heal
}
gosub s
}
return
sub s
if #HITS < %maxhits
{
gosub heal
}
finditem %lopata C_ , %backpack
set #LOBJECTID #findid
finditem NFF C_ , %backpack
set #LTARGETID #findid
set #LTARGETKIND 1
event macro 17 0
target 1s
event macro 22 0
set #LTARGETX #CHARPOSX
set #LTARGETY #CHARPOSY
set #LTARGETTILE 0
set #LTARGETKIND 2
set #LTARGETZ #CHARPOSZ
target 1s
event macro 22 0
wait 3s
return
sub get
move
move %homex %homey 0
set #LOBJECTID %cntid
event macro 13 21
wait 2s
event macro 17
wait 4s
finditem %1 C_ %cntid
if #findkind = -1
{
if %1 = NFF
{
set %iddfk 1
return
}
else
halt
}
msg ,grab %2 #findid $
move
move %i %j 0
return
sub store
move
move %homex %homey a
finditem NFF C_ , %backpack
set %CC #findcnt - 100
msg ,moveitem #findid %cc %cntid $
wait 1s
move
move %i %j 0
return
sub heal
msg 'pc heal self $
wait 8s
finditem ZLF C_ %backpack
if #findkind = -1
{
gosub farmer
}
if #HITS < %maxhits
{
gosub heal
if #HITS > %maxhits
{
gosub s
}
}
return
sub get1
move %homex %homey 0
set #LOBJECTID %cntid
event macro 13 21
wait 2s
event macro 17
wait 4s
finditem %1 C_ %cntid
if #findkind = -1
{
if %1 = NFF
{
set %iddfk 1
return
}
else
halt
}
finditem NFF #findid C_ , %cntid
msg ,grab %2 #findid $
wait 3s
move %i %j 0
return