killing df with nature furies...
note, that u r not allowed to kill df afk.
how to use? like this YouTube - Ultima Online - UODreams - killing DF afk?
setuping script
set %fc 4 ;faster casting
set %fcr 3 ;faster cast recovery. don't write 6 here to avoid going furies in wrong location.
set %lmc 25 ; lowermanacost
set %TurnOnKey f11 ; turn on script
set %TurnOffKey f2 ;turn off script
set %autoheal #true ; #true for automagicaly casting heal/cure if u have 10 hp less from maximum or poisoned. #false if u don't need it.
note, that u r not allowed to kill df afk.
how to use? like this YouTube - Ultima Online - UODreams - killing DF afk?
setuping script
set %fc 4 ;faster casting
set %fcr 3 ;faster cast recovery. don't write 6 here to avoid going furies in wrong location.
set %lmc 25 ; lowermanacost
set %TurnOnKey f11 ; turn on script
set %TurnOffKey f2 ;turn off script
set %autoheal #true ; #true for automagicaly casting heal/cure if u have 10 hp less from maximum or poisoned. #false if u don't need it.
codice:
script: DF Solo Simple
author: Felix
ver.: 1.0
SETUP
set %fc 4 ;faster casting
set %fcr 3 ;faster cast recovery
set %lmc 25 ; lowermanacost
set %TurnOnKey f11
set %TurnOffKey f2
set %wordDelay 500 ; increase this value if client lags
set %autoheal #true ; automaticaly cast heal/cure
set #lpc 1000
gosub CheckName
tile init
set %active #false
set %nextcast #systime
set %furycasttime 1700 - %FC * 180
set %waittime 1500 - %FCR * 250
set %furymanacost 24 * ( 100 - %LMC ) / 100
while #true
{
onhotkey %TurnOnKey
set %active #true
onhotkey %TurnOffKey
set %active #false
if %active && %autoheal = #true && ( ( #hits < ( #maxhits - 10 ) ) || c in #charstatus )
gosub heal
else
{
if %active && #followers < 5 && #systime >= %nextcast && #mana > %furymanacost
gosub summonfury charpos
}
}
sub summonfury
set %furydisturbed500 #systime + 500
if #FOLLOWERS < 5 && #mana >= %furymanacost && #systime >= %nextcast && A notin #charstatus
{
set %param %1
if %param = direction
{
gosub GetTargetForFuryDirection
if #result = #false
return
}
set %furyreminder #true
set %turnofffuryreminder #systime + 60000
set %firstfuryremind #true
set %nextremindfury #systime
set %FuryCasted4000 #systime + 4000
set %jindex2 #jindex + 1
event macro 15 606
set %lastspell fury
set %finishingreading #systime + %furycasttime + 1350
set %waitforfurycursor #systime - 300 + %furycasttime
set %finishwaitforfury #systime + %wordDelay
set #ltargetkind 2
set %furyread #false
set %paralread #false
set %furydisturbed500 0
set %q 0
while #systime < %finishingreading
{
set %nextjinedxend2 #jindex
if %jindex2 <= %nextjinedxend2
{
set %q %q + 1
for %ji2 %jindex2 %nextjinedxend2
{
scanjournal %ji2
if %charname , : , _Rauvvrae in #journal
{
set %furyread #true
}
if Insufficient_mana_for_this_spell in #journal
{
set %paralread #true
break
}
if ( You_cannot_move in #journal || disturbed IN #journal || recovered IN #journal ) && : notin #journal
{
set %paralread #true
break
}
}
set %jindex2 %nextjinedxend2 + 1
}
if #systime > %finishwaitforfury
gosub TurnHotkeys
if ( #systime > %finishwaitforfury && %furyread = #false ) || %paralread
{
set %furydisturbed500 #systime + 500
;pause
break
}
if #targcurs = 1 && #systime >= %waitforfurycursor
break
}
if %paralread
return
if %param = charpos
gosub targetground
if %param = direction
gosub safeTargGround %lastGoodXtile %lastGoodYtile #charposz
if %param = WestEast
GOSUB targetfuryWestEast
set %nextcast #systime + %waittime
set %nexttargcurs #systime + 500
set %nexttargkind 2
;finditem #enemyid G
; if #findkind <> -1 && #finddist > 1 && %followon <> #true
; event exmsg #charid 0 30 mob isn't close
}
return
sub targetground
set %mody #charposy - 7
gosub safeTargGround #charposx %mody #charposz
return
sub safeTargGround
set %ltargetkind #ltargetkind
set %LTARGETX #LTARGETX
set %LTARGETy #LTARGETy
set %LTARGETz #LTARGETz
set %SafeTargetAgain #true
set %SafeEndLoop #systime + 500
while %SafeTargetAgain && #systime < %SafeEndLoop
{
set #LTARGETX %1
set #LTARGETy %2
set #LTARGETz %3
set #ltargetkind 2
event macro 22 0
set %SafeTargetAgain #false
sleep 5
if #targcurs = 1
set %SafeTargetAgain #true
}
set #ltargetkind %ltargetkind
set #LTARGETX %LTARGETX
set #LTARGETy %LTARGETy
set #LTARGETz %LTARGETz
return
sub CheckName
str len #charname
set %strlen #strres
set %charname #charname
for %i 1 %strlen
{
str left %charname %i
if #spc in #strres
{
str del %charname %i 1
set %charname #strres
str ins %charname _ %i
set %charname #strres
}
}
return
sub heal
if C in #CHARSTATUS
{
event macro 15 10
gosub waitforcurs 300 2500
if #targcurs = 1
event macro 23 0
}
else
{
if #hits < #maxhits
{
event macro 15 3
gosub waitforcurs 400 3000
if #targcurs = 1
event macro 23 0
set %again #hits < #maxhits
}
}
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





Commenta