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