[Ajuda] Sistema de demitir lider offline
#1

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!
Reply
#2

PlayerInfo[playerid][pLeader] = 0;
Reply
#3

dafuq ??
Reply
#4

Tenta fazer o que ele disse, tenta trocar

Код:
if(PlayerInfo[playerid][pLeader] != 0)
por

Код:
if(PlayerInfo[playerid][pLeader] = 0)
Se nгo funcionar reposte.
Reply
#5

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
Reply
#6

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
Reply
#7

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
Reply
#8

UP
Reply
#9

se ele for 0 vai estar setando que ele nao й de nada :S coloca primeiro dps testa e fala o que deu
Reply
#10

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)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)