• 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 --->
  • Unfortunately, yes, there is a suspension wave happening around the new tlp launch. :'( Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.

Throw Stone Mac (1 Viewer)

Dman0129

Member
Joined
Sep 13, 2006
RedCents
67¢
Does anyone have a working throwstone.mac for those who are looking to powerlevel monks etc...I remember trying to fine one awhile back where it would throw stone at everymob in its area and get the xp for it....if anyone has information on this or could pm me the file id appreciate it. Thanks!
 
works on my monk fine:
Rich (BB code):
|hitallmobs.inc By: Harden 07/08/06
|-------------------------------------------------------------------
|Description: Hit's all mobs within 50 range of you with a specified
|ability. Keep's count of how many mobs were hit, and reports when
|done. (Requires spell_routines.inc)
--------------------------------------------------------------------
|-Useage: /hitallmobs
--------------------------------------------------------------------
|Make sure your Macro has #include spell_routines.inc at the top
|add /squelch /alias /hitallmobs /echo hitallmobs to your sub main
|
|=================================================      ==================

#Event HitAllMobs        "[MQ2] HitAllMobs"
Sub Event_HitAllMobs
|=========================================|
|==Edit Throw Stone, for your AA ability==|
|=========================================|

Sub main
   /if (!${SpawnCount[npc radius 50]}) {
   /echo No Mobs in Range, Aborting...
   /return
}   
   /target npc
   /declare i int local 0
   /declare cnt int local 0   
      /for i 1 to ${SpawnCount[npc radius 50]} {
         :loop   
               /face
               /delay 1s
               /disc Throw Stone
               /delay 10s
            } else {
            /if (!${Target.LineOfSight}) {
               /echo ${Target.CleanName} Not in Line of sight, Skipping...
               /next i
                  }
               }
            
         /varcalc cnt ${cnt}+1
         /target npc next radius 50
      /next i
   /echo *Done Hitting mobs all mobs in range.

   /echo  *Total of ${cnt} Mob(s) hit.
/return
 
That wont necessarily work. It will target the # of mobs in your radius, but how many times might it target the same one. You need something that makes sure the new target isnt one thats already been hit. Ive seen one somewhere that uses the mobs target.id to make certain.
 
I'll post my rez macro and one for throw stone based upon it if somebody else doesn't post one before hand. Basically what it does, it sets up an array with the size based upon the # of mobs (or corpses for rez). Then sets the id for each and every mob(corpse) in that range into the array. Next it goes to another for statement and will do its thing, target the mob(corpse) and throw stone(rez) each target.
 
You can try this. I haven't tested it but if you have any problems let me know and I'll fix it for you. All you have to do is add the ability or key for your throw stone down near the bottom in Orange. If you want some additional functionality just let me know. GM or PC check, buff beg, hp check, ect...



Rich (BB code):
#turbo
Sub Main 
/echo Throw Stone Mac Initialized

/declare aerRadius int outer 200 
/declare aerZRadius int outer 100 

:loop
/call GetNPC
/goto :loop

Sub GetNPC

/declare NPCInRange      int local ${SpawnCount[NPC radius ${aerRadius} zradius ${aerZRadius}]}
/declare NPCArray[100]    int local 
/declare i                        int local 

/for i 1 to ${NPCInRange} 
/varset NPCArray[${i}] ${NearestSpawn[${i}, NPC].ID} 
/next i 
/if (!${i}) /return 
/target id ${NPCArray[${i}]} 
/delay 3 

/if (${Target.ID}) {
	    /"Insert throw stone ability to use here"
	} 

/next i 
} 

/return
 
here ya go, thanks to morlock's post so i actually remembered to post it *hides*

