Mob cycling

Macro requests from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Fri Dec 27, 2002 12:58 pm

Salutations,
ooh... good question... you're gonna have to use the $target() variable... IE...

Code: Select all

/alert add 1 $target(type) "$target(name,clean)"
I think that should work...

Jojongua
decaying skeleton
decaying skeleton
Posts: 7
Joined: Thu Dec 05, 2002 3:16 pm

Post by Jojongua » Fri Jan 03, 2003 3:43 pm

Hey guys... Does anyone know if the "/target noalert #" command is actually working? I can't seem to get it to work. constantly targets mobs that are allready on the alert list. Thanks in advance.



Jojongua

User avatar
SingleServing
a hill giant
a hill giant
Posts: 195
Joined: Tue Dec 17, 2002 11:00 pm

Post by SingleServing » Sat Jan 04, 2003 9:26 am

Jojongua wrote:Hey guys... Does anyone know if the "/target noalert #" command is actually working? I can't seem to get it to work. constantly targets mobs that are allready on the alert list. Thanks in advance.



Jojongua
Such as?

I had a similar problem with my pet, but turned out pets are pc not npc /shrug

Somehow when you have an infinite loop i.e. Find target If no target Loop find target etc etc...MQ always finds a way to get out of my nice infinite loop

Please be more specific with what you have in your alert list =)

Salutations,
ooh... good question... you're gonna have to use the $target() variable... IE... Code:
/alert add 1 $target(type) "$target(name,clean)"
I think that should work...
After a little testing I think we are on the wrong track with this. Lets say you want to farm wurms for bile, you don't want to add an alert for all wurms just wurm_00...

So now the new idea

/target npc
:Loop
<do whatever>
/target id $target(next)
|/target npc id $target(next) <--- not sure if this would work, if a pc is next id might cause problems
/goto :Loop

that should cycle through everything in the zone...

assuming you can't use npc in corrilation to the next argument
[color=DarkBlue]Everything,[/color] [color=DarkBlue][b]is[/b][/color] [color=black]black[/color] [color=DarkBlue]and[/color] [color=white]white[/color][color=DarkBlue], when you zoom out it looks[/color] [color=gray]grey[/color][color=DarkBlue].[/color]

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sat Jan 04, 2003 8:28 pm

Salutations,
SingleServing wrote:After a little testing I think we are on the wrong track with this. Lets say you want to farm wurms for bile, you don't want to add an alert for all wurms just wurm_00...
Thats why I said $target(name,clean) not $target(name)

User avatar
SingleServing
a hill giant
a hill giant
Posts: 195
Joined: Tue Dec 17, 2002 11:00 pm

Post by SingleServing » Sat Jan 04, 2003 10:30 pm

L124RD wrote:Salutations,
SingleServing wrote:After a little testing I think we are on the wrong track with this. Lets say you want to farm wurms for bile, you don't want to add an alert for all wurms just wurm_00...
Thats why I said $target(name,clean) not $target(name)
$target(name,clean) returns A Giant Rat
$target(name) returns A_Giant_Rat05

What I'm saying you don't want to eliminate all "A Giant Rat" by using name,clean.

Also, who does not work correctly with system names aka A_Giant_Rat05 you can't type /who npc a_giant_rat05, but you can /who npc "a giant rat"

So like I said alerts will not work, with the current implementation of this the most direct solution will be using ID's. Unfortunatly, each and every mob will have to be cycled through and not just giant rats. I tried this out last night and /target id $target(next) worked great. That is the answer.

Psuedo code:

Code: Select all

Sub Main

/target npc wisp

:CheckLight

/if $target(light)==0 {
	/call GetNTarg
	/goto :CheckLight
}
/gototarg $target(name,clean)

/return


Sub GetNTarg

:Loop

/target id $target(next)
/if "$target(name,clean)"!~"will-o-wisp" /goto :Loop

/return
No I didn't check the syntax, no I didn't check the spelling, no no no...This is for logic purposes only.

