Anyone have a basic assist macro?

jdkars

New member
Joined
Jan 9, 2017
Messages
15
Reaction score
0
Points
0
i use mq2melee for my melee bots. I dont use mq2bot because it uses all kinds of crap i only use for named. Does anyone have a very simple macro for assist.
 
i use mq2melee for my melee bots. I dont use mq2bot because it uses all kinds of crap i only use for named. Does anyone have a very simple macro for assist.

Couldn't you just use the bot macro and put in and take out as much as you like?
 
There might be a way to, but when i load mq2bot

It always reloads what is on the character.
 
What do you mean by it reloads what is on the character? If it's in the ini, it will load it. Keep in mind we are talking about the macro and not the plugin.
 
Aye, cant figure out eqbot or bot.mac, just want a basic assist macro

Aye, cant figure out eqbot or bot.mac, just want a basic assist macro
 
What class of characters are you attempting to bot? For melee, MQ2Melee will do what you want. For casters, MQ2Bot is generally the easiest to set up. All that other stuff that you want to go off at other times can be changed via the ini. It only takes a little bit to read the wiki and go through the settings. If you have any questions about what you found in the wiki, a lot of people here will be happy to answer.

Outside of that, Devastator might have a basic assist macro, but at this moment, you have to pay for it.
 
Code:
| AFMELEE.mac initial version v04.01.08
| 04.01.09 added leashing
| 04.26.09 added param based arguments
| 05.12.09 added many checks for zone


#turbo 5
#Event ComeTo  "#*#come to me#*#"
#Event Hidem  "#*#Hide Em#*#"
#Event Zoned 	  "LOADING, PLEASE WAIT...

Sub Main 

|------------READ THIS SECTION AND EDIT IF NEEDED-----------|
|-- Set spell casting order here
   /assist off
   /declare mainassist string outer ${Param0}
   /declare autoassist int outer 1
   /declare autoassisthealth int outer ${Param1}
   
   /declare autoleash bool outer ${Param2}
   /declare stakeX int outer ${Me.X}
   /declare stakeY int outer ${Me.Y}
   /declare leashlength int outer 50
   /declare leashholder string outer Nobody
   /declare leashflex int outer 25
   
   /declare StartZone int outer ${Zone.ID}
   



   
|------------END EDITING------------------------------------|

	/declare boolInCombat bool inner FALSE
	
	/if (!${Defined[Param0]}) {
	  /echo Proper usage: /macro assist TankName assisthealth autoleash
	  /end
	}

	/echo Assisting: ${mainassist}, at ${autoassisthealth}, and leashing: ${autoleash}

|------------BEGIN ROUTINES------------------------------------|

/echo AFMelee Active
  
:mainloop 
   /if (${GameState.Equal[CHARSELECT]}) /end
   /if (${Zone.ShortName.Equal[GuildLobby]}) {
   	/sit
   	/delay 10m
   	/camp desktop
   }
   /if (${Zone.ID} != ${StartZone}) {
   	/sit
   	/delay 10m
   	/camp desktop
   }
   /call CheckEvents
   
   |-----------------------------
   |-- check to see if I should attack
   /delay 1
   /assist ${mainassist}
   /delay 1
   
   |-----------------------------
   |-- check to see if I am in combat, if I am, then set it as such, so I don't go and reassist.
   /if (${Melee.Status.NotEqual[WAITING]}) {
   	/varset boolInCombat FALSE
   } else {
   	/varset boolInCombat TRUE
   }
   
   
   |-----------------------------
   |-- if not in combat, and I should be assisting, and killing, do so;
   |-- the boolInCombat flag keeps from from banging autoattack over and over.
   /if ((${autoassist}==1) && (${Target.Type.Equal[NPC]}) && (${Target.PctHPs}<= ${autoassisthealth}) && (${boolInCombat} == FALSE) && ${${mainassist}.Distance}<50) {
   	/varset boolInCombat TRUE
   	/attack on
   }
   
   
   |-----------------------------
   |-- should I leash?
   /if ((${autoleash} == TRUE) && ${leashholder.Equal[Nobody]} && (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}>${leashlength})) {
    /goto :LeashStart
   }
   /goto :mainloop 
   
   |-----------------------------
   |-- leashing, ganked from RH
   :LeashStart
   /if (${leashholder.Equal[Nobody]} && (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}>${Math.Calc[${leashlength}*${leashflex}/100]})) {
	 /echo Moving closer to the Stake... ${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]} ft. away 
	 /face ${If[${Me.Underwater},,nolook]} loc ${stakeY},${stakeX} 
	 /keypress forward hold 
	 /delay 1s ${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}<${Math.Calc[${leashlength}*${leashflex}/100]}
	 /keypress forward 
	 /if (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}<${Math.Calc[${leashlength}*${leashflex}/100]}) {
	   /echo Arrived near enough to the Stake. 
	   /face fast ${If[${Me.Underwater},,nolook]} away loc ${stakeY},${stakeX}
	   /keypress esc
	   /goto :mainloop
	 }
	 /if (${Zone.ID} != ${StartZone}) {
	    	/sit
	    	/delay 10m
	    	/camp desktop
     }
	 /goto :LeashStart

/return



Sub CheckEvents
   /delay 1
   /doevents
/return


|-------------------------------------------------------------------------------- 
|SUB: WARP to ASSIST
|-------------------------------------------------------------------------------- 
Sub Event_ComeTo
	/echo Following Main Assist
	/target ${mainassist}
	/delay 10
	/target ${mainassist}
	/delay 1
	/warp t
        /delay 1
   /declare stakeX int outer ${Me.X}
   /declare stakeY int outer ${Me.Y}
/return

