• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Modifiying Dain3 mac....any help / idea's ? (1 Viewer)

Hellnation13

New member
Joined
Mar 10, 2007
RedCents
Trying to Hardcode a Rouge into this macro.
As you can see..ToonRog is what I have added. any idea's or any one who is good at this wanna bust it out real quick for me ?

Rich (BB code):
| dain.mac
| by blitter
| Dain #1 for 3 toons

#turbo 40
#chat tell
#chat group
| #event TTNONE "You do not currently have any task replay timers."
#event DainTimer "#*#The Founding of Thurgadin#*#"
#event MONSTER "You have been assigned the task#*#"
#event ENTERING "#*#strange magical presence prevents#*#"
#event Dead "You have been slain by#*#"
#event Proceed "#*#> Ready#*#"
#event Icewell "You have entered Icewell Keep#*#"
#event CheckEQBC "#*#Names: #1# #2# #3#"
#event getnhit "#*#and lunges for your throat.#*#"
#event getnhit "#*#You resist#*#"
#event getnhit "#*#a feral cave kokiak growls and attacks you.#*#"
#event getnhit "#*#begins to cast a spell.#*#"
#event tryagain "#*#Your ability failed. Timer has been reset.#*#"
#event inbattle "#*#Your ability failed. Timer has been reset.#*#"
#event inbattle "#*#is struck by a sudden force.#*#"
#event inbattle "#*#is struck by a bold of lightning.#*#"
#event inbattle "#*#Your target resisted the#*#"
#include ninjadvloot.inc
#include spell_routines.inc
|#include dain/dainfight.inc  <made this file to modify any fight routines as i needed

Sub Main(string DGrpHeals)
/if (!${Defined[ToonCle]}) /declare ToonCle string global
/if (!${Defined[ToonPal]}) /declare ToonPal string global
/if (!${Defined[ToonBer]}) /declare ToonBer string global
/if (!${Defined[ToonRog]}) /declare ToonRog string global

/varset ToonCle ToonA
/varset ToonPal ToonB
/varset ToonBer ToonC
/varset ToonRog ToonD

| Max tries to get the Dain mission, so it wont spam 'see'
/declare MaxTries int outer 3

/declare Path[8,2,15] int outer
/declare incombat outer FALSE
/declare DeadV int outer 0
/if (!${Defined[DainNum]}) /declare DainNum int global 1
/declare TempTimer timer outer 0
/declare ToonEQBC int outer 0
/declare ContinueOn int outer 0
/declare StickTimer timer outer 0
/declare  LocX int outer
/declare LocY int outer
/declare GoAhead int outer
/declare VTimer timer outer
/declare ZoneCount int outer
/declare FailNum int outer
/declare DisplayGrpHeal int outer 1
/declare DainT int outer 0
| Grp Heal messages are ON by default
  /if (${DGrpHeals.Equal[0]}) /varset DisplayGrpHeal 0
  /bc [+w+]DAIN #1
  /bc [+w+]Make sure toons HOTKEYs are set [+x+]
  /call Init
  :mainloop
  /call GMCheck
  /varset GoAhead 0
  /bc [+u+]Main loop[+x+]
|  /t ${ToonCle} Dain Num ${DainNum}  AAXP = ${Me.AAExp} /330 XP = ${Me.Exp} /330
  /bct ${ToonCle} Dain Num ${DainNum}  AAXP = ${Me.AAExp} /330 XP = ${Me.Exp} /330
  :mainloop1
  /varset DainT 0
  /if (!${Zone.Name.Equal[The Great Divide]}) { 
    /doevents
    /tasktimer
    /doevents
    /delay 2s
    /doevents
    /delay 6s
    /doevents
    /if (${DainT}==0) /call GetMission
    /if (!${Zone.Name.Equal[The Great Divide]}) {
      /delay 30s
      /goto :mainloop1
     }
  }
  /if (!${Zone.Name.Equal[The Great Divide]}) /goto :mainloop1
  /varset DeadV 0
  | Add nearestspawnloop
  /varset VTimer 300
  /varset ZoneCount 1
  :waitforothers
  /delay 1s
  /if (${Bool[${NearestSpawn[1,PC ${ToonCle}]}]} && ${Bool[${NearestSpawn[1,PC ${ToonBer}]}]}
    && ${Bool[${NearestSpawn[1,PC ${ToonRog}]}]}) /goto :ContinueOn
  /if (${VTimer}<1) {
    /call SomeoneNotZoned
    /varset VTimer 300
    /varcalc ZoneCount ${ZoneCount}+1
  }
  /if (${ZoneCount}>3) {
    /bc tried 3 times to get him in, he likely hasn't selected a monster, so....
    /gsay Get a monster
    /delay 40s
  }
  /if (${ZoneCount}>6) {
    /bc someone still not zoning
    /end
  }
  /goto :waitforothers
