17.07.2018, 04:55
Bom, o sistema esta funcionando mas apenas em uma org (no caso a primeira org(id 1)) quando o player da /demitir, a vaga de quem foi demitido й limpada, mas somente na org 1, se o lнder for da org 2 em diante, ao usar o comando, o player й demitido mas nгo й limpada a vaga dele. E o mesmo acontece com o comando /pedircontas. Alguйm pode me ajudar ?
Quote:
CMDedircontas (playerid, params[]) { if(Logado[playerid] == 1) { if(GetPlayerOrg(playerid) < 1) { SendClientMessage (playerid, CMD_ERRO, "Vocк nгo participa de uma equipe."); return 1; } if(PlayerInfo[playerid][pLider] > 1) { SendClientMessage(playerid, CMD_ERRO, "Vocк nгo pode pedir contas, use /contaslider."); return 1; } if(PlayerInfo[playerid][pMembro] >= 1) { new file[64], pname[MAX_PLAYER_NAME]; RemovePlayerFromVehicle(playerid); GetPlayerName(playerid, pname, sizeof(pname)); format(file, sizeof(file), Contas, pname); DOF2_SetInt(file, "Lider", PlayerInfo[playerid][pLider] = 0); DOF2_SetInt(file, "Membro", PlayerInfo[playerid][pMembro] = 0); DOF2_SetInt(file, "Org", PlayerInfo[playerid][pOrg] = 0); DOF2_SetInt(file, "Cargo", PlayerInfo[playerid][pCargo] = 0); SendClientMessage(playerid, 0x00FFFFAA, "Vocк pediu contas da organizaзгo. Agora vocк й um Civil."); DemitirInfoOrg(pname); SetPlayerToTeamColor(playerid); SpawnDebug(playerid); return 1; }} return 1; } CMD:demitir (playerid, params[]) { new id, motivo[100],we[64]; format(we, sizeof(we), Contas, PlayerName(playerid)); if(DOF2_GetInt(we,"Lider") > 0 || DOF2_GetInt(we,"Cargo") > 5) { if(sscanf(params, "us[100]", id, motivo)) { SendClientMessage (playerid, 0x808080AA, "Use: /demitir [ID / NICK] [MOTIVO]."); return 1; } if(GetPlayerOrg(id) != GetPlayerOrg(playerid)) { SendClientMessage(playerid, CMD_ERRO, "Vocк nгo pode demitir alguem que nгo й da sua organizaзгo."); return 1; } if(PlayerInfo[id][pLider] > 0) { SendClientMessage(playerid, CMD_ERRO, "Vocк nгo pode demitir Lнderes."); return 1; } if(IsPlayerConnected(id)) { if(GetPlayerOrg(id) > 0) { RemovePlayerFromVehicle(id); new str[MAX_STRING], pname[MAX_STRING], uname[MAX_STRING], file[64]; GetPlayerName(playerid, pname, sizeof(pname)); GetPlayerName(id, uname, sizeof(uname)); format(file, sizeof(file), Contas, uname); format(str, sizeof(str), "{FF8080}Vocк foi demitido por {FFFFFF}[ %s ] {FF8080}da organizaзгo: {FFFFFF}[ %s ].{FF8080}Motivo: {FFFFFF}[ %s ].", pname, NomeOrg(playerid), motivo); SendClientMessage(id, -1, str); SendClientMessage(id, CMD_ERRO, "Vocк й um Civil novamente."); format(str, sizeof(str), "{FF8080}Vocк demitiu {FFFFFF}[ %s ] {FF8080}de sua organizaзгo. Motivo: {FFFFFF}[ %s ].", uname, motivo); SendClientMessage(playerid, -1, str); DOF2_SetInt(file, "Lider", PlayerInfo[id][pLider] = 0); DOF2_SetInt(file, "Membro", PlayerInfo[id][pMembro] = 0); DOF2_SetInt(file, "Org", PlayerInfo[id][pOrg] = 0); DOF2_SetInt(file, "Cargo", PlayerInfo[id][pCargo] = 0); DOF2_SaveFile(); SpawnDebug(id); DemitirInfoOrg(uname); SetPlayerToTeamColor(id); return 1; }}} return 1; } BPH:emitirInfoOrg(nome[]) { new file[64], str[128]; for(new i = 1 ; i < sizeof(InfoOrg); ++i) { format(file, sizeof(file), Membros_Org, i); if(strcmp(nome, InfoOrg[i][Lider], true) == 0) { strmid(InfoOrg[i][Lider], "Ninguйm", 0, strlen("Ninguйm"), MAX_PLAYER_NAME); DOF2_SetString(file,"Lider","Ninguйm"); DOF2_SaveFile(); return 1; } if(strcmp(nome, InfoOrg[i][SubLider], true) == 0) { strmid(InfoOrg[i][SubLider], "Ninguйm", 0, strlen("Ninguйm"), MAX_PLAYER_NAME); DOF2_SetString(file, "SubLider", "Ninguйm"); DOF2_SaveFile(); return 1; } if(strcmp(nome, InfoOrg[i][SubLider2], true) == 0) { strmid(InfoOrg[i][SubLider2], "Ninguйm", 0, strlen("Ninguйm"), MAX_PLAYER_NAME); DOF2_SetString(file, "SubLider2", "Ninguйm"); DOF2_SaveFile(); return 1; } for(new m = 1; m < MAX_MEMBROS; ++i) if(strcmp(nome, InfoMembros[i][m], true) == 0) { strmid(InfoMembros[i][m], "Ninguйm", 0, strlen("Ninguйm"), MAX_PLAYER_NAME); format(str, sizeof(str), "Membro%d", m); DOF2_SetString(file, str, "Ninguйm"); DOF2_SaveFile(); return 1; }} return 1; } |