set %weapon POH ; wepon type KTF=sword; TSF=dagger
set %armor LSH_HSH_MSH_OSH_NSH_ISH_CIK ; all armor on charcter
set %repairTools HHKPKMD ; ID Repair Tools
set %repairWeap 35 ; after how many killed bots repair weapon
set %repairArmor 60 ; after how many killed bots repair all armor
set %minimalHP 100 ; when to drink greater heal
set %criticalHP 80 ; when to drink invis, make campfire
set %loot DCI_POF_RZF_SJG_CUD_IJG_HSF_RVH_FZH_NZH_UJG_FWL_GEJ
set %protection #true
set %minimalTerathansHits 10 ; [exemple: 200 = 100% of hp; 100 = 50% of hp ]
; ****************************************************************
set %bW 0
set %bA 0
set %killed 0
set %looted 0
set %st 0
set %h 0
set %lo 0
set %ignore #false
set #sysmsgcol 64
namespace global looting
set !lootProcess #false
msg $
moving:
set %q 1
move 5490 675 0
gosub scan
move 5490 661 0
gosub scan
move 5501 661 0
gosub scan
move 5508 661 0
gosub scan
set %q 2
move 5508 661 0
gosub scan
move 5501 661 0
gosub scan
move 5490 661 0
gosub scan
move 5484 668 0
gosub scan
move 5465 668 0
gosub scan
move 5465 675 0
move 5447 675 0
move 5427 676 0
gosub scan
move 5416 667 0
gosub scan
move 5416 667 0
gosub scan
move 5407 661 0
gosub scan
move 5395 662 0
gosub scan
set %q 3
move 5395 662 0
gosub scan
move 5407 661 0
gosub scan
move 5416 667 0
gosub scan
move 5416 667 0
gosub scan
move 5415 690 0
gosub scan
move 5403 691 0
gosub scan
move 5403 699 0 ;15
gosub scan
move 5403 699 0 ;15 -
gosub scan
move 5393 700 0
gosub scan
set %q 4
move 5393 700 0
move 5403 699 0 ;15
move 5403 699 0 ;15
move 5403 691 0
move 5415 690 0
move 5420 695 0
move 5420 703 0 ;15
move 5417 713 0 ;15
move 5417 722 0 ;15
move 5408 723 0 ;15
gosub scan
set %q 5
move 5408 723 0 ;15
move 5417 722 0 ;15
move 5419 722 0 ;15
gosub scan
set %q 6
move 5419 726 0 ;15
move 5419 735 0 ;5
move 5419 747 0 ;5
move 5433 747 0 ;5
gosub scan
set %q
move 5433 747 0 ;5
move 5440 747 0 ;5
move 5440 737 0 ;5
move 5442 734 0 ;5
move 5442 726 0 ;15
move 5442 716 0 ;15
move 5455 716 0 ;15
move 5461 720 0 ;15
move 5461 730 0 ;5
move 5461 738 0 ;5
move 5471 739 0 ;5
gosub scan
set %q 7
move 5471 739 0 ;5
move 5461 738 0 ;5
move 5461 730 0 ;5
move 5461 720 0 ;15
move 5455 716 0 ;15
move 5459 702 0 ;15
gosub scan
set %q 8
move 5459 702 0 ;15
move 5459 716 0 ;15
move 5461 720 0 ;15
move 5471 722 0 ;15
move 5481 722 0 ;15
move 5490 722 0 ;15
move 5490 732 0 ;5
move 5490 744 0 ;5
move 5502 749 0 ;5
gosub scan
set %q 9
move 5502 749 0 ;5
move 5507 744 0 ;5
move 5507 734 0 ;5
move 5505 732 0 ;15
gosub scan
set %q 10
move 5505 732 0 ;15
move 5508 715 0 ;15
move 5508 700 0 ;15
move 5505 700 0 ;15
move 5505 693 0 ;20
move 5494 693 0 ;20
move 5488 693 0 ;20
move 5488 677 0 ;20
goto moving
sub scan
ignoreitem reset 1
set %d 0
gosub find
return
sub find
repeat
{
set %d %d + 2
finditem XE_IE_LE_MD_UD_QD_VC_AD_AE_HE_ED_OE_FE G_ , %d
if #findcnt >= 1
gosub checking
}
until %d > 14
return
sub checking
gosub where
if %ignore
{
set %ignore #false
return
}
set %x #charposx
set %y #charposy
set %bot #findid
if %protection
{
set #ltargetid %bot
event macro 27 0
set %lag #scnt + 4
while %lag > #scnt && #enemyid <> %bot
wait 1
while #enemyhits = 4 && %lag > #scnt
wait 1
while #enemyhits < 400 && #enemyhits > 200 && %lag > #scnt
wait 1
event sysmessage #enemyhits
if #scnt >= %lag || #enemyhits < %minimalTerathansHits
{
ignoreitem #findid 1
return
}
}
gosub moveToMob
gosub kill
repeat
{
event pathfind %x %y #charposz 1s
wait 1s
move %x %y 0 1s
gosub hp
}
until #charposx = %x && #charposy = %y
set %d 0
return
sub moveToMob
repeat
{
finditem %bot G
event pathfind #findx #findy #findz 1s
wait 20
gosub hp
gosub where
}
until #finddist < 2 || #findcnt = 0
set #ltargetid %bot
event macro 27 0
return
sub kill
set #ltargetid %bot
set #lobjectid %bot
event macro 27 0
nextcpos 0 0
repeat
{
finditem %bot G
event pathfind #findx #findy #findz
gosub hp
wait 10
if %lo < #scnt
{
event macro 17 0
set %lo #scnt + 4
}
}
until #findcnt = 0
gosub loot
return
sub hp
if #hits =< %minimalHP && %h < #scnt
{
msg $.drink heal$
wait 10
msg $.userestoration$
set %h #scnt + 3
}
if #hits =< %criticalHP
{
event macro 6 0
event macro 6 0
msg $.drink invis$
event macro 6 0
event macro 6 0
wait 10
msg $.camp$
while #hits < #maxhits && H in #charstatus
wait 1
set #ltargetid #findid
event macro 27 0
}
if #stamina < 5 && %st < #scnt
{
msg .drink refresh$
set %st #scnt + 5
}
return
sub loot
event macro 6 0
event macro 6 0
event macro 13 21
set %lootOverTime #scnt + 15
finditem YFM G_3
if #findcnt >= 1
{
set %body #findid
set #lobjectid %body
event macro 17 0
if for_looting in #sysmsg
{
set %killed %killed + 1
event sysmessage %killed UBLODKOV UBITO, %looted PIDAROV SLUTANO.
return
}
while #contkind <> ASEB && #contsize <> 144_212 && %lootOverTime > #scnt
wait 1
wait 25
if %lootOverTime <= #scnt
{
set %killed %killed + 1
event sysmessage %killed UBLODKOV UBITO, %looted PIDAROV SLUTANO.
return
}
repeat
{
finditem %loot C_ , %body
if #findcnt >= 1 && ! !lootProcess
{
set !lootProcess #true
exevent drag #findid #findstack
exevent dropc #backpackid
wait 40
set !lootProcess #false
}
}
until #findcnt = 0 || %lootOverTime < #scnt
set %looted %looted + 1
}
ignoreitem %body 2
set %killed %killed + 1
event sysmessage %killed UBLUDDKOV UBITO, %looted PIDAROV SLUTANO.
set %bW %bW + 1
set %bA %bA + 1
if %bW = %repairWeap || %bA = %repairArmor
gosub repair
return
sub repair
event macro 6 0
msg .drink invis$
event macro 6 0
event exmsg #charid 3 64 repairing..
if %bW = %repairWeap
{
gosub take&repair %repairTools %weapon
set %bW 0
}
if %bA = %repairArmor
{
gosub take&repair %repairTools %armor
set %bA 0
}
return
sub take&repair
if %bW = %repairWeap
{
repeat
{
finditem %2 C_ , #charid
exevent drag #findid #findstack
exevent dropc #backpackid
wait 20
finditem %2 C
}
until #findbagid = #backpackid
}
repeat
{
finditem %2 C_ , #charid
exevent drag #findid #findstack
exevent dropc #backpackid
wait 20
finditem %2 C_ , #charid
}
until #findcnt = 0
repeat
{
finditem %2 C_ , #backpackid
_repairing:
set #lobjectid %1
set #ltargetid #findid
set #ltargetkind 1
set %lag #scnt + 10
event macro 17 0
target
while #targcurs <> 1 && #scnt < %lag
wait 1
event macro 22 0
if #scnt >= %lag
goto _repairing
wait 10
if #findtype = CIK
ignoreitem #findid 1
finditem #findid
set #lobjectid #findid
event macro 17 0
wait 20
finditem %2 C_ , #backpackid
}
until #findcnt = 0
ignoreitem reset 1
msg .arm$
wait 10
msg .arm$
return
sub ignore
set %ignore #true
ignoreitem #findid 1
return
despis