:ContinueOn
|used this next line for lots of testing for each individual fight
|   /goto :move##
:move1
  /bc Every's zoned, continuing to setup
  /if (${DeadV}==0) /call Setup
  /if (${DeadV}==0) /call Move 1 1
  /call GmCheck
  /if (${DeadV}==0) /call Fight1
  /if (${DeadV}==0) /call Move 2 1
:move2
  /call GmCheck
  /if (${DeadV}==0) /call Fight2
:move3
  /if (${DeadV}==0) /call Move 3 1
:move3
  /call GmCheck
  /if (${DeadV}==0) /call Fight3
:move4
  /if (${DeadV}==0) /call Move 4 1
:move41
  /call GmCheck
  /if (${DeadV}==0) /call Rebuff 0
  /if (${DeadV}==0) /call Fight4
  /if (${DeadV}==0) /call Move 5 1
  /bct ${ToonCle} //mac healer 1 1 ${ToonPal} ${ToonCle} ${ToonBer} ${ToonRog} ${DisplayGrpHeal}
:move5
  /call GMCheck
  /if (${DeadV}==0) /call Wolves
:move6
  /if (${DeadV}==0) /call Move 6 1
  /bc lets go )
:move61
  /call GmCheck
  /if (${DeadV}==0) /call FinalFight
  /if (${DeadV}==0) /call LootUp
  /if (${DeadV}==0) /call ZoneOut
  /bc Dain Num ${DainNum}
  /goto :mainloop
/return
Sub Init
  /varset Path[1,1,1] 7
  /varset Path[1,2,1] 4
| Path 1
  /varset Path[1,1,2] -1910
  /varset Path[1,2,2] -3866
  /varset Path[1,1,3] -2471
  /varset Path[1,2,3] -2841
  /varset Path[1,1,4] -2610
  /varset Path[1,2,4] -2796
| Path 2
  /varset Path[2,2,1] 4
  /varset Path[2,1,2] -2594
  /varset Path[2,2,2] -2684
  /varset Path[2,1,3] -2678
  /varset Path[2,2,3] -2667
  /varset Path[2,1,4] -2698
  /varset Path[2,2,4] -2785
| Path 3
  /varset Path[3,2,1] 7
  /varset Path[3,1,2] -2947
  /varset Path[3,2,2] -2754
  /varset Path[3,1,3] -3266
  /varset Path[3,2,3] -2464
  /varset Path[3,1,4] -4553
  /varset Path[3,2,4] -1838
  /varset Path[3,1,5] -5411
  /varset Path[3,2,5] -910
  /varset Path[3,1,6] -5532
  /varset Path[3,2,6] -575
  /varset Path[3,1,7] -6146
  /varset Path[3,2,7] -366
| Path 4
  /varset Path[4,2,1] 3
  /varset Path[4,1,2] -3879
  /varset Path[4,2,2] 3474
  /varset Path[4,1,3] -3879
  /varset Path[4,2,3] 3474
| Path 5
  /varset Path[5,2,1] 3
  /varset Path[5,1,2] -3454
  /varset Path[5,2,2] 2340
  /varset Path[5,1,3] -1404
  /varset Path[5,2,3] 121
| Path 6
  /varset Path[6,2,1] 5
  /varset Path[6,1,2] -713
  /varset Path[6,2,2] -178
  /varset Path[6,1,3] -94
  /varset Path[6,2,3] -206
  /varset Path[6,1,4] -4
  /varset Path[6,2,4] -105
  /varset Path[6,1,5] 46
  /varset Path[6,2,5] -108
| Path 7
/varset Path[7,2,1] 3
  /varset Path[7,1,2] 37
  /varset Path[7,2,2] -114
  /varset Path[7,1,3] 52
  /varset Path[7,2,3] -135
