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