Edit: Fixed giant rat to will-o-wisp
Last edited by SingleServing on Sat Jan 04, 2003 11:23 pm, edited 1 time in total.
[color=DarkBlue]Everything,[/color] [color=DarkBlue][b]is[/b][/color] [color=black]black[/color] [color=DarkBlue]and[/color] [color=white]white[/color][color=DarkBlue], when you zoom out it looks[/color] [color=gray]grey[/color][color=DarkBlue].[/color]

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sat Jan 04, 2003 10:55 pm

Salutations,
1) You were right, you can do a specified event with /doevents but it is /doevents specifiedevent
2) I agree, what we need is alerts with ids... id /alert add 1 npc id $target(id)

User avatar
SingleServing
a hill giant
a hill giant
Posts: 195
Joined: Tue Dec 17, 2002 11:00 pm

Post by SingleServing » Sat Jan 04, 2003 11:25 pm

L124RD wrote: 2) I agree, what we need is alerts with ids... id /alert add 1 npc id $target(id)
That would be how do you say... L337?

:D
[color=DarkBlue]Everything,[/color] [color=DarkBlue][b]is[/b][/color] [color=black]black[/color] [color=DarkBlue]and[/color] [color=white]white[/color][color=DarkBlue], when you zoom out it looks[/color] [color=gray]grey[/color][color=DarkBlue].[/color]

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sun Jan 05, 2003 3:18 am

Salutations,
I'll see if i can do it... no cllue... will work on it after i hit lvl 41...

User avatar
tuxracer
Esse Quam Videri
Esse Quam Videri
Posts: 165
Joined: Fri Jul 26, 2002 1:01 am

Post by tuxracer » Sun Jan 05, 2003 4:52 am

hi
[url=http://www.studentpeaceaction.org/][img]http://www.studentpeaceaction.org/images/support.gif[/img][/url]

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sun Jan 05, 2003 5:45 am

Salutations,
*shakes his head* Hello tux...

lifewolf
a ghoul
a ghoul
Posts: 143
Joined: Fri Oct 18, 2002 6:29 pm

Re: Mob cycling

Post by lifewolf » Sun Jan 05, 2003 10:30 am

Holy shit this is unreadable at 600x800

Code: Select all


#turbo 50

Sub Main
   /varset l0 $id(0)  | See 1

:Loop

   | See 2.


   /varset l0 $spawn($l0,next)  | See 3.
   /if $l0>0 /goto :Loop  | See 4.

/return


(1) Start with the first spawn in zone
(2) Do something with the current spawn, its ID is located in $l0
(3) Go to the next spawn with $l0
(4) If the next spawn is a bigger number, we have more to go through, else we have finished the circle and are back at the begining.

lifewolf
a ghoul
a ghoul
Posts: 143
Joined: Fri Oct 18, 2002 6:29 pm

Post by lifewolf » Sun Jan 05, 2003 12:00 pm

If you could set the max (future) stacked #turbo commands in mq via like /turbo, then you could just make a spawn cycler that sorts and organizes and returns whatever you want using like #turbo 2000, and set it back to 1 or 2 when your done.

On a good PC it would be done in seconds and wouldent fuck up your macro all that much by setting it back...

(IE)
/turbo 1

would wait till there are 1-1 (0) commands in the EQ queue thing before adding the next to be executred

/turbo 50
would wait untill there are 49 or less commands in the queue to add more, or add up to 50 if there were less than that.

/turbo 11289379
would stack the next 1.1 * 10^7 commands unless there were that many already in memory or EQ goes fuck first...


That way we could #turbo 2000 sorting functions and return to #turbo 1 or 2 for normal macro's that dont need to blow though 500 /'s a second.

Would be hard to set up though, since if you had say
/turbo 50
/turbo 1
in your macro, you would have to make sure that it stops stacking commands when it finds /turbo 1, but if you had say...
/turbo 50
/if $l0<=0 /turbo 1

Then it would have to parse that line (which MAY require it parsing the other 49 stacked lines previous that modify/set $l0) before it would know what speed to set #turbo at...

So i guess umm thoughts?


....... Ok i get the smurf joke now. Thats pretty stupid i think... :x

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sun Jan 05, 2003 2:57 pm

Salutations,
I think you should post that in the feature request thingy...