/return


Sub Move(int PathNum, Everyone)
/declare i int inner
/declare MTimer timer inner
  /stand
  /if (${Everyone}==1) /bca //mac followpath ${PathNum} ${ToonCle}
  /varset ContinueOn 0
  /if (${Zone.ID}== 129) {
    /varset DeadV 1
    /return
  }
  /delay 1s
  | 4 mins
  /varset MTimer 2400
  /for i 2 to ${Path[${PathNum},2,1]}
     /bc [+Y+]Path : [+y+]${PathNum}  [+Y+]Point : [+y+]${i}   ${Path[${PathNum},2,1]}[+x+]
     /squelch /Moveto loc ${Path[${PathNum},1,${i}]} ${Path[${PathNum},2,${i}]}
     /if (${Zone.ID}==129) {
        /varset DeadV 1
        /return
     }
     :MoveLoop1 
     /delay 1
      /if (${Zone.ID}==129) {
        /varset DeadV 1
       /return
       }
    /if (${MTimer}<1) {
      /bc Timed out trying to get to Path ${PathNum} at Point ${i}, will try to move to next point
      /varset MTimer 2400
      /goto :Missit
    }
     /doevents
     /if (!${MoveTo.Stopped}) /goto :MoveLoop1
    :Missit
  /next i
  /bc At end of path ${PathNum} , waiting set duration for others
:waiting
  /doevents
  /delay 2s
  /doevents
 /if (${Zone.ID}==129) {
        /varset DeadV 1
        /return
  }
  /doevents
  /if (${ContinueOn}<2) /goto :waiting
  /bc [+u+]Everyone's ready[+x+]
/return

Sub ZoneOut
  /declare W1 timer inner
  /bc Zoning out
  /varcalc DainNum ${DainNum}+1
  /bca //mac followpath 7 ${ToonCle}
  /delay 14s
  /bct ${ToonBer} //mac zoneout
  /delay 20s
  /bct ${ToonCle} //mac zoneout
  /delay 20s
  /bct ${ToonRog} //mac zoneout
  /delay 5s
  /call Move 7 0 
  /delay 15s
  /face heading -20
  /delay 2s
  :S2
  /keypress FORWARD HOLD
  /varset W1 1000
  /delay 5s
  :S1
  /delay 1s
  /if (${Bool[${NearestSpawn[1,NPC Historian]}]}) {
    /bc ${Bool[${NearestSpawn[1,NPC Historian]}]}
    /goto :S3
    }
  /if (${W1}<1) /goto :S2
  /goto :S1
  :S3
  /keypress FORWARD
  /delay 2s
  /tar Dain
  /keypress FORWARD
  /delay 1s
  /stick 20
  /bc Waiting 2.5mins.....
  /delay 150s
/return

Sub Rebuff(int Conv)
   /if (${Conv}==1) /bct ${ToonCle} //tar ${ToonPal}
   /tar ${Me}
   /if (${Me.Buff[Conviction].Duration.Minutes}>60) /goto :next
   /delay 1s
   /call cast "Pure Thought" alt 
   /if (${Conv}==1) {
      /bct ${ToonCle} //keypress 4
      /delay 20s
   } else {
      /delay 12s
   }
   :next
   /tar ${ToonCle}
   /if (${Target.Buff[Conviction].Duration.Minutes}>5) /goto :next1
   /delay 1s
   /call cast "Pure Thought" alt 
   /if (${Conv}==1) {
     /bct ${ToonCle} //tar myself
     /delay 2s
     /bct ${ToonCle} //keypress 4
     /delay 20s
   }
   :next1
   /tar ${ToonBer}
   /if (${Target.Buff[Conviction].Duration.Minutes}>10) /return
   /bct ${ToonCle} //tar ${ToonBer}
   /delay 2s
   /bct ${ToonCle} //keypress 4
   /delay 20s
   /doevents
/return

Sub SetUp
:SetLoop
   /delay 2
   /if (!${Zone.Name.Equal[The Great Divide]}) /goto :SetLoop
   /bc [+u+]loading AA's[+x+]
   /delay 6s
   /keypress V
   /delay 5
   /notify AAWindow AAW_LoadButton leftmouseup
   /delay 5
   /keypress V
   /bca //mac loadaa
   /delay 2
   /call Rebuff 1