Morlock I think that macro would have a problem as you have two /next i parts, but only one for loop.
Rich (BB code):
Sub Main
/declare AbilityDelay int outer PutRefreshTimeOfAbilityHere
/declare SpawnRadius int outer 50
/declare SpawnZRadius int outer 30
/declare MobArray[${SpawnCount[npc radius ${SpawnRadius} zradius ${SpawnZRadius} ] int outer
/declare a int outer 0
/declare b int outer 0
 
/target clear
/echo setting array id's
 
/for a 1 to ${SpawnCount[npc radius ${SpawnRadius}])
	/varset ${MobArray[${a}]} ${NearestSpawn[${a}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
 
/next a
 
/echo array id's done, throwing stones at mobs
 
/for b 1 to ${SpawnCount[npc radius ${SpawnRadius} zradius ${SpawnZRadius}]})
 
|Making sure we don't throw it at the same mob as last time.	
	/squelch /target clear
		/delay 1s !${Target.ID}
	/target id ${MobArray}
		/delay 1s ${Target.ID}
 
|Throw it!
	/doability "throw stone"
 
|Wait for refresh of ability
	/delay ${AbilityDelay} ${Me.AbilityReady[Throw Stone]}
|do it again!
/next b
 
/echo hit all mobs, ending macro
/return
 
Last edited:
open notepad, copy/past everything in the code box, save as c:\mq2\macros\throwstone.mac
or wherever you have your mq2\macros folder
 
Siddin.. How would you modify your above mac, so you just used range attack? I just recently started a berserker.. and I'm going to try and talk an SK friend into letting me bum their account for a bit.
 
Siddin, fo some reaon the mac just continues to taget my monk only?thrws stone then nds macro? It says /varset failed, variable 'Null " not found?any help would be much appreciated.:)
 
Siddin, fo some reaon the mac just continues to taget my monk only?thrws stone then nds macro? It says /varset failed, variable 'Null " not found?any help would be much appreciated.:)
/declare SpawnRadius int outer 50

increase this line. Depending on the zone 50 can be a large distance from you or almost nothing at all.
 
alright, here's a couple things to add in for info on debugging this :)

under the line
Rich (BB code):
/varset ${MobArray[${a}]} ${NearestSpawn[${a}, npc radius ${SpawnRadius}
add in
Rich (BB code):
/echo MobArray[${a}] = ${NearestSpawn[${a}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
/mqlog MobArray[${a}] = ${NearestSpawn[${a}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
then under
Rich (BB code):
/target id ${MobArray}

add in
Rich (BB code):
/echo Targetting id#  ${MobArray}
/mqlog  Targetting id#  ${MobArray}




as for what the mqlog command does
Macroquest2 Wiki said:
/mqlog clear|text

This will log the relevant text to a log file in the "\Logs" directory. The name of the log file will be macroname.mac.log if run from within a macro or just MacroQuest.log if not run from within a macro.

if you could post that log file, it would be very handy :)
 
Newb question here - when in shroud form, the disc and doability throw stone commands dont seem to work. is it a different command for being in shroud? using goblin rogue shroud and tried both:

/disc Throw Stone

and

/doability Throw Stone

which work fine when not in shroud. says do not have ability when in shroud.

thanks for any help.

Nanr
 
Here's a macro I got working with a shroud. It spams a lot of "You can use the ability throw stone in "blah, blah but, who cares, it buids a matrix of the mobs within the radius and then hits each one.

Sometimes if a mob dies it might target that mob and not be able to use the ability. Just press the escape key and it moves to the next target.

throwstone.mac
Rich (BB code):
| used reptile shroud #1

#event Hit "#*#hit by a small stone."

Sub Main
/declare SpawnRadius int outer 50
/declare SpawnZRadius int outer 30
/declare MobCount int ${SpawnCount[npc radius ${SpawnRadius} zradius ${SpawnZRadius}]}
/declare MobArray[${MobCount}] int outer
/declare i int outer 0
/declare notthrown outer TRUE
/target clear
/echo Mob count: ${MobCount}
| Setting array id's
/for i 1 to ${MobCount}
|	/echo ${i} ${NearestSpawn[${i}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
	/varset MobArray[${i}] ${NearestSpawn[${i}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
/next i
 

| Array id's done, throwing stones at mobs
/for i 1 to ${MobCount}
	/squelch /target clear
		/delay 1s !${Target.ID}
	/target id ${MobArray[${i}]}
		/delay 1s ${Target.ID}
	/face fast
	/echo Targeting: ${Target}

	|Throw it!
	/varset notthrown TRUE
	:throwloop
		/if (!${Target.ID}) {
			/echo --- Target died
			/goto :mobdead
		}
		/alt act 4156
		/delay 1s
		/doevents
	/if (${notthrown}) /goto :throwloop
	:mobdead
/next i
 
/echo Hit all mobs, ending macro
/return

Sub Event_Hit
	/echo --- Hit: ${Target}
	/varset notthrown FALSE
/return

-Bigsnaf

P.S. Please redcent me if you find this useful.
 
OK maybe im a little dense as ive never pled a toon before. What is the setup and how would this mac be used?

Does a ungrouped high level toon with a ds pull a bunch of mobs back to the PLed toons that are running this macro? Does the high level toon do no damage at all?

Sorry for the question if its a little noobish. I been trying to level up a cleric and pally but have a 80 bst to PL with.
 
Yes it should as long as the higher level toon does 0 damage except via ds's.
btw, found a syntax error in my previous mac post. Should work now.
 
can someone give me details as to how this works...ive tried shrouding down but all i ever get is maybe 1 aa and hour doing this.... common someone has to know how to take advantage of this...
 
can someone give me details as to how this works...ive tried shrouding down but all i ever get is maybe 1 aa and hour doing this.... common someone has to know how to take advantage of this...

There use to be a way to take advantage of it. but got nerfed.

Right now from what i've heard the only way to "take advantage" is to set aa to 100% shroud down to 55 and group with a 80. Have the 80 run around killing LB's / Greens and can pull in some nice aa's. I've never done it but just heard about it.
 
When I use Siddin's throwstone mac I get an error that says "You must first select a target for this ability." Any suggestions? (using the mac on a lowbie zerker)
 
Written by Higamorph for Red Guides
|Written 4 of 2007
|Purpose - To automate the throw stone abilty to powerlevel a alt with the point blank damage shield method.
|The macro as written requires mq2eqbc to be loaded.
|I suggest binding the start command to a key on the powerleveler, as it will only work with mobs in a 50 loc radius.
|Thanks to Pugs for helping me being to learn macrowriting

Sub main
/bc ********************
/bc ***Hit it started***
/bc ********************

/if (!${SpawnCount[npc radius 50]}) {
/bc **********************
/bc ***No Mobs in Range***
/bc **********************
/return
}

/keypress CYCLENPCTARGETS
/declare start int outer ${Target.ID}
/declare cnt int outer 1
/delay 1s
/disc Throw Stone
/delay 10s
/keypress CYCLENPCTARGETS

:loop

/if (${Target.ID}==${start}) {
/goto :end
} else {
/delay 1s
/varcalc cnt ${cnt}+1
/disc Throw Stone
/delay 10s
/keypress CYCLENPCTARGETS
/goto :loop
}

:end
/bc *****************************
/bc *I hit ${cnt} mobs *
/bc *****************************
/bc ***Finished ~ Ready for DS***
/bc *****************************
/end
/return

use that one, i know for a fact that one works... ive used it to PL my monk and war up ... if you need a good spot to PL let me know
 
That wont necessarily work. It will target the # of mobs in your radius, but how many times might it target the same one. You need something that makes sure the new target isnt one thats already been hit. Ive seen one somewhere that uses the mobs target.id to make certain.

Rich (BB code):
/target npc next radius 50

that line of code targets the nearest npc in a 50 radius, issuing the line again will target the next one, until it goes thru all the mobs in a 50 radius. That line is used each time the cycle repeats. only the first npc it targets uses /target npc by itself. additionally once it has targeted all of them, in the MQ2 window you will see a message saying no target matching.
 
i like this one the best but its not auto throwing stones I have to click them my self. Any way to make it do it on its own ?
Here's a macro I got working with a shroud. It spams a lot of "You can use the ability throw stone in "blah, blah but, who cares, it buids a matrix of the mobs within the radius and then hits each one.

Sometimes if a mob dies it might target that mob and not be able to use the ability. Just press the escape key and it moves to the next target.

throwstone.mac
Rich (BB code):
| used reptile shroud #1

#event Hit "#*#hit by a small stone."

Sub Main
/declare SpawnRadius int outer 50
/declare SpawnZRadius int outer 30
/declare MobCount int ${SpawnCount[npc radius ${SpawnRadius} zradius ${SpawnZRadius}]}
/declare MobArray[${MobCount}] int outer
/declare i int outer 0
/declare notthrown outer TRUE
/target clear
/echo Mob count: ${MobCount}
| Setting array id's
/for i 1 to ${MobCount}
|	/echo ${i} ${NearestSpawn[${i}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
	/varset MobArray[${i}] ${NearestSpawn[${i}, npc radius ${SpawnRadius} zradius ${SpawnZRadius}].ID}
/next i
 

| Array id's done, throwing stones at mobs
/for i 1 to ${MobCount}
	/squelch /target clear
		/delay 1s !${Target.ID}
	/target id ${MobArray[${i}]}
		/delay 1s ${Target.ID}
	/face fast
	/echo Targeting: ${Target}

	|Throw it!
	/varset notthrown TRUE
	:throwloop
		/if (!${Target.ID}) {
			/echo --- Target died
			/goto :mobdead
		}
		/alt act 4156
		/delay 1s
		/doevents
	/if (${notthrown}) /goto :throwloop
	:mobdead
/next i
 
/echo Hit all mobs, ending macro
/return

Sub Event_Hit
	/echo --- Hit: ${Target}
	/varset notthrown FALSE
/return

-Bigsnaf

P.S. Please redcent me if you find this useful.
 
save the macro, to whatever name you wanna give it... throwstone.mac then when mobs are near your person who your PLing, on the PLee type /mac throwstone
you have to do it each time tho... so a hotkey would be good
and your done
 
Throw Stone Mac

Users who are viewing this thread

Back
Top