• 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 --->

Request druidkite.mac (1 Viewer)

Pugs

Member
Joined
Feb 6, 2005
RedCents
644¢
Would it be possable for any one to release or creat a macro for me.

I want it to in a nutshell is to kite.
It needs to snare, Debuff, move ot next loc nuke move to next loc nuke move to next loc nuke when mob dies. I need it to loot it then go back to a med spot get full mana target another mob in the same area and do it agien. It is beyond me how to do this but i would realy love it any one could. Or elce post a macro that dose it for another class and i can try to mob it into what i need, but i have not found on that moves locs and dose it.
 
Id suggest you ofcourse do this in a place where nobody roams around, since druids are always asked for buffs/sows/etc. watch where you would be doing this.
As for creating the macro/plugin. I dont know of this stuff yet, im waitting on siddin's lessons when he gets a chance lol :)
 
I dug up this wizzard macro. It looks like it could be edited to what i need, i'll start working on it but i am not a very good coder yet. Here it is if any of you wanna try and hack it up a bit.
Rich (BB code):
#turbo
#Event resistsnare "Your target resisted the Bonds of Force spell#*#"
#Event resistroot "Your target resisted the Immobilize spell#*#"
#Event rootoff "Your Immobilize spell has worn off.#*#"
#include move.inc
#include spellcast.inc
#include lootmob.inc

Sub IntVars
/declare Spawned bool outer FALSE
/declare CurrentBox int outer
/declare Box1Y int outer -777
/declare Box1X int outer 724
/declare Box2Y int outer -921
/declare Box2X int outer 700
/declare Box3Y int outer -835
/declare Box3X int outer 535
/declare Box4Y int outer -688
/declare Box4X int outer 574
/declare SnareSpell string outer "Bonds of Force"
/declare RootSpell string outer "Immobilize"
/declare NukeSpell string outer "Conflagration"
/return

Sub Main

/call IntVars

/call LootFilterSetup

:MainLoop

/call GetReady

/call GetNPC

/call SnareIt

/call RootIt

/call NukeItLoop

/call LootIt

/call MoveHome

/call MedLoop

/goto :MainLoop


/return


Sub GetReady
:ManaLoop
/delay 5s
/echo Checking Mana
/if (${Me.PctMana} < 90) /goto :ManaLoop
/echo WE GOT MANA!
/return

Sub GetNPC
:NPCLoop
/keypress ESC
/keypress ESC
/keypress ESC
/keypress ESC
/target Watchman Grep
/delay 5s
/if (${Target.PctHPs}==0) {
   /echo Well, he aint up!
   /varset Spawned FALSE
   /delay 5s
   /goto :NPCLoop
   }

/echo We have ${Target.CleanName} as our target.
/return

Sub SnareIt

/call goto ${Box1Y} ${Box1X}
/varset CurrentBox 1
/delay 1s
/call Cast ${SnareSpell}
/doevents

/return


Sub RootIt
/if (${Target.Distance}<40) {
   /call NextBox
        }
/delay 1s
/call cast ${RootSpell}
/doevents
/return

Sub NukeItLoop

:NukeItLoop
   /if (${Target.Distance}<60) /call NextBox
   /delay 5s
   /doevents
   /call cast ${NukeSpell}
   /delay 1s
   /doevents
   /if (${Target.Distance}<60) /call NextBox
   /if (${Target.PctHPs}>0) /goto :NukeItLoop   
/return

Sub Lootit
/target Grep
/delay 1s
/call MoveToSpawn ${Target.ID} 5
/call LootMob
/return

Sub MoveHome
/call goto ${Box1Y} ${Box1X}
/varset CurrentBox 1
/return

Sub MedLoop
/keypress 9
/sit on
/return








Sub Event_resistsnare
   /echo RESISTED! SNARE!
   /call NextBox
   /delay 1s
   /call Cast ${SnareSpell}
   /doevents
   /return
/return

Sub Event_resistroot
   /echo RESISTED! ROOT!
   /call NextBox
   /delay 1s
   /call Cast ${RootSpell}
   /doevents
   /return
/return


Sub Event_rootoff
   /echo ROOT IS OFF!!!!!!!!
   /call NextBox
   /call cast ${RootSpell}
   /doevents
/return

Sub NextBox
   /if (${CurrentBox}==1) {
   /call goto ${Box2Y} ${Box2X}
   /varset CurrentBox 2
   /return
   }
   /if (${CurrentBox}==2) {
   /call goto ${Box3Y} ${Box3X}
   /varset CurrentBox 3
   /return
   }
   /if (${CurrentBox}==3) {
   /call goto ${Box4Y} ${Box4X}
   /varset CurrentBox 4
   /return
   }
   /if (${CurrentBox}==4) {
   /call goto ${Box1Y} ${Box1X}
   /varset CurrentBox 1
   /return
   }