/return

Sub ManaCheck
  /bct ${ToonBer} //sit
  /sit
  /tar ${ToonCle}
  /bct ${ToonCle} //mac dainmana
  :waiting
  /call CheckForAdds 1 140
  /doevents
  /delay 30s
  /tar ${ToonCle}
  /if (${Target.CurrentMana}> 95) /return
  /goto :waiting
/return

Sub GetMission
  /declare AttemptNum int inner 1
  /declare i int inner
  /bc [+u+]Getting the Mission[+x+]
:CheckToons
  /bc checking toons.....
  /bccmd names
  /doevents
  /delay 2s
  /for i 1 to 5
    /doevents
    /delay 6
  /next i
  /if (${ToonEQBC}) /goto :connected
  /bc [+r+]3 Toons are not connected to EQBC[+x+], 30secs to fix it
  /delay 30s
  /goto :CheckToons   
:connected
  /bc all connected...
  /if (${Group.GroupSize}<3) {
    /bc One or more of the toons are not in the group, 30secs to fix it
    /delay 30s
    /goto :CheckToons
  }
:GetMissionLoop
  /if (${Zone.Name.Equal[The Great Divide]}) /return
  /if (!${Bool[${NearestSpawn[1,NPC Historian Duggan].ID}]}) {
    /bc Dain Historian is not up....will wait 15mins and try again
    /delay 15m
    /goto :GetMissionLoop
    }
  /bca //tar Dain
  /bca //mac SelectMonster ${ToonCle}
  /tar Dain
  /delay 2s
  /doevents
  /delay 5s
  /say see
  /delay 3s
  /doevents
  /delay 1s
  /doevents
  /delay 1s
  /doevents
  /if (${AttemptNum}>${MaxTries}) {
    /bc Tried ${AttemptNum} num of times, maximum tries is ${MaxTries}.....ending dain
    /endm
  }
  /varcalc AttemptNum ${AttemptNum}+1
  /goto :GetMissionLoop
/return

Sub Event_Monster
  /bc Choosing Pally
  /delay 1s
  /notify TaskTemplateSelectWnd TaskTemplateSelectListRequired listselect 1
  /delay 2
  /notify TaskTemplateSelectWnd TaskTemplateSelectListRequired leftmouse 2
  /delay 3s
  /notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup
  /delay 3s
  /keypress esc
  /keypress esc
  /delay 4s
  /tar dain
  /delay 25s
  /say ready
/return

Sub Event_TTNone
  /bc No task timer
  /call GetMission
/return

Sub Event_DainTimer
  /varset DainT 1
/return

Sub Event_Proceed
  /varcalc ContinueOn ${ContinueOn}+1
  /echo ready.
  /call CheckForAdds 0 80
/return

Sub Event_Dead
  /varset DeadV 1
  /bc ${ToonPal} is DEAD !
  /bct ${ToonCle} Failed, Num = ${FailNum}
  /bca //end
  :deadloop
  /bca //end
  /bca //moveto off
  /delay 1s
  /bca //keypress BACK
  /delay 30s
  /if (${Zone.ID}==118) /goto :deadloop
  /delay 20s
  /bc [+u+]Zoned, restarting macro[+x+]
  /mac dain
/return
Sub GMCheck
  /if (${Spawn[gm].ID} || ${Spawn[GM].ID} ) {
   /echo GM has entered the zone!
   /keypress forward
   /keypress back
   /beep
   /beep
   /beep
   :gmhere
   /waiting 30 seconds for gm to leave
   /delay 30s
   /if (!${Spawn[gm].ID}) /return
   /goto :gmhere
  }
/return
Sub Event_IceWell
  /bc [+u+]Icewell event[+x+]
  /bca //end
  /delay 5s
  /bca //end
  /bca //moveto off
  /moveto off
  /delay 20s
  /varset DeadV 1
/return
Sub LootUp
  /bca //end
  /tar corpse
  /delay 2s
  /bct ${ToonBer} //mac lootdain
  /delay 25s
  /bct ${ToonRog} //mac lootdain
  /delay 25s
  /bct ${ToonCle} //mac lootdain
  /delay 25s
  /squelch /Moveto ID
  /delay 3s
  /loot
  /delay 3s
  /call lootitem 2 Keep right
  /delay 3s
  /nomodkey /notify LootWnd LW_DoneButton leftmouseup
  /delay 5s !${Corpse.Open}
  /delay 3s
  /t ${ToonCle} Sucess ${DainNum}
  /bc exiting loot loop
