casting wall of stone on hotkey "ALT + R" between PG and last uo-clent target.
codice:
;---------Setup------------
set %HotKey r ; hotkey to cast fireball/arrow
set %HotkeyMod alt ; hotkey modifier alt/shift or nothing
;--------------------------
event SysMessage don't bother me 1.0
event SysMessage exceptionally crafted by Sledge Hammer
set #lpc 5000
while #true
{
sleep 1
onhotkey %HotKey %HotkeyMod
gosub SafeButtWall #ltargetid
}
sub SafeButtWall
finditem %1 G
if #findkind <> -1
set %mob #findid
if %mob <> #false
{
event macro 15 23
gosub waitforcurs 1500
if #targcurs = 1
{
finditem %mob G
if #findkind <> -1
{
set %mody 0
set %modx 0
if #findx > #charposx
set %modx 1
else
{
if #findx < #charposx
set %modx -1
else
set %modx 0
}
if #findy > #charposy
set %mody 1
else
{
if #findy < #charposy
set %mody -1
else
set %mody 0
}
if %mody <> 0 && %modx <> 0
{
set %dx10 ABS ( #findx - #charposx )
set %dy10 ABS ( #findy - #charposy )
if ( %dx10 * 10 ) > ( %dy10 * 15 )
set %mody 0
else
{
if ( %dy10 * 10 ) > ( %dx10 * 15 )
set %modx 0
}
}
set %gatex #charposx + %modx
set %gatey #charposy + %mody
set #ltargetkind 2
set #LTARGETX %gatex
set #LTARGETY %gatey
set #LTARGETZ #charposz
event macro 22 0
}
}
}
return
sub waitforcurs
set %param 150
set %param2 %1
set %jindex2 #jindex + 1
set %waitforcursor #systime + %param
set %finishwaitforcursor #systime + %param2
set %paralread #false
while #systime < %finishwaitforcursor
{
set %nextjinedxend2 #jindex
if %jindex2 <= %nextjinedxend2
{
for %ji2 %jindex2 %nextjinedxend2
{
scanjournal %ji2
if ( casting in #journal || You_cannot_move in #journal || disturbed IN #journal || recovered IN #journal || reagents IN #journal || mana IN #journal ) && : notin #journal
{
set %paralread #true
break
}
}
set %jindex2 %nextjinedxend2 + 1
}
if #systime > %finishwaitforcursor || %paralread
break
if #targcurs = 1 && #systime >= %waitforcursor
break
sleep 10
}
if %paralread
return #false
if #targcurs = 1
return #true
return #false