/return
also the move inc for it .
Rich (BB code):
|===================================================|
|- move.inc                                         |
|                                                   |
|Simple moving and object-avoidance routines        |
|                                                   |
|Originally by beatnik007 (Who credits Mckorr)      |
|                                                   |
|Revised and converted to MQ2Data by Terramantian   |
|===================================================|


| Sub MoveToLoc                                     |
|---------------------------------------------------|
|This simply moves the player to within 10 units of |
|the requested location, while avoiding obstacles   |
|                                                   |
|This is beatnik007's original sub, with a few minor|
|changes and rewritten in MQ2Data format            |
|                                                   |
|SYNTAX: /call MoveToLoc Y X                        |


Sub goto(MoveToY, MoveToX)
    /echo Moving to Location: ${MoveToY}, ${MoveToX}.
    /echo Distance: ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}

    /declare running int local
    /declare distanceNow float local
    /declare distanceBefore float local
    /declare distanceModifier int local
    /varset running 0
    /declare distanceTimer timer 15
    /varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
    /varset distanceModifier 1
   
    :moveToLocation

    /face nolook loc ${MoveToY},${MoveToX}

    /if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<10) {
        /keypress forward
        /return
    }
   
    /if (${distanceTimer}==0) {
        /if (${Me.Sneaking}) {
            /varset distanceModifier 2
        } else {
            /varset distanceModifier 1
        }

        /varset distanceNow ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
        /if (${Math.Calc[${distanceBefore}-${distanceNow}]}<${Math.Calc[10/${distanceModifier}]}) {
      /call strafePastObstacle
        }
        /varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
        /varset distanceTimer 15
    }

    /if (${running}==0) {
        /keypress forward
        /if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}>10) {
            /varset running 1
            /keypress forward hold
        }
    } else {
        /if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<11) {
            /varset running 0
            /keypress forward
        }
    }
    /goto :moveToLocation
/return


| Sub MoveToSpawn                                   |
|---------------------------------------------------|
|This moves the player to within a provided distance|
|of the provided spawn, while avoiding obstacles    |
|                                                   |
|I "wrote" this, but as you can see, it's the same  |
|as MoveToLoc with a few variable replacements.     |
|                                                   |
|The second parameter, Distance, allows for the     |
|player to stop short of the target by a certain    |
|amount, to provide for different aggro radii, etc. |
|                                                   |
|SYNTAX: /call MoveToSpawn ID Distance              |

Sub MoveToSpawn(MoveToID, StopDistance)

    /if (!(${Defined[MoveToID]})||(${Spawn[MoveToID].ID})) {
        /echo Spawn ID not found or no ID provided. Aborting...
        /return
    }
    /if (!(${Defined[StopDistance]})) {
   /echo Stopping point not defined, using default distance of 70
        /declare StopDistance int local
        /varset StopDistance 70   
    }

    /echo Moving to Spawn: ${MoveToID} (${Spawn[${MoveToID}].CleanName}).
    /echo Current Location: ${Spawn[${MoveToID}].Y}, ${Spawn[${MoveToID}].X}
    /echo Current Distance: ${Spawn[${MoveToID}].Distance}

    /declare running int local
    /declare distanceNow float local
    /declare distanceBefore float local
    /declare distanceModifier int local
    /varset running 0
    /declare distanceTimer timer 15
    /varset distanceBefore ${Spawn[${MoveToID}].Distance}
    /varset distanceModifier 1
   
    :moveToSpawn

    /squelch /face fast nolook id ${MoveToID}

    /if (${Spawn[${MoveToID}].Distance}<${StopDistance}) {
        /keypress forward
        /return
    }
   
    /if (${distanceTimer}==0) {
        /if (${Me.Sneaking}) {
            /varset distanceModifier 2
        } else {
            /varset distanceModifier 1
        }

        /varset distanceNow ${Spawn[${MoveToID}].Distance}
        /if (${Math.Calc[${distanceBefore}-${distanceNow}]}<${Math.Calc[10/${distanceModifier}]}) {
      /call strafePastObstacle
        }
        /varset distanceBefore ${Spawn[${MoveToID}].Distance}
        /varset distanceTimer 15
    }

    /if (${running}==0) {
        /keypress forward
        /if (${Spawn[${MoveToID}].Distance}>=${StopDistance}) {
            /varset running 1
            /keypress forward hold
        }
    } else {
        /if (${Spawn[${MoveToID}].Distance}<${StopDistance}) {
            /varset running 0
            /keypress forward
        }
    }
    /goto :moveToSpawn
/return

| Only to be used by the previous functions - It's obvious what it does. |

sub strafePastObstacle
    /keypress forward
    /keypress back hold
    /delay 2
    /keypress back
    /if (${Math.Rand[99]}>50) {
        /keypress strafe_right hold
    } else {
        /keypress strafe_left hold
    }
    /delay 3
    /keypress strafe_right
    /keypress strafe_left
    /keypress forward hold
/return
 
Request druidkite.mac

Users who are viewing this thread

Back
Top