/return
Sub SomeoneNotZoned
  /bca //tar dain
  /delay 1s
  /bca //moveto ID
  /delay 15s
  /bca //say ready
/return
Sub Event_CheckEQBC(Line1,ToonA,ToonB,ToonC,ToonD)
  /varset ToonEQBC 1
  /echo ${ToonC} was found -> 3rd toon.
/return

Sub Fight1
  /echo checking for adds before we pull guard!
  /varset FailNum 1
  /declare qtimer timer inner 0
  /delay 2s
  /bct ${ToonCle} //mac healer 1 0 ${ToonPal} ${ToonCle} ${ToonBer} ${ToonRog}${DisplayGrpHeal}
  /delay 2s
  /varset qtimer 850
  /tar Kromzek
  /delay 1s
  /if (${Target.Type.Equal[Corpse]} || ${Target.Distance} >250) /return
  /if (${qtimer}<1) /return
  /keypress 4
  /call cast "Stun" alt
  /bct ${ToonBer} ${ToonRog} //tar ${Target.Name}
  /call KillTarget 1
  /delay 5s
/return

Sub Fight2
  /varset incombat FALSE
  /delay 10s
  /call ManaCheck
  /echo Fight #2
  /varset FailNum 2
  /delay 2s
  /bct ${ToonCle} //mac healer 1 0 ${ToonPal} ${ToonCle} ${ToonBer} ${ToonRog} ${DisplayGrpHeal}
  /delay 2s
  /bct ${ToonBer} //mac ramp
  /delay 2s
  /bct ${ToonRog} //mac ramp
:GetAgain
  /bc [+u+]pulling[+x+]
  /squelch /Moveto loc -2765 -2610
  /delay 6s
  /tar Chief
  /if (${Int[${Target.PctHPs}]}<=0) /return
  /if (!${Target[1,NPC chief].ID}) /return
  /bct ${ToonBer} //tar ${Target.Name}
  /delay 2s
  /bct ${ToonRog} //tar ${Target.Name}  
  /delay 2s
  /call cast "Stun" alt
  /delay 5s
  /doevents
  /squelch /Moveto loc -2697 -2781
  /delay 7s
  /call KillTarget 1
  :f2
  /delay 1
  /if (${Target.Type.Equal[NPC]}) /goto :f2
  /varset incombat FALSE
/return

Sub Fight3
  /varset incombat FALSE
  /bct ${ToonCle} //tar ${ToonBer}
  /delay 1s
  /bct ${ToonCle} //keypress 8
  /delay 4s
  /bct ${ToonBer} //sit
  /delay 2s
  /bct ${ToonRog} //sit
  /call ManaCheck
  :waiting3
  /call CheckForAdds 1 150
  /doevents
  /delay 10s
  /tar ${ToonCle}
  /if (${Target.CurrentMana}> 95) /goto :contf3
  /goto :waiting3
  :contf3
  /echo Fight #3
  /varset FailNum 3
  /declare PullTimer timer inner
  /squelch /Moveto loc -6371 -487
  /tar Chief
  /if (${Int[${Target.PctHPs}]}<=0) /return
  /if (!${Target[1,NPC chief].ID}) /return
  /bct ${ToonBer} //mac runner
  /delay 4s
  /bct ${ToonRog} //mac runner
  /delay 2s
  /varset PullTimer 200
   /bct ${ToonCle} //mac healer 0 1 ${ToonPal} ${ToonCle} ${ToonBer} ${ToonRog} ${DisplayGrpHeal}
:Fight3Loop
  /delay 2
  /if (${PullTimer}<1) {
    /varset PullTimer 300
    /bct ${ToonBer} //mac runner
  }
  /if (${Target.Speed}<1) /goto :Fight3Loop
  /if (${temp1}==0) {
    /call cast "Stun" alt
    /delay 5s
    /doevents
    /squelch /Moveto loc -6090 -373
    /delay 5s
   }
  /call KillTarget 0
  /doevents
  /if (${Bool[${NearestSpawn[1,NPC chief].Name.Find[01]}]}) {
    /tar ${NearestSpawn[1,NPC chief]}
    /delay 2s
    /stick 15
    /attack on
    :f3
    /delay 1
    /if (${Target.Type.Equal[NPC]}) /goto :f3
  }