Sub Event_Hidem
	/echo Hiding corpses
	/hidecorpse npc
/return






|-------------------------------------------------------------------------------- 
|SUB: Zoned 
|-------------------------------------------------------------------------------- 
Sub Event_Zoned 
  /echo Zoned 
  /444

/mac afmelee(orwhatever you name it) ASSISTNAME 95(health%) 1/0(1=leash 0=no leash)

soo /mac afmelee butthole 100 1

forgot the warp fix for this mac if leashing, I put it in there but basically, add /declare stakeX int outer ${Me.X}
/declare stakeY int outer ${Me.Y} after /warp t
 
Last edited:
Code:
| AFMELEE.mac initial version v04.01.08
| 04.01.09 added leashing
| 04.26.09 added param based arguments
| 05.12.09 added many checks for zone


#turbo 5
#Event ComeTo  "#*#come to me#*#"
#Event Hidem  "#*#Hide Em#*#"
#Event Zoned       "LOADING, PLEASE WAIT...

Sub Main

|------------READ THIS SECTION AND EDIT IF NEEDED-----------|
|-- Set spell casting order here
   /assist off
   /declare mainassist string outer ${Param0}
   /declare autoassist int outer 1
   /declare autoassisthealth int outer ${Param1}
  
   /declare autoleash bool outer ${Param2}
   /declare stakeX int outer ${Me.X}
   /declare stakeY int outer ${Me.Y}
   /declare leashlength int outer 50
   /declare leashholder string outer Nobody
   /declare leashflex int outer 25
  
   /declare StartZone int outer ${Zone.ID}
  



  
|------------END EDITING------------------------------------|

    /declare boolInCombat bool inner FALSE
   
    /if (!${Defined[Param0]}) {
      /echo Proper usage: /macro assist TankName assisthealth autoleash
      /end
    }

    /echo Assisting: ${mainassist}, at ${autoassisthealth}, and leashing: ${autoleash}

|------------BEGIN ROUTINES------------------------------------|

/echo AFMelee Active
 
:mainloop
   /if (${GameState.Equal[CHARSELECT]}) /end
   /if (${Zone.ShortName.Equal[GuildLobby]}) {
       /sit
       /delay 10m
       /camp desktop
   }
   /if (${Zone.ID} != ${StartZone}) {
       /sit
       /delay 10m
       /camp desktop
   }
   /call CheckEvents
  
   |-----------------------------
   |-- check to see if I should attack
   /delay 1
   /assist ${mainassist}
   /delay 1
  
   |-----------------------------
   |-- check to see if I am in combat, if I am, then set it as such, so I don't go and reassist.
   /if (${Melee.Status.NotEqual[WAITING]}) {
       /varset boolInCombat FALSE
   } else {
       /varset boolInCombat TRUE
   }
  
  
   |-----------------------------
   |-- if not in combat, and I should be assisting, and killing, do so;
   |-- the boolInCombat flag keeps from from banging autoattack over and over.
   /if ((${autoassist}==1) && (${Target.Type.Equal[NPC]}) && (${Target.PctHPs}<= ${autoassisthealth}) && (${boolInCombat} == FALSE) && ${${mainassist}.Distance}<50) {
       /varset boolInCombat TRUE
       /attack on
   }
  
  
   |-----------------------------
   |-- should I leash?
   /if ((${autoleash} == TRUE) && ${leashholder.Equal[Nobody]} && (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}>${leashlength})) {
    /goto :LeashStart
   }
   /goto :mainloop
  
   |-----------------------------
   |-- leashing, ganked from RH
   :LeashStart
   /if (${leashholder.Equal[Nobody]} && (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}>${Math.Calc[${leashlength}*${leashflex}/100]})) {
     /echo Moving closer to the Stake... ${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]} ft. away
     /face ${If[${Me.Underwater},,nolook]} loc ${stakeY},${stakeX}
     /keypress forward hold
     /delay 1s ${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}<${Math.Calc[${leashlength}*${leashflex}/100]}
     /keypress forward
     /if (${Math.Distance[${Me.Y},${Me.X}:${stakeY},${stakeX}]}<${Math.Calc[${leashlength}*${leashflex}/100]}) {
       /echo Arrived near enough to the Stake.
       /face fast ${If[${Me.Underwater},,nolook]} away loc ${stakeY},${stakeX}
       /keypress esc
       /goto :mainloop
     }
     /if (${Zone.ID} != ${StartZone}) {
            /sit
            /delay 10m
            /camp desktop
     }
     /goto :LeashStart

/return



Sub CheckEvents
   /delay 1
   /doevents
/return


|--------------------------------------------------------------------------------
|SUB: WARP to ASSIST
|--------------------------------------------------------------------------------
Sub Event_ComeTo
    /echo Following Main Assist
    /target ${mainassist}
    /delay 10
    /target ${mainassist}
    /delay 1
    /warp t
        /delay 1
   /declare stakeX int outer ${Me.X}
   /declare stakeY int outer ${Me.Y}
/return

Sub Event_Hidem
    /echo Hiding corpses
    /hidecorpse npc
/return






|--------------------------------------------------------------------------------
|SUB: Zoned
|--------------------------------------------------------------------------------
Sub Event_Zoned
  /echo Zoned
  /444

/mac afmelee(orwhatever you name it) ASSISTNAME 95(health%) 1/0(1=leash 0=no leash)

soo /mac afmelee butthole 100 1

forgot the warp fix for this mac if leashing, I put it in there but basically, add /declare stakeX int outer ${Me.X}
/declare stakeY int outer ${Me.Y} after /warp t
Would it work if I replaced the warp commands with stick commands? Trying to set up an auto assist to anchor my DPS group