Sistema de demitir lider offline -
lukas_loky - 05.12.2012
Olб gente, eu criei um sistema de demitir lideres offline(e tambem online) mas ta dando um problema... ta demitindo o lider mesmo que eu nгo tenha demitido ele.
OBS:O gm ja veio com o PlayerInfo mas o OrgInfo eu que coloquei, o sistema й pra toda vez que eu digita /limparlider, vai limpar o lider do OrgInfo[numero da org][Lider] pra "Vazio", e ai quando o player spawnar vai ver ele for lider e a OrgInfo[orgdele][Lider] й diferente do nome dele, se for ele й demitido. O problema й que toda vez que ele spawna ele perde o lider... PS: O gm nao apresenta nenhum erro
Код:
if (strcmp(cmd, "/limparlider", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem autorizaзгo pra usar esse comando!");
return true;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USE: /limparlider [1-23]");
return true;
}
new level = strval(tmp);
if(level < 1 || level > 23) { SendClientMessage(playerid, COLOR_GREY, "Vaga mнnima 1, mбxima 23 !"); return true; }
new limpado = GetPlayerID(OrgInfo[level][Lider]);
if(IsPlayerConnected(limpado)) { SpawnPlayer(limpado); }
format(OrgInfo[level][Lider],MAX_PLAYER_NAME,"Vazio");
format(string, sizeof(string), "Vocк limpou o lнder da organizaзгo Nє %d",level);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
return 1;
}
no OnPlayerSpawn
Код:
if(PlayerInfo[playerid][pLeader] != 0)
{
new pname[MAX_PLAYER_NAME];
if(GetPlayerName(playerid,pname,sizeof(pname)) != OrgInfo[PlayerInfo[playerid][pLeader]][Lider])
{
PlayerInfo[playerid][pLeader] = 0;
SendClientMessage(playerid,COLOR_GRAD1,"Seu lider foi removido por algum adm!");
SendClientMessage(playerid,COLOR_GRAD1,"Se vocк acredita que isso й um erro, contate o suporte!");
PlayerInfo[playerid][pTeam] = 3;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pModel] = 0;
SetPlayerSkin(playerid, 23);
gTeam[playerid] = 3;
}
}
Eu acho que o erro ta nessa linha
Код:
if(GetPlayerName(playerid,pname,sizeof(pname)) != OrgInfo[PlayerInfo[playerid][pLeader]][Lider])
Muito obrigado pra qualquer um que ajudar, ou tentar ajudar!
Respuesta: Sistema de demitir lider offline -
gabrielloko157 - 05.12.2012
PlayerInfo[playerid][pLeader] = 0;
Re: Sistema de demitir lider offline -
lukas_loky - 05.12.2012
dafuq
??
Re: Sistema de demitir lider offline -
DexterBR - 06.12.2012
Tenta fazer o que ele disse, tenta trocar
Код:
if(PlayerInfo[playerid][pLeader] != 0)
por
Код:
if(PlayerInfo[playerid][pLeader] = 0)
Se nгo funcionar reposte.
Re: Sistema de demitir lider offline -
lukas_loky - 06.12.2012
Isso nao faz o menor sentido '-', ok mas vou tentar aqui e edito
PS: sao 2 iguais == 0
@edit
Aconteceu oq eu achei que ia acontecer...
Agora o cara nao perde o lider quando spawna mas tambem nao perde se eu der /limparlider... Porque O PlayerInfo[playerid][pLider] й diferente de zero se ele for lider, se colocar = zero nao vai adiantar
Respuesta: Sistema de demitir lider offline -
gabrielloko157 - 06.12.2012
0 ta definindo que ele nao й lider de nenhuma org й a porque a org 0 й para desbugar
do esta definido como org 0 porque 0 й civil
se й civil nao pode ser membro daquela org
Re: Sistema de demitir lider offline -
lukas_loky - 06.12.2012
Mas entao o codigo teria que ser ao contrario...
Do jeito que estб ta verificando se ele nao for lider de nenhuma organizaзao vai checar se ele ainda й o lider
Nгo faz sentido
Re: Sistema de demitir lider offline -
lukas_loky - 06.12.2012
UP
Respuesta: Sistema de demitir lider offline -
gabrielloko157 - 06.12.2012
se ele for 0 vai estar setando que ele nao й de nada :S coloca primeiro dps testa e fala o que deu
Re: Sistema de demitir lider offline -
lukas_loky - 06.12.2012
nao... se for 0 vai tar
checando se nao й nada... ja testei e ja postei os resultados ali em cima kkk
if(PlayerInfo[playerid][pLeader] != 0)