/return


Sub Fight4
  /call ManaCheck
  /echo Fight #4
  /varset FailNum 4
  /declare PullTimer timer inner
  /tar ${NearestSpawn[1,NPC chief]}
  /if (${Int[${Target.PctHPs}]}<=0) /return
  /if (!${Target[1,NPC chief].ID}) /return
  /bct ${ToonBer} //mac runner2
  /squelch /Moveto loc -4027 3562
  /delay 4s
  /tar Chief
  /varset PullTimer 200
:Fight4Loop
  /delay 2
  /if (${PullTimer}<1) {
    /varset PullTimer 300
    /bct ${ToonBer} //mac runner2
  }
  /if (${Target.Speed}<1) /goto :Fight4Loop
  /call cast "Stun" alt
  /delay 5s
  /squelch /Moveto loc -3890 3470
  :filoop2
  /delay 3
  /if (!${MoveTo.Stopped}) /goto :filoop2
  /delay 4
  /bct ${ToonCle} //mac healer 0 1 ${ToonPal} ${ToonCle} ${ToonBer} ${DisplayGrpHeal}
  /call KillTarget 0
  /if (${Bool[${NearestSpawn[1,NPC chief].Name.Find[02]}]}) {
     /tar ${NearestSpawn[1,NPC chief]}
     /delay 2
     /stick 15
     /attack on
     :f4
     /delay 1
     /if (${Target.Type.Equal[NPC]}) /goto :f4
  }
/return
 
Sub Wolves
  /varset FailNum 5
  /call ManaCheck
  /bca //squelch /Moveto loc -1416 39
  /squelch /Moveto loc -1416 39
  /delay 6s
  /bct ${ToonCle} //mac Healer 1 1 ${ToonPal} ${ToonCle} ${ToonBer} ${DisplayGrpHeal}
  /declare WolfTimer timer inner 0
:GetAnother
  /varset WolfTimer 300
  /keypress esc
  /delay 1s
  /if (!${Target.ID}) {
    /doevents
    /bc [+g+]Finding a wolf[+x+]
    /delay 2s
    /tar ${NearestSpawn[heart]}
    /delay 2s
    /if (!${Target.ID[heart]}) /return
    :w1
    /squelch /Moveto ID
    /delay 1s
    /if (${Target.PctHPs}<=0) {
      /tar corpse
      /delay 2s
      /loot
      /delay 1s
      /keypress esc
      /delay 1s
      /keypress esc
    }
    /if (${Target.Distance}<130) {
      /squelch /MoveTo off   
      /keypress DOWN
      /range
      /delay 1s
      /squelch /Moveto loc -1416 39
      /if (${Target.PctHPs}<=20) /call KillTarget 1
      :w2
      /delay 1s
      /if (!${MoveTo.Stopped}) /goto :wfw
      /goto :w2
    }
    /if (!${MoveTo.Stopped}) /goto :w1
    :wfw
    /delay 1s
    /if (${WolfTimer}<=1 && ${Target.Distance}>100) {
      /echo apperantly ${ToonPal} wasnt able to pull a wolf
      /goto :GetAnother
    }
    /if (${Target.Distance}>20) /goto :wfw
    /squelch /MoveTo ID
    /delay 1s
    /call KillTarget 1
    /if (${Target.PctHPs}<=0) {
      /tar corpse
      /delay 2s
      /loot
      /delay 1s
      /keypress esc
      /delay 1s
      /keypress esc
    }
  /if (!${Target.ID[heart]}) /got :GetAnother 
  }
  /if (${Zone.ID}==129) {
      /varset DeadV 1
      /return
  }
  /bc reentered wolf loop
  /if (!${Target.ID[heart]}) /goto :GetAnother
/return


