A simple function that takes a players name and returns their index within the currently stored Guild Roster. Note that the index for a player in each Guild Roster will depend on how it is sorted and can be different from player to player. The index only remains constant between all calls to GuildRoster() and local to each machine.
GuildNameToIndex(name [, searchOffline])
- String - The name of the player to search for. Case-insensitive.
- Boolean - Whether to search the offline players for this player. Default is false.
- Number - A number between 1 and the size of the guild (inclusive) if the player is found. Nil if they are not found. Note, most predefined guild functions do not error if passed an index of 0 and will return a null result (such a nil, 0, false or ""), however it is best you check for a return value before calling them (use better coding standards than Blizzard did!)
local bob_i = GuildNameToIndex("bob") local offline_bob_i = GuildNameToIndex("bob", true)
local function GuildNameToIndex(name, searchOffline) name = string.lower(name) for i = 1,GetNumGuildMembers(searchOffline) do if string.lower((GetGuildRosterInfo(i))) == name then return i end end end