Bom, estou com um problema aqui, quando o lнder de alguma orgs digita /contaslider, o cara continua de lider na org oO
pawn Код:
// /contaslider:
if(!strcmp("/contaslider", cmdtext, true))
{
if(PlayerInfo[playerid][pLider] == 0)
{
SendClientMessage(playerid,COLOR_GREY," Vocк nгo й lнder de nenhuma organizaзгo!");
return 1;
}
DemitirInfoOrg(PlayerName(playerid));
gTeam[playerid] = 3;
PlayerInfo[playerid][pTeam] = 3;
PlayerInfo[playerid][pMembro] = 0;
PlayerInfo[playerid][pLider] = 0;
PlayerInfo[playerid][pCargo] = 0;
if(PlayerInfo[playerid][pSex] == 1) { PlayerInfo[playerid][pSkin] = 23; } else { PlayerInfo[playerid][pSkin] = 216; }
SetSpawnInfo(playerid, gTeam[playerid], PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0);
MedicBill[playerid] = 0;
SpawnPlayer(playerid);
MedicBill[playerid] = 0;
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Vocк pediu as contas, agora vocк й um Civil novamente!");
return 1;
}
//callback DemitirInfoOrg:
public DemitirInfoOrg(nome[])
{
new arquivo[128];
for(new i = 1; i < sizeof(InfoOrg); i++)
{
format(arquivo, sizeof(arquivo), "InfoOrg/Org%d.cfg",i);
if(strcmp(nome,InfoOrg[i][Lider],true)==0)
{
strmid(InfoOrg[i][Lider], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Lider","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][SubLider],true)==0)
{
strmid(InfoOrg[i][SubLider], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"SubLider","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro1],true)==0)
{
strmid(InfoOrg[i][Membro1], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro1","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro2],true)==0)
{
strmid(InfoOrg[i][Membro2], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro2","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro3],true)==0)
{
strmid(InfoOrg[i][Membro3], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro3","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro4],true)==0)
{
strmid(InfoOrg[i][Membro4], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro4","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro5],true)==0)
{
strmid(InfoOrg[i][Membro5], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro5","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro6],true)==0)
{
strmid(InfoOrg[i][Membro6], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro6","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro7],true)==0)
{
strmid(InfoOrg[i][Membro7], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro7","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro8],true)==0)
{
strmid(InfoOrg[i][Membro8], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro8","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro9],true)==0)
{
strmid(InfoOrg[i][Membro9], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro9","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro10],true)==0)
{
strmid(InfoOrg[i][Membro10], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro10","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro11],true)==0)
{
strmid(InfoOrg[i][Membro11], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro11","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro12],true)==0)
{
strmid(InfoOrg[i][Membro12], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro12","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro13],true)==0)
{
strmid(InfoOrg[i][Membro13], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro13","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro14],true)==0)
{
strmid(InfoOrg[i][Membro14], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro14","Ninguem");
return 1;
}
if(strcmp(nome,InfoOrg[i][Membro15],true)==0)
{
strmid(InfoOrg[i][Membro15], "Ninguem", 0, strlen("Ninguem"), MAX_PLAYER_NAME);
DOF2_SetString(arquivo,"Membro15","Ninguem");
return 1;
}
}
return 0;
}
// /orgs:
if (strcmp("/infolider", cmdtext, true, 10) == 0 || strcmp(cmd, "/orgs", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new DialogVinny[1500];
//SendClientMessage(playerid, 0xFF00FFAA, "[BPC] Lideres das Organizaзхes:");
format(string,sizeof(string), "{FF9000} 1 - {FFFFFF}Policia Militar:{FF9000} %s\n", InfoOrg[1][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 2 - {FFFFFF}B.O.P.E:{FF9000} %s\n", InfoOrg[2][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 3 - {FFFFFF}Exйrcito:{FF9000} %s\n", InfoOrg[3][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 4 - {FFFFFF}Mйdicos:{FF9000} %s\n", InfoOrg[4][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 5 - {FFFFFF}Aztecas:{FF9000} %s\n", InfoOrg[5][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 6 - {FFFFFF}Taliban:{FF9000} %s\n", InfoOrg[6][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 7 - {FFFFFF}Prefeitura: {FF9000}%s\n", InfoOrg[7][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 8 - {FFFFFF}Hitmans:{FF9000} %s\n", InfoOrg[8][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 9 - {FFFFFF}Reporteres:{FF9000} %s\n", InfoOrg[9][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 10 - {FFFFFF}Taxistas:{FF9000} %s\n", InfoOrg[10][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 11 - {FFFFFF}Policia Federal:{FF9000} %s\n", InfoOrg[11][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 12 - {FFFFFF}Cosa Nostra:{FF9000} %s\n", InfoOrg[12][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 13 - {FFFFFF}Yakuza:{FF9000} %s\n", InfoOrg[13][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 14 - {FFFFFF}Groove:{FF9000} %s\n", InfoOrg[14][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 15 - {FFFFFF}Al'qaeda:{FF9000} %s\n", InfoOrg[15][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 16 - {FFFFFF}Polнcia Rodoviбria: {FF9000}%s\n", InfoOrg[16][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 17 - {FFFFFF}Ballas: {FF9000}%s\n", InfoOrg[17][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 18 - {FFFFFF}Vagos:{FF9000} %s\n", InfoOrg[18][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 19 - {FFFFFF}Comando Vermelho:{FF9000} %s\n", InfoOrg[19][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 20 - {FFFFFF}PCC: {FF9000}%s\n", InfoOrg[20][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 21 - {FFFFFF}Hells Angels:{FF9000} %s\n", InfoOrg[21][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 22 - {FFFFFF}Mongols:{FF9000} %s\n", InfoOrg[22][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 23 - {FFFFFF}Sons Of Anarchy:{FF9000} %s\n", InfoOrg[23][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 24 - {FFFFFF}Triads:{FF9000} %s\n", InfoOrg[24][Lider]);
strcat(DialogVinny,string);
format(string,sizeof(string), " 25 - {FFFFFF}Drifters:{FF9000} %s\n\n", InfoOrg[25][Lider]);
strcat(DialogVinny,string);
ShowPlayerDialog(playerid, 8723, DIALOG_STYLE_MSGBOX, "{00ECEC}Lнderes das Organizaзхes", DialogVinny, "Fechar", "");
}
return true;
}
E quando eu limpo o lider, o cara sai.. isso pode ter algo em comum .. mais n ao consigo sabe oque й.
, ou seja, o PlayerInfo[playerid][pLider] diz que ele nгo й lнder, mas o InfoOrg[][] diz que ele й. Oque causa um conflito nos comandos.
Opa valeu ae cara, mais nгo faзo a ideia de tipo, como localizar e corrigir pode me dar uma ajuda mais profunda?
Agradeзo.
Dentro do /contaslider(depois do PlayerInfo[playerid][pLider = 0;], precisa fazer um loop(for), dentro desse loop precisa verificar se o jogador й lнder da determinada org, caso seja, faзa:
Como o DogeMan disse acho que funcionaria , mais eu nгo dou conta de fazer oque ele disse.