Sub FinalFight
  /echo Final Fight
  /varset FailNum 6
  /bct ${ToonBer} //sit
  /sit
  :waiting
  /doevents
  /delay 5s
  /tar ${Me}
  /if (${Me.PctMana}< 99 && ${Me.PctHPs}< 99 ) /goto :waiting
  /tar ${ToonBer}
  /if (${Target.PctHPs}<99) /goto :waiting
  /tar ${ToonCle}
  /delay 1s
  /if (${Target.PctHPs}<99 && ${Target.CurrentMana}<99 ) /goto :waiting
  /delay 1s 
  /tar ${ToonCle}
  /delay 2s
  /call cast "Pure Thought" alt 
  /delay 2s
  /call ManaCheck
  /squelch /Moveto loc 16 -123
|  /bct ${ToonBer} //squelch /Moveto loc 16 -123
  /delay 4s
  /squelch /Moveto loc 17 -133
|  /bct ${ToonBer} //squelch /Moveto loc 17 -133
  /delay 4s
  /bct ${ToonCle} //mac BigHeal ${ToonPal} ${ToonCle} ${ToonBer} ${DisplayGrpHeal}
  /bct ${ToonBer} //mac ramp
  /tar Krom
  /delay 4s
  /face nolook
  /call cast "Stun" alt
  /delay 2s
  /bct ${ToonBer} //tar Krom
  /delay 3s
  /call KillTarget 2
  /doevents
/return


Sub KillTarget(int Fight)
  /declare TempID int inner
  /declare KillTimer timer inner 0
  /varset TempID ${Target.ID}
  /bc [+G+]killing [+g+]${Target.DisplayName}[+x+]
  /face nolook
  /varset KillTimer 10
:waitingloop
  /delay 1s
  /if (${Target.Distance}>100 && ${KillTimer}> 0) /goto :waitingloop
  /bc Out of Waiting loop, kill timer is ${KillTimer}
  /if (${KillTimer}<1) {
     /bc Didn't kill ${Target.Name} for some reason
     /attack on
     /stick
  }
  /bct ${ToonBer} //tar ${Target.Name}
  /delay 1s
  /stick
  /if (${Bool[${NearestSpawn[1,NPC heart radius 100].ID}]}) {
    /stick 10
  } else {
    /stick 25
  }
  /attack on
  /call cast "Stun" alt
  /if (${Fight}==1) {
    /delay 1s
    /bct ${ToonBer} //stick 12
    /delay 1s
    /bct ${ToonBer} //attack on
  }
  /if (${Fight}==2) {
    /bct ${ToonBer} //stand
    /delay 4s
    /bct ${ToonBer} //stick 12 behind
    /delay 1s
    /bct ${ToonBer} //attack on
  } 
  /varset StickTimer 15
  /bc entering kill loop
:killloop
  /doevents
  /delay 5s
  /doevents
  /if (${Zone.ID}==129) {
    /varset DeadV 1
    /return
  }
  /if (!${Target.ID}==${TempID}) {
    /if (${Target.ID}) {
      /bc killed one, but i think more adds
      /attack on
      /stick 15
      /bct ${ToonBer} //tar ${Target.Name}
      /delay 1s
      /bct ${ToonBer} //stick 12 behind
      /delay 1s
      /bct ${ToonBer} //attack on
      /return
    }
  }
  /if (${NearestSpawn[2,NPC radius 60].ID}  && !${Target.Fleeing}) {
     /varset TempID ${Target.ID}
     /bc Changing to add
    /if (${NearestSpawn[1,NPC radius 120].ID}==${TempID}) {
       /tar ${NearestSpawn[2,NPC radius 120]}
    } else {
      /tar ${NearestSpawn[1,NPC radius 120]}
    }
     /varset KillTimer 15
     :A3
     /delay 1
     /if (${KillTimer}<1) /goto :A4
     /if (${Target.ID}==${CurrentID}) /goto :A3
     :A4
     /delay 4
     /attack on
     /stick
     /stick 12
     /delay 9s
     /bc Changing back to original target
     /tar ${Spawn[${TempID}]}
     /delay 12
     /face nolook
     /stick 19
     /attack on
  }
  /if (${NetBots[${ToonCle}].PctHPs} <40) {
    /stick off
    /tar ${ToonCle}
    /delay 7
    /bc [+r+]Healing [+y+]<${Target.Name}>[+x+]
    /call cast "Heal Wounds" alt 
    /delay 1s
    /call cast "Heal Wounds" alt
    /delay 1s
    /call cast "Heal Wounds" alt
    /delay 5s
    /tar ${Spawn[${TempID}]}
    /delay 2s
    /bc Back to Target ${Target.Name}
    /attack on
    /stick 15
    /delay 1s
  }
  /if (${Me.PctHPs}<20) {
     /tar myself
     /delay 2
     /bc [+r+]Healing Myself [+y+]<${Target.Name}>[+x+]
     /call cast "Heal Wounds" alt
     /delay 5
     /call cast "Heal Wounds" alt
     /delay 3
     /tar ${NearestSpawn[1,NPC]}
     /delay 8
     /bc Back to ${Target.Name}
  }
  /if (${Fight}==2 && ${Me.PctMana}>20 && ${Target.PctHPs}>1) {
    /bc [+R+]Nuking ${Target.Name}[+X+]
    /keypress 1
    /delay 7s
  }
  /if (${Me.PctMana}>20 && ${Target.PctHPs}>20) {
    /bc [+R+]Nuking ${Target.Name}[+X+]
    /keypress 1
    /delay 7s
  }
  /if (!${Target.ID} || !${Target.Type.Equal[NPC]}) {
    /attack off
    /if (${Fight}==1 || ${Fight}==2 ) /bct ${ToonBer} //attack off
    /bc [+o+]killed one[+x+]
    /return     
  }
  /doevents
  /if (${StickTimer}<1) {
    /varset StickTimer 15
    /if (${NearestSpawn[1,NPC heart radius 100].ID}) {
      /squelch /stick
      /squelch /stick 10
    } else {
      /squelch /stick
      /squelch /stick 25
      }   
     /attack on
  }
  /goto :killloop
