ID:142422
 
Code:
            GuildBoot(mob/M in Guild)
set category = "Guild"
if(M.GuildLevel >= usr.GuildLevel)
usr<<"You May Not Boot Higher Ranks!"
del(usr)
if(M.GuildLevel <= usr.GuildLevel)
for(var/mob/A in world)
if(A.Guild == src.Guild)
A<<"[M] Was Booted From The Guild By [usr]"
A.GuildName=null
A.GuildRank=null
A.GuildLevel=null
A.InGuild=0
A.verbs -= /mob/GuildPlayer/verb
A.verbs -= /mob/GuildLeader/verb

mob/verb/LeaveGuild()
set category = "Guild"
if(usr.InGuild>=1)
world<<"<font color=red>GuildInfo:<font color=silver>[usr] Has Left The Guild [usr.GuildName]!"
usr.GuildName=null
usr.GuildRank=null
usr.GuildLevel=0
usr.InGuild=0
usr.HasGuild=0
usr.Guild=null
usr.verbs -= typesof(/mob/GuildPlayer/verb)
usr.verbs -= typesof(/mob/GuildLeader/verb)
fdel("Player/[usr.key]/[usr.Guild].html")

mob/verb/CreateGuild()
set category = "Guild"
if(usr.InGuild>=1)
usr<<"You are in a guild already!"
else
usr.InGuild=1
usr.GuildRank="Elder"
usr.GuildLevel=10
usr.HasGuild=1
var/text = input("")
usr.Guild="[text]"
usr.verbs += new /mob/GuildLeader/verb
usr.verbs += typesof(/mob/GuildPlayer/verb)
usr.GuildName="[text]"
world<<"<font color=blue>GuildInfo:<font color=red>[usr] Created The [usr.GuildName]"
usr.Guild=("Players/[usr.key]/[usr.Guild].html")

Guild System.dm:26:error:/mob/GuildLeader/verb: compile failed (possible infinite cross loop)
Guild System.dm:42:error:/mob/GuildLeader/verb: compile failed (possible infinite cross loop)
Guild System.dm:175:error:/mob/GuildLeader/verb: compile failed (possible infinite cross loop)


Problem description:
The possible infinite cross loop only fixes if i take out the last one but the last one i need because if i do take it out the user will be able too affect guilds and stuff..


You used verbs all wrong.

When removing/adding verbs, you use usr.verbs +=/-= typesof(/mob/whatever/verb). That returns a list of all the verbs under that type and removes/adds them to the usr's verbs. new /mob/whatever/verb is incorrect, as you cannot create a verb path (as far as I know). usr.verbs -= /mob/whatever/verb would only remove /mob/whatever/verb, not the actual verbs themselves from the list of verbs.
In response to Jeff8500
yeah i changed it from that because that way i had the same errors so i tried different ways etc.
In response to Megelic
typesof() will not work if it is inside the declaration of a proc which it would include. IE:

mob/verb/mobverbs()
var/list/L = typesof(/mob/verb)
for(var/v in L)
usr << v


To solve this, you need to separate the declaration and the implementation of the verb, like so:

//declaration
mob/verb/mobverbs()

//implementation
mob/mobverbs()
var/list/L = typesof(/mob/verb)
for(var/v in L)
usr << v
In response to Garthor
Ohhh I get it thanks
In response to Megelic
-sigh- It caused more errors :
            GuildBan()
set category="Guild"
switch(input("Are you sure you which to quit this guild and make everyone else quit aswell?",,"Yes","No"))
if("Yes")
world<<"[usr] Has Ended The Guild [usr.GuildName]"
for(var/mob/M in world)
if(M.Guild == src.Guild)
M<<"[usr] Has Ended The Guild"
M.GuildName=null
M.GuildRank=null
M.GuildLevel=null
M.InGuild=0
M.HasGuild=null
M.Guild=null
fdel("Players/[usr.key]/[usr.Guild].html")
var/list/L=typesof(/mob/GuildPlayer/verb,/mob/GuildLeader/verb,/mob/Guild2/verb)
for(var/v in L)
A << v

Error:
GuildSystem.dm:194:error:/mob/GuildLeader/verb compile failed(possible infinite cross reference loop)
GuildSystem.dm:195:error:L:compile failed(possible infinite cross reference loop)

In response to Megelic
Megelic wrote:
-sigh- It caused more errors :
> 
> GuildBan()
> set category="Guild"
> switch(input("Are you sure you which to quit this guild and make everyone else quit aswell?",,"Yes","No"))
> // etc.


Judging by your indentation level, I'm going to guess that you didn't listen to or follow what Garthor said at all. It looks like you have this:
mob
GuildLeader
verb
GuildBan()
set category="Guild"
switch(input("Are you sure you which to quit this guild and make everyone else quit aswell?",,"Yes","No"))

// etc.

Instead, you need to do this:
mob
GuildLeader
verb
GuildBan()

GuildBan()
set category="Guild"
switch(input("Are you sure you which to quit this guild and make everyone else quit aswell?",,"Yes","No"))

// etc.
In response to Kuraudo
Oh i get it
-sigh-
I'm just gonna make a proc that gives and takes away verbs
In response to Kuraudo
i tried that ....instead i just made a proc to give the verbs -_-