Bom galera, faz uma semana que to tentando fazer um sistema de organizaзхes, fiz vбrios modelos, mais nenhum satisfaz minhas vontades, que й de salvar a org em uma pasta com um arquivo com o nome da organzaзгo. dentro desse arquivo o lider, os membros, os fundos e drogas da org.
Код:
#include a_samp
#include zcmd
#include sscanf2
#include dof2
#define Civil 0
#define Polнcia_Militar 1
#define Exйrcito 2
#define Policia_Federal 3
#define Estado_Islвmico 4
#define Comando_Vermelho 5
#define PCC 6
#define Familia_do_Norte 7
#define Familia_Groove 8
#define Famнlia_Ballas 9
#define Milнcia 10
#define COR_GROO 0x00FF0099 // cor das orgs
#define COR_BALL 0xA020F099
#define COR_PCC 0xFFFFFFFF
#define COR_CV 0xA020F099
#define COR_FDN 0xFFFFFFFF
#define COR_PM 0x4169E199
#define COR_PF 0x00FF0099
#define COR_EB 0xA020F099
#define COR_MIL 0xFFFFFFFF
#define COR_EST 0xA020F099
#define LOCALHQ_PCC 2170.8975,1702.2501,10.6239
#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
#define COR_AV_ADM 0x007CF6AA
#define COR_AZUL_CLARO 0x00F6F6AA
#define COR_RAD 0x4876FFAA
enum PlayerDados //O enum serve, na maioria das veses, para ser usado em outras variaveis como pode ver abaixo
{
Organizacao,
Cargo
}
new pDados[MAX_PLAYERS][PlayerDados]; //Criamos a varнavel que amarzenarб os Dados do player
public OnPlayerConnect(playerid)
{
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizaзгo");
pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
SpawnPlayer(playerid); //Dб SPAWN no player
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
if(DOF2_FileExists(arquivo)) //Se a Conta existir
{
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
else //Se a conta nгo esxitir
{
DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
return 1;
}
public OnPlayerUpdate(playerid)
{
new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as vбriaveos que irгo armazenar o arquivo e o nome do jogador
GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
format(arquivo, sizeof(arquivo), "Contas/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
if(DOF2_FileExists(arquivo)) //Se a Conta existir
{
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
else //Se a conta nгo esxitir
{
DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
DOF2_SetInt(arquivo, "Organizaзгo", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
}
return 1;
}
public OnGameModeExit()
{
DOF2_Exit(); //Sempre coloque isto aqui quando estiver a usar DOF2, ou irб dar um WARN, e mau funcionamento da include
return 1;
}
public OnPlayerSpawn(playerid)
{
if(pDados[playerid][Organizacao] == 0)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, -1);
}
else if(pDados[playerid][Organizacao] == 1)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_PM);
}
else if(pDados[playerid][Organizacao] == 2)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_EB);
}
else if(pDados[playerid][Organizacao] == 3)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_PF);
}
else if(pDados[playerid][Organizacao] == 4)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_EST);
}
else if(pDados[playerid][Organizacao] == 5)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_CV);
}
else if(pDados[playerid][Organizacao] == 6)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_PCC);
}
else if(pDados[playerid][Organizacao] == 7)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_FDN);
}
else if(pDados[playerid][Organizacao] == 8)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_GROO);
}
else if(pDados[playerid][Organizacao] == 9)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_BALL);
}
else if(pDados[playerid][Organizacao] == 10)
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerColor(playerid, COR_MIL);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 100)
{
new playername[MAX_PLAYER_NAME], string[128]; //Variaveis que irб armazenar o nome e "string"
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome do player que aparaceu o dialog
if(response) //Se ele clicar em SIM...
{
pDados[playerid][Organizacao] = GetPVarInt(playerid, "OrgConvidado"); //Seta a organizaзгo de acordo com a PVarInt do comando /convida
pDados[playerid][Cargo] = 1; //Seta o cargo a 1
format(string, sizeof(string), "%s aceitou seu Convite.", playername); //Formata uma mensagem com o nome do player que aceitou
SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensgaem a quem convidou
format(string, sizeof(string), "%s й o mais novo membro da Organizaзгo.", playername); //Formata uma mensgaem com o nome do player que aceitou
SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Manda a mensagem para a organizaзгo do player
SendClientMessage(playerid, 0x00FF00FF, "Vocк aceitou o Convite."); //Manda uma mensagem amigavel ao player que aceitou :P
DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
SpawnPlayer(playerid); //Spawn nele!
}
else //Se ele ciclar em NГO...
{
format(string, sizeof(string), "%s rejeitou seu Convite.", playername); //Formata a mensgaem com o nome do player que rejeitou o convite
SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensagem a quem convidou o player
SendClientMessage(playerid, 0x00FF00FF, "Vocк rejeitou o Convite."); //Manda uma mensagem amigavel ao player que rejeitou :P
DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
}
}
return 1;
}
CMD:membros(playerid)
{
new playername[MAX_PLAYER_NAME], string[128]; //Criamos variaveis que irгo armazenar o nome e mensganes formatadas
if(pDados[playerid][Organizacao] >= 1)
{
SendClientMessage(playerid, 0xBFC0C2FF, "(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
for(new i = 0; i < MAX_PLAYERS; i++) //Criamos um loop de acordo com o MAX_PLAYERS
{
if(IsPlayerConnected(i)) //Verifica se o "i" (player) do loop estб online
{
if(pDados[i][Organizacao] == pDados[playerid][Organizacao]) //Verifica se a organizaзгo do player (do loop) й igual a do player que digitou o comando
{
GetPlayerName(i, playername, sizeof(playername)); //Geta o nome do player(loop)...
if(pDados[i][Cargo] <= 4) //Verifica se o player do loop e cargo 4 ou menos
{
format(string, sizeof(string), "Membro: %s, Cargo: %d", playername, pDados[i][Cargo]); //Formata uma mensgaem com o nome e cargo do player (loop)
SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem do player que digitou o comando
}
else
{
if(pDados[i][Cargo] == 6) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
format(string, sizeof(string), "Membro: %s, Cargo: Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
else if(pDados[i][Cargo] == 5) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
format(string, sizeof(string), "Membro: %s, Cargo: Sub-Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
}
}
}
}
}
else
{
SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pertence a nenhuma Organizaзгo.");
}
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:r(playerid, params[])
{
new text[128], string[128], playername[MAX_PLAYER_NAME]; //Criando variavйs...
if(sscanf(params, "s", text)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /radio [MENSAGEM]");
if(pDados[playerid][Organizacao] == 0) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo participa de nenhuma organizaзгo!"); //Verifica se o player й CIVIL, se for, returna a mensagem
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem usou o comando
format(string, sizeof(string), "(Rбdio) %s [Cargo: %d] diz: %s", playername, pDados[playerid][Cargo], text); //Formata uma mensagem com o nome do player, cargo e a mensgem
SendFamilyMessage(pDados[playerid][Organizacao], COR_RAD, string); //Envia a mensagem a organizaзгo do player
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:convidar(playerid, params[])
{
new id, playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME], string[128]; //Cria variaveis que irгo armazenar id, nome e string
if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!"); //Vк se quem digitou o comando й lнder, se nгo, returna a mensagem
if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /convidar [ID]");
if(pDados[id][Organizacao] != 0) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador jб estб em uma Organizaзгo."); //Verifica se o player jб estб em alguma organizaзгo, se estiver, returna a mensagem
if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode convidar a vocк mesmo."); //Verifica se o "id" = id de quem digitou (playerid)
GetPlayerName(id, idname, sizeof(idname)); //Geta o nome do "id"
format(string, sizeof(string), "Vocк convidou %s para sua Organizaзгo.", idname); //Formata a mensagem com que foi convidado
SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem ao lнder
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem digitou o comando
format(string, sizeof(string), "%s estб lhe Convidando para fazer parte da Organizaзгo: %s \nDeseja aceitar?", playername, GetOrgName(pDados[playerid][Organizacao])); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
ShowPlayerDialog(id, 100, DIALOG_STYLE_MSGBOX, "Convite para organizaзгo", string, "Sim", "Nгo");
SetPVarInt(id, "OrgConvidado", pDados[playerid][Organizacao]); //Setando PVarInt que serб usar no OnDialogResponse
SetPVarInt(id, "QuemConvidou", playerid); //Setando PVarInt que serб usar no OnDialogResponse
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:promover(playerid, params[])
{
new id, cargo, string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME]; //Cria as vбriveis...
if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!"); //Verifica se o player que digitou o comando й lнder
if(sscanf(params, "dd", id, cargo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /promover [ID] [CARGO]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se o player que serб promovido estб online
if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo й da mesma Organizaзгo que vocк."); //Verifica se o "id" й da mesma organizaзгo do lнder
if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode promover a vocк mesmo."); //Verifica se o "id" й ele mesmo (playerid)
if(cargo >= 1 || cargo <= 5) //Verifica se o cargo estб entre 1 a 5
{
pDados[id][Cargo] = cargo; //Seta o cargo do player de acordo com o "cargo" que o lнder digitou
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome do player que digitou o comando
GetPlayerName(id, idname, sizeof(idname)); //Geta o nome de quem recebeu a promoзгo
format(string, sizeof(string), "%s promoveu o membro %s para o Cargo %d.", playername, idname, cargo); //Formata a mesgaem com quem prommoveu, quem foi promovido e o cargo
SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Envia a mensagem para a organizaзгo
format(string, sizeof(string), "%s te promoveu para o Cargo %d.", playername, cargo); //Formata a mensgame...
SendClientMessage(id, GetPlayerColor(playerid), string); //Envia a mesngaem para quem foi promovido
}
else //Caso o cargo nгo esta de 1 a 5, envia a mensagem abaixo:
{
SendClientMessage(playerid, 0xAD0000AA, "Cargos de 1 a 5");
return 1;
}
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:demitir(playerid, params[])
{
new id, motivo[128], string[128], playername[MAX_PLAYER_NAME], idname[MAX_PLAYER_NAME]; //Criando variaveis :P
if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!"); //Verifica se o player que digitou o comando й lider
if(sscanf(params, "ds", id, motivo)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /demitir [ID] [MOTIVO]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se quem serб demitido estб online
if(pDados[id][Organizacao] != pDados[playerid][Organizacao]) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo й da mesma Organizaзгo que vocк."); //Verifica se o "id" й da mesma organizaзгo do lнder
if(playerid == id) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pode demitir a vocк mesmo."); //Verifica se o "id" й ele mesmo (playerid)
pDados[id][Organizacao] = 0;
pDados[id][Cargo] = 0; //Seta o cargo od player a 0
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem demitiu
GetPlayerName(id, idname, sizeof(idname)); //Geta o nome de quem foi demitido
format(string, sizeof(string), "%s demitiu o membro %s da Organizaзгo.", playername, idname); //Formata uma mensagem com o nome de quem demitiu e quem foi demitido
SendFamilyMessage(pDados[playerid][Organizacao], GetPlayerColor(playerid), string); //Envia a mensagem para a organizaзгo
format(string, sizeof(string), "%s te demitiu da Organizaзгo. Motivo: %s.", playername, motivo); //Formata uma mensagem com o nome de quem demitiu e o motivo
SendClientMessage(id, GetPlayerColor(playerid), string); //Envia a mensagem para quem foi demitido
SpawnPlayer(id); //Spawn no nego!
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:darlider(playerid, params[])
{
new id, org, string[256], quemdeu[MAX_PLAYER_NAME], quemganhou[MAX_PLAYER_NAME]; //Cria vбriaveis que irб armazenar o id do lнder, a organizaзгo, o nome etc...
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xAD0000AA, "{00E5FF}Vocк nгo estб autorizado a usar este Comando."); //Verifica se o player estб logado na RCON, se nгo, returna a mensagem
if(sscanf(params, "ii", id, org)) return SendClientMessage(playerid, 0xAD0000AA, "USE: /darlider [ID] [ORGANIZAЗГO]");
if(org < 0 || org >= 11) return SendClientMessage(playerid, 0xAD0000AA, "Nъmero de Organizaзхes Permitidas: 0 б 10");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xAD0000AA, "Este jogador nгo estб online."); //Verifica se o player que iria ser setado lнder estб online
GetPlayerName(id, quemganhou, sizeof(quemganhou)); //Geta o nome de quem ganhou a lideanзa
GetPlayerName(playerid, quemdeu, sizeof(quemdeu)); //Geta o nome do admin que deu o lнder
format(string, sizeof(string), "Vocк deu lнder da Organizaзгo %s para %s(ID: %d)", GetOrgName(org), quemganhou, id); //Formata uma mensagem com o nome de quem ganhou a lideranзa, o nome da orgnizaзгo que foi setada e o "id"
SendClientMessage(playerid, 0x00F6F6AA, string); //Manda a mensgem formatada para quem digitou o comando (quem deu o lнder)
format(string, sizeof(string), "%s(ID: %d) te deu lнder da Organizaзгo %s.", quemdeu, playerid, GetOrgName(org)); //Formata uma mensgame com quem deu a lideranзa, o "playerid" e o nome organizaзгo setada
SendClientMessage(id, 0x00F6F6AA, string); //Envia a mensgaem formatada para que recebeu a lideranзa
format(string, sizeof(string), "%s(ID: %d) й o novo lнder da Organizaзгo %s.", quemganhou, id, GetOrgName(org)); //Formata a mensagem...
SendClientMessageToAll(0x00F6F6AA, string); //Envia a mensagem para todos Online
pDados[id][Organizacao] = org; //Seta a organizaзгo do "id"
pDados[id][Cargo] = 6; //Seta o cargo (lideranзa) do "id"
SpawnPlayer(id); //Spawna o player que rebeu a lideranзa
return 1; //Returnando a 1, nunca se esqueзa!
}
CMD:medemitir(playerid, params[])
{
if(pDados[playerid][Organizacao] > 0)
{
new zString[256], zNome[MAX_PLAYER_NAME], zMotivo[256];
if(sscanf(params, "s", zMotivo)) return SendClientMessage(playerid, 0xAD0000AA, "Use: /medemitir [MOTIVO]");
GetPlayerName(playerid, zNome, sizeof(zNome));
format(zString, sizeof(zString), "%s(ID: %d) se demitiu da organizaзгo %s. Motivo: %s", zNome, playerid, GetOrgName(pDados[playerid][Organizacao]), zMotivo);
SendClientMessageToAll(0x00F6F6AA, zString);
format(zString, sizeof(zString), "Vocк se demitiu da organizaзгo %s com sucesso.",GetOrgName(pDados[playerid][Organizacao]));
SendClientMessage(playerid, GetPlayerColor(playerid), zString);
pDados[playerid][Organizacao] = 0;
pDados[playerid][Cargo] = 0;
OnPlayerSpawn(playerid);
}
else
{
SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo participa de nenhuma organizaзгo!");
}
return 1;
}
CMD:equipar(playerid)
{
if(pDados[playerid][Organizacao] == 0)
{
SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo participa de nenhuma organizaзгo.");
}
else if(pDados[playerid][Organizacao] == 1)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Polнcia_Militar = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Polнcia_Militar);
GivePlayerWeapon(playerid, 25, Armas_Polнcia_Militar);*/
}
else if(pDados[playerid][Organizacao] == 2)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Exйrcito = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Exйrcito);
GivePlayerWeapon(playerid, 25, Armas_Exйrcito);*/
}
else if(pDados[playerid][Organizacao] == 3)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Polнcia_Federal = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Polнcia_Federal);
GivePlayerWeapon(playerid, 25, Armas_Polнcia_Federal);*/
}
else if(pDados[playerid][Organizacao] == 4)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Estado_Islвmico = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Estado_Islвmico);
GivePlayerWeapon(playerid, 25, Armas_Estado_Islвmico);*/
}
else if(pDados[playerid][Organizacao] == 5)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Comando_Vermelho = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Comando_Vermelho);
GivePlayerWeapon(playerid, 25, Armas_Comando_Vermelho);*/
}
else if(pDados[playerid][Organizacao] == 6)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_PCC = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_PCC);
GivePlayerWeapon(playerid, 25, Armas_PCC);*/
}
else if(pDados[playerid][Organizacao] == 7)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_do_Norte = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_do_Norte);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_do_Norte);*/
}
else if(pDados[playerid][Organizacao] == 8)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_Groove = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_Groove);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_Groove);*/
}
else if(pDados[playerid][Organizacao] == 9)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_Ballas = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_Ballas);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_Ballas);*/
}
else if(pDados[playerid][Organizacao] == 10)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo estб no local para se equipar");
/* new Armas_Milнcia = 300*pDados[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Milнcia);
GivePlayerWeapon(playerid, 25, Armas_Milнcia);*/
}
return 1; //Returnando a 1, nunca se esqueзa!
}
// ----------------------------------------------------------------------------------------------------------
stock GetOrgName(orgid)
{
new str[30];
if(orgid == 0)
{
str = "Civil";
}
if(orgid == 1)
{
str = "Polнcia Militar";
}
if(orgid == 2)
{
str = "Exйrcito";
}
if(orgid == 3)
{
str = "Polнcia Federal";
}
if(orgid == 4)
{
str = "Estado Islвmico";
}
if(orgid == 5)
{
str = "Comando Vermelho";
}
if(orgid == 6)
{
str = "PCC";
}
if(orgid == 7)
{
str = "Famнlia do Norte";
}
if(orgid == 8)
{
str = "Famнlia Groove";
}
if(orgid == 9)
{
str = "Famнlia Ballas";
}
if(orgid == 10)
{
str = "Milнcia";
}
return str;
}
stock SendFamilyMessage(orgid, cor, mensagem[]) //stock que envia a mensagem para tal organizaзгo de acordo com "ogrid"
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(pDados[i][Organizacao] == orgid)
{
SendClientMessage(i, cor, mensagem);
}
}
}
return 0;
}
meu sistema ta assim. fiz com um criador de organizaзхes, mais ele salva a org do play no arquivo do player, em Contas, e nгo й isso que eu quero, quero salvar a organizaзгo.
Pelo o que eu entendi voce quer criar uma pasta com a org do player, como por exemplo:
й isso que eu nгo sei mudar mano, vou tentar aqui fazer um arquivo especнfico pra org
to achando que esse cуdigo vai criar vбrias organizaзхes na pasta ORGS, com o mesmo nome, sei lб.
E aonde eu devo botar pra chamar essa public de criar org ? no On Game Mode Init ?
Cara faz o que eu vo te mandar aqui. Vocк cria a organizaзгo por comando й ela й salva na pasta Orgs.
Ela salva assim: Org0, Org1, Org2 quantas vc for criar. dentro desse arquivo tem o Nome da org, Lider, Membros, Drogas, Grana.
atй deu certo, mais vou ter que mudar meu GM todo. Mais vlw ai mano rs
Esse seu sistema que vocк fez acima nгo ira rodar tudo certinho como pensa! Vai precisar de muita gambiarra para funcionar й terб vбrios bugs.
Fui vendo seus pedidos de ajuda aqui agora pouco й vi que estava fazendo de uma maneira que nгo iria rodar mesmo!
Outra tambйm й que vocк ta querendo definir MAX_ORGS para ser nome se MAX_ORGS vai ser um nъmero nгo uma string. :/
Use nъmeros como eu fiz para buscar o arquivo "Orgs/Org%d" й se quiser pegue o nome da org dentro do arquivo nгo e difнcil apenas usar a logica й a include DOF2 + a matriz (enum)