/return

Sub CheckForAdds(int Fight, LookRange)
| Note i check for combat status to determine if anymore mobs are around me
  /varset TempTimer 100
  /bc [+u+]Checking for Adds[+x+]
  /keypress esc
  :combatloop
  /doevents
  /if (${TempTimer}<=1) {
     /bc Exiting ADDS due to Timer
     /return
  }
  /if (${Bool[${NearestSpawn[1,NPC radius ${LookRange}].ID}]}) {
    /tar ${NearestSpawn[1,NPC radius ${LookRange}]}
    /delay 1s
    /varset LocX ${Me.X}
    /varset LocY ${Me.Y}
    /call cast "Stun" alt
    /delay 4
    /call cast "Stun" alt
    /delay 5s
    /call KillTarget ${Fight}
    /bc Moving back
    /moveto loc ${LocY} ${LocX}
    :A2
    /delay 1
    /if (${Zone.ID}==129) {
      /varset DeadV 1
      /return
    }
    /doevents
    /if (!${MoveTo.Stopped}) /goto :A2
  }
  /delay 1
|  /if (${Me.CombatState.Equal[COMBAT]}) /goto :combatloop
/return
 
If I had the time I would tackle it but from what I can see this should work, I would suggest taking the dain 6 macro and editing all of the following through the entire macro.


Rich (BB code):
/varset ToonCle 
/varset ToonPal 
/varset ToonBer
/if (${ToonCount} > 3) /varset ToonCla
/if (${ToonCount} > 4) /varset ToonWar 
/if (${ToonCount} == 6) /varset ToonRog

too:

Rich (BB code):
/varset ToonCle 
/varset ToonPal 
/varset ToonBer
/if (${ToonCount} > 3) /varset ToonCla
/if (${ToonCount} > 4) /varset ToonRog
/if (${ToonCount} == 6) /varset ToonWar


Do not switch the names on toons for this command but switch the toon count too match the above (==6):

Rich (BB code):
/if (${ToonCount} > 4) /bct ${ToonWar} //mac def_dainPath_wepa

And then switch these 2 around this in the selectmonstera.mac
Rich (BB code):
 /if (${Me.DisplayName.Equal[${ToonCle}]}) /varset ToonChooser 3
 /if (${Me.DisplayName.Equal[${ToonBer}]}) /varset ToonChooser 5
 /if (${Me.DisplayName.Equal[${ToonWar}]}) /varset ToonChooser 1
 /if (${Me.DisplayName.Equal[${ToonCla}]}) /varset ToonChooser 2
 /if (${Me.DisplayName.Equal[${ToonRog}]}) /varset ToonChooser 4

Should be darn close.


BB monday :)
 
Modifiying Dain3 mac....any help / idea's ?

Users who are viewing this thread

Back
Top