Суть скрипта такая: кидает стрелку, затем фаербол.
Но есть проблема, если фкр не хватает, скрипт кидает подрят одну и туже магию. Как можно обойти эту проблему?
стрелка\фбол:
Код
sub fireballarrow
set %ltarget #ltargetid
set %lkind #LTARGETKIND
finditem #enemyid G_ , 10
if #findkind <> -1
{
event ExMsg #findid %Cshrift %Ccolour TARGET
if #finddist < 2
{
set #targcurs 0
event macro 15 11
gosub waitforcurs 600 2000
if #targcurs = 1
{
set #ltargetid #enemyid
set #ltargetkind 1
gosub range #enemyid 10
event macro 22
set %fireballarrow 2
}
}
else
{
if %fireballarrow = 1
{
set #targcurs 0
event macro 15 17
gosub waitforcurs 600 2200
if #targcurs = 1
{
set #ltargetid #enemyid
set #ltargetkind 1
gosub range #enemyid 10
event macro 22
}
set %fireballarrow 2
}
else
{
event macro 15 4
gosub waitforcurs 200 1700
if #targcurs = 1
{
set #ltargetid #enemyid
set #ltargetkind 1
gosub range #enemyid 10
event macro 22
}
set %fireballarrow 1
}
}
}
set #ltargetid %ltarget
set #LTARGETKIND %lkind
return
вайтинг:
Код
sub waitforcurs
set %param %1
set %param2 %2
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
;event macro 1 0 read
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
чекер дистанции:
Код
sub range
_range:
if #targCurs = 0
{
goto loop
}
FINDITEM #enemyid G
IF #FINDKIND = 1 && #FINDDIST <= %2
{
; findItem %target G
; gosub lineOfSight #charPosX #charPosY #charPosZ #findX #findY #findZ
; if #result = #true
; {
; msg asd
RETURN
}
}
if C in #charstatus
{
goto start
}
goto _range
За ранее огромное спасибо.