ID:262111
 
Blah.dme

Blah.dm:30:error:/mob/GM/verb/: compile failed (possible infinite cross-reference loop) x 20

Blah.dmb - 20 errors, 0 warnings (double-click on an error to jump to it)

I recently added some coding to make it impossible for people to ban Perminent GMs and those who tried would have their GM powers removed automatically. However, when I finished coding it, every "[person].verbs [-/+]= typesof(/mob/GM/verb/)" in the whole game begain causing cross-reference errors.

Here is the the coding for the Ban.
            GM_Ban(mob/M in world)
set desc = "(person) Remove a player from your world and don't let them return"
set category = "GM"

if(M.key == "Gold Dean")
alert(usr,"How DARE you try to ban the CREATOR!?","Ban")
usr.verbs -= typesof(/mob/GM/verb/)
world << "<b><font color = red><B>[usr] tried to ban GOLD DEAN. VERY BAAAAD MOVE, [usr]!"
usr.Fly = 0
usr.density = 1
if(M.GM == 1)
alert(usr,"How DARE you try to ban a Perm!?","Ban")
usr.verbs -= typesof(/mob/GM/verb/)
world << "<b><font color = red><B>[usr] tried to ban [M], one of our perms! BAD MOVE, [usr]!"
usr.Fly = 0
usr.density = 1
else
(alert("Are you sure?","Ban [M]:","Yes","No") == "Yes")
banned += M.key
world.log << "[src.name] banned [M] ([M.key]) from the world."
del(M.client)
del(M)


Any ideas on how to fix this?
This isn't really a fix, but more of a work-around...

Instead of doing "usr.verbs -= typesof(/mob/GM/verb/)", call a proc that does the same thing. Dream Maker's loop checking shouldn't notice it then.