EvenLessSpam
Active member
- Joined
- Oct 31, 2005
- RedCents
- 91¢
I know I saw a macro like this, that summoned corpses and shrinked them, but couldn't find it. Just needed something to size everything around me, be it raid or just everyone, so I wrote this:
Rich (BB code):
Sub Main(string TargetType, int Size, int Radius)
/if (!${Defined[TargetType]}) /declare TargetType string local raid
/if (!${Defined[Size]}) /declare Size int local 1
/if (!${Defined[Radius]}) /declare Radius int local 500
/if (${TargetType.Lower.Equal[raid]}) /call RaidSize ${Size}
/if (${TargetType.Lower.Equal[ae]}) /call AESize ${Size} ${Radius}
/if (${TargetType.Lower.Equal[help]}) /call HelpSize
/return
Sub RaidSize(int Size)
/declare i int local 0
/declare LastTarget string local NONE
/for i 1 to ${Raid.Members}
/target ${Raid.Member[${i}]}
/delay 2s (${Target.Name.NotEqual[${LastTarget}]})
/size ${Size}
/varset LastTarget ${Target.Name}
/next i
/return
Sub AESize(int Size, int Radius)
/declare i int local 0
/declare LastTarget int local 0
/declare PCArray[100] int local 0
/declare PCsInRange int local ${SpawnCount[pc radius ${Radius} zradius 50]}
/for i 1 to ${PCsInRange}
/varset PCArray[${i}] ${NearestSpawn[${i}, pc].ID}
/next i
/for i 1 to ${PCsInRange}
/if (${Spawn[${PCArray[${i}]}].Type.NotEqual[corpse]}) {
/target id ${PCArray[${i}]}
/delay 2s (${Target.ID} != ${LastTarget})
/size ${Size}
/varset LastTarget ${Target.ID}
}
/next i
/return
Sub HelpSize
/echo Syntax: /macro ${Macro.Name} [raid|ae|help] [size] [radius
/return

