counting guilds conversion: need a push

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

koad
Plugins Czar
Posts: 127
Joined: Fri May 16, 2003 8:32 pm

counting guilds conversion: need a push

Post by koad » Wed Apr 28, 2004 4:04 am

I'm trying to convert this mac and its not counting guilds correctly (results are inconsistent too) can someone correct my syntax for the MQ2Data spawn searcher?

Code: Select all

| guilds.mac - lists guilds in zone by blueninja
#turbo
Sub Main
   /declare curid local
   /declare previd local
   /declare guilds array2
   /declare guildcount global
   /varset curid 0
   /varset guildcount 0

   :spawnloop
       /varset previd @curid
       |wtf am i doing wrong here?!!11
       [color=red]/varset curid ${Spawn[pc id @curid].Next.ID}[/color]
       /echo @curid
       /if ( @curid==@previd || @curid==0 ) /goto :breakout
       /call AddGuild "${Spawn[@curid].Guild}"
   /goto :spawnloop

   :breakout
|searchspawn won't find you so do that manually
   /call AddGuild "${Me.Guild}"
   /call ShowGuilds
/return

Sub ShowGuilds
    /declare counter local
    /for counter 0 to ${Math.Calc[@guildcount-1]}
        /echo @guilds(@counter,0) has @guilds(@counter,1)
    /next counter
/return

Sub AddGuild(guildname)
    /if ( !${String[@guildname].Length} ) /return
    /declare counter local
    /for counter 0 to @guildcount
    :searchloop
        /if ( ${String[@guilds(@counter,0)].Equal[@guildname]} ) {
            /varadd guilds(@counter,1) 1
            /return
        }
    /next counter
    /varset guilds(@guildcount,0) "@guildname"
    /varset guilds(@guildcount,1) 1
    /varadd guildcount 1
/return