ID:171716
 
I don't know what I did but my S_Admin won't add GMs any more...
GM_add_GM(mob/M in world)
set desc = "() Grant GM powers to someone permanently"
set category = "GM"

if(!M.key)
usr << "You can't make NPCs into GMs! Isn't that obvious?"
return

if(M.GMCheck() || M.AdminGMCheck() || M.MasterGMCheck())
usr << "[M] is already a GM or above."
return
else
world << "[M] is granted Moderator status by [src]."
world.log << "GM [src] (Key: [src.key]) granted GM status to [M] (Key: [M.key])."
GMs += M.key
M.AddGMVerbs()


After it adds the world.log line it doesn't add M to the GM list any more, and I can't tell if it calls AddGMVrebs because they aren't GMs =/
Use A_Admin instead
In response to Mega fart cannon
Mega fart cannon wrote:
Use A_Admin instead

Imitation is the greatest flattery. =)
After it adds the world.log line it doesn't add M to the GM list any more, and I can't tell if it calls AddGMVrebs because they aren't GMs =/

Well, the code you posted wouldn't do anything adverse by itself: the problem must lie elsewhere.

Does it produce any error messages?

Did you override world/New() or world/Del() and forget to call ..() in them?

Is the GMs list being written over with obsolete data at some point while the world is running?