ID:754355
 
Code:
mob/var/guilda/guildax
var/list/guildas=list()

guilda
var
nome = ""
exp = 0
mexp = 0
qtdJogadores = 0
maxJogadores = 3
dinheiroGuilda = 0
ouroGuilda = 0
level = 1
gvgwin
gvgtotal
rank
// conselhos
lider
list/membros=list()


New(mob/L,guildanome)
if(L == null)
return

nome = guildanome
src.addLider(L)
src.SetStatus(L,"Lider")
guildas+=src
mexp = 8500
// salveGuildas()
proc
addMembro() // used to add a member to the clan
addLider()
RemoverMembro() // used to remove a member to the clan
SetStatus() // used to set the rank a member of the clan
AddGrana() // used to add funds to the clan
RemoveFunds() // used to remove funds to the clan
GlobalMessage() // used to give/recieve messages to clan members
setQtdMax()
upLevel()
upGuilda()
// Leader() // used to automatically grab the leader of the clan.
//DisbandClan() // used to obliterate all clan members and delete the clan entirely.



guilda
GlobalMessage(n)
for(var/mob/M in membros)
M<<n
AddGrana(n,nome)
usr.guildax.dinheiroGuilda += n
GlobalMessage("[usr] adiciounou a guilda [n] de dinheiro")
addLider(mob/M)
if(maxJogadores > qtdJogadores )
membros+=M
qtdJogadores++
M.guildax=src
if(qtdJogadores > 1)
src.SetStatus(M,"Membro")
GlobalMessage("[M] entrou na guilda!")
addMembro(mob/M)
if(maxJogadores > qtdJogadores )
if(M.guildax == null)
switch(alert(M,"Voce gostaria de entrar na Guilda de [usr.guildax.nome]?","","Sim","Não"))
if("Sim")
membros+=M
qtdJogadores++
M.guildax=src
if(qtdJogadores > 1)
src.SetStatus(M,"Membro")
GlobalMessage("[M] entrou na guilda!")
if("Não")
usr<<"[M] rejeitou seu convite"
else
usr << "[M] ja esta em guilda"
SetStatus(mob/M,status)
membros[M]=status
switch(status)
if("Lider")
M.verbs+=typesof(/mob/guilda/lider/verb)
M.verbs+=typesof(/mob/guilda/recrutador/verb)
M.verbs+=typesof(/mob/guilda/membro/verb)
if("Recrutador")
M.verbs+=typesof(/mob/guilda/recrutador/verb)
M.verbs+=typesof(/mob/guilda/membro/verb)
if("Membro")
M.verbs+=typesof(/mob/guilda/membro/verb)
RemoverMembro(mob/M)
M.verbs-=typesof(/mob/guilda/lider/verb)
M.verbs-=typesof(/mob/guilda/recrutador/verb)
M.verbs-=typesof(/mob/guilda/membro/verb)
membros-=M
M.guildax.qtdJogadores--
M.guildax=null
GlobalMessage("[M] foi expulso da guilda")
setQtdMax(n)
maxJogadores+= n
upLevel()
if(level == 1)
if(mexp >= 8500) //8500
level = 2
exp = 0
setQtdMax(2)
else if(level == 2)
if(mexp >= 41000) //41k
level = 3
exp = 0
setQtdMax(3)
else if(level == 3)
if(mexp >= 88000 ) //88k
level = 4
exp = 0
setQtdMax(3)
else if(level == 4)
if(mexp >= 150000) // 150k
level = 5
exp = 0
upGuilda(mob/M)
//set background = 1
if(M.name=="{NPC}Demi Hollow")
exp+= 25
else if(M.name=="{NPC}Hollow")
exp+= 45
else if(M.name=="{NPC}Hollow")
exp+= 65
else if(M.name=="{NPC}Grande Menos")
exp+= 80
else if(M.name=="Menos Grande Nv2")
exp+= 105
else if(M.name=="{NPC}Arrancar Espada")
exp+= 135
else if(M.name=="Arrancar Avançado")
exp+= 150
else if(M.name=="{NPC}Arrancar Espada")
exp+= 200
upLevel()

mob
guilda
lider
verb
Take_Funds(n as num)
set category="Guilda"
set name = "Retirar Dinheiro"
if(n >= guildax.dinheiroGuilda)
guildax.dinheiroGuilda-=n
usr.Yen += n
Remove_Member(var/mob/M in guildax.membros)
set name = "Remover Membro"
set category="Guilda"
guildax.RemoverMembro(M)
Change_Rank(var/mob/M in guildax.membros)
set name = "Mudar Rank"
set category="Guilda"
var/newrank=input("Make [M] what","promote/demote")in list("Membro","Recrutador")
guildax.SetStatus(M,newrank)
recrutador
verb
Invite(var/mob/m in world)
set name = "Convidar"
set category="Guilda"
if(guildax.maxJogadores > guildax.qtdJogadores )
guildax.addMembro(m)
else
usr<<"Capacidade maxima da guilda atigida"

membro
verb
ClanTalk(t as text)
set category="Guilda"
set name = "Guilda-Chat"
guildax.GlobalMessage("(Guilda-Chat) [src]: [t]")
Donate(n as num)
set category="Guilda"
set name = "Adicionar Dinheiro Guilda"
src.guildax.AddGrana(n,src.name)
Check_Funds()
set category="Guilda"
usr<<"Clan Funds: [guildax.dinheiroGuilda]"
Check_Members()
set category="Guilda"
set name = "Verificar Membros online"
src<<"Total De Membros: [guildax.qtdJogadores]"
for(var/mob/M in guildax.membros)
src<<"[M] ([guildax.membros[M]])"
verb
CreateClan(c as text)
set hidden = 1
if(guildax)return
new/guilda(usr,c)


Problem description:
guild system that I'm doing all right until someone from the guild relog, how can I solve this?
What happens when they "relog"? what does relog mean?

Might want to give us a better example...
excuse and translation, relog = logout, exit game and return, or just leave, when the leader or a member leaves out bug, I want to create these shared variables, exp guild for example, works until someone logout

alguem? quero fazer essas variaveis estarem online enquanto o mundo tiver online,do jeito que fiz acima esta ligada a um mob,lider of,var null,bug