Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************/
- #include < a_samp >
- #include < dof2 >
- #include < zcmd >
- #include < sscanf2 >
- #include < foreach >
- /******************************************************************************/
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_GRAY 0xCECECEFF
- #define COLOR_CYAN 0x00FFFFFF
- #define COLOR_RED 0xFF0000FF
- /******************************************************************************/
- #define COR_POLICIA 0x6495EDFF
- #define COR_BOPE 0x483D8BFF
- #define COR_GROVE 0x00EE00FF
- #define COR_BALLAS 0x7D26CDFF
- /******************************************************************************/
- #define MAX_ORGS ( 4+1 ) // Número máximo de orgs ( preserve o +1 ).
- #define MAX_MEMBROS ( 5+1 ) // Número máximo de membros ( preserve o +1 ).
- #undef MAX_PLAYERS
- #define MAX_PLAYERS ( 50 ) // Número máximo de players/slots do host
- /******************************************************************************/
- #define DIALOG_CONVIDAR ( 3000 ) // Mude caso exista um dialog com o mesmo id.
- /******************************************************************************/
- enum
- {
- ORG_CIVIL , // Org 0
- ORG_POLICIAM , // Org 1
- ORG_BOPE , // Org 2
- ORG_GROVE , // Org 3
- ORG_BALLAS // Org 4
- }
- enum pInfo
- {
- pAdmin ,
- pCargo ,
- pMembro
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- enum oInfo
- {
- Lider ,
- SubLider
- }
- new Org[MAX_ORGS][oInfo][MAX_PLAYER_NAME],
- Membros[MAX_ORGS][MAX_MEMBROS][MAX_PLAYER_NAME];
- new OrgName[32],
- _@STR[128];
- new Members,
- Subs,
- Lideres;
- /******************************************************************************/
- public OnFilterScriptInit()
- {
- for(new i = 1; i < MAX_ORGS; ++i)
- {
- //CriarOrgs(i); *Use apenas 1 vez para criar os arquivos das orgs ( lembre-se de criar a pasta infoorg antes ).
- CarregarOrgs();
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- DOF2::Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new arquivo[32], name[24];
- GetPlayerName(playerid, name, 24);
- format(arquivo, 32, "Contas/%s.ini", name);
- DOF2::CreateFile(arquivo);
- PlayerInfo[playerid][pAdmin] = DOF2::GetInt(arquivo, "Admin");
- PlayerInfo[playerid][pMembro] = DOF2::GetInt(arquivo, "Membro");
- PlayerInfo[playerid][pCargo] = DOF2::GetInt(arquivo, "Cargo");
- DOF2::SaveFile();
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarConta(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- ChecarOrg(playerid);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_CONVIDAR)
- {
- if(response)
- {
- Convidar(playerid, GetPVarInt(playerid, "OrgConvite"));
- DeletePVar(playerid, "OrgConvite");
- return 1;
- }
- }
- return 1;
- }
- /******************************************************************************/
- SalvarConta(playerid)
- {
- new arquivo[32], name[24];
- GetPlayerName(playerid, name, 24);
- format(arquivo, 32, "Contas/%s.ini", name);
- DOF2::CreateFile(arquivo);
- DOF2::SetInt(arquivo, "Admin", PlayerInfo[playerid][pAdmin]);
- DOF2::SetInt(arquivo, "Membro", PlayerInfo[playerid][pMembro]);
- DOF2::SetInt(arquivo, "Cargo", PlayerInfo[playerid][pCargo]);
- DOF2::SaveFile();
- }
- /******************************************************************************/
- /*stock CriarOrgs(orgid)
- {
- new arquivo[20];
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid);
- DOF2::CreateFile(arquivo);
- DOF2::SetString(arquivo, "Lider", "Ninguem");
- DOF2::SetString(arquivo, "SubLider", "Ninguem");
- DOF2::SetString(arquivo, "Membro1", "Ninguem");
- DOF2::SetString(arquivo, "Membro2", "Ninguem");
- DOF2::SetString(arquivo, "Membro3", "Ninguem");
- DOF2::SetString(arquivo, "Membro4", "Ninguem");
- DOF2::SetString(arquivo, "Membro5", "Ninguem");
- DOF2::SaveFile();
- }*/
- /******************************************************************************/
- CarregarOrgs()
- {
- new arquivo[20];
- for(new i = 1; i < MAX_ORGS; ++i)
- {
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", i);
- strmid(Org[i][Lider], DOF2::GetString(arquivo,"Lider"), 0, strlen(DOF2::GetString(arquivo, "Lider")), 128);
- strmid(Org[i][SubLider], DOF2::GetString(arquivo, "SubLider"), 0, strlen(DOF2::GetString(arquivo, "SubLider")), 128);
- strmid(Membros[i][1], DOF2::GetString(arquivo, "Membro1"), 0, strlen(DOF2::GetString(arquivo, "Membro1")), 128);
- strmid(Membros[i][2], DOF2::GetString(arquivo, "Membro2"), 0, strlen(DOF2::GetString(arquivo, "Membro2")), 128);
- strmid(Membros[i][3], DOF2::GetString(arquivo, "Membro3"), 0, strlen(DOF2::GetString(arquivo, "Membro3")), 128);
- strmid(Membros[i][4], DOF2::GetString(arquivo, "Membro4"), 0, strlen(DOF2::GetString(arquivo, "Membro4")), 128);
- strmid(Membros[i][5], DOF2::GetString(arquivo, "Membro5"), 0, strlen(DOF2::GetString(arquivo, "Membro5")), 128);
- }
- return 1;
- }
- /******************************************************************************/
- ChecarOrg(playerid)
- {
- new orgid = PlayerInfo[playerid][pMembro];
- if(strcmp(Org[orgid][Lider],Nome(playerid), true) == 0) return 1;
- if(strcmp(Org[orgid][SubLider],Nome(playerid), true) == 0) return 1;
- if(strcmp(Membros[orgid][1], Nome(playerid), true) == 0) return 1;
- if(strcmp(Membros[orgid][2], Nome(playerid), true) == 0) return 1;
- if(strcmp(Membros[orgid][3], Nome(playerid), true) == 0) return 1;
- if(strcmp(Membros[orgid][4], Nome(playerid), true) == 0) return 1;
- if(strcmp(Membros[orgid][5], Nome(playerid), true) == 0) return 1;
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid, 23);
- SendClientMessage(playerid, COLOR_WHITE, "Você foi expulso da organização!");
- SpawnPlayer(playerid);
- return 1;
- }
- /******************************************************************************/
- Convidar(playerid, orgid)
- {
- new arquivo[20], _string[15];
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid);
- for(new i = 1; i < MAX_MEMBROS; ++i)
- {
- if(strcmp(Membros[orgid][i], "Ninguem", true) == 0)
- {
- format(_string, sizeof _string, "Membro%i", i);
- PlayerInfo[playerid][pMembro] = orgid;
- PlayerInfo[playerid][pCargo] = 1;
- GetOrgName(orgid, OrgName, sizeof OrgName);
- strmid(Membros[orgid][i], Nome(playerid), 0, strlen(Nome(playerid)), 128);
- DOF2::SetString(arquivo, _string, Nome(playerid));
- DOF2::SaveFile();
- format(_@STR, sizeof _@STR, "Bem vindo ao(s) {FFFFFF}%s{00FFFF} !", OrgName);
- SendClientMessage(playerid, COLOR_CYAN, _@STR);
- SpawnPlayer(playerid);
- break;
- }
- }
- return 1;
- }
- /******************************************************************************/
- Demitir(playerid)
- {
- new arquivo[20], _string[15], orgid = PlayerInfo[playerid][pMembro];
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid);
- if(strcmp(Org[orgid][Lider], Nome(playerid), true) == 0)
- {
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid, 23);
- strmid(Org[orgid][Lider], "Ninguem", 0 , strlen("Ninguem"), 128);
- DOF2::SetString(arquivo, "Lider", "Ninguem");
- SpawnPlayer(playerid);
- DOF2::SaveFile();
- }
- if(strcmp(Org[orgid][SubLider], Nome(playerid), true) == 0)
- {
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid, 23);
- strmid(Org[orgid][SubLider], "Ninguem", 0, strlen("Ninguem"), 128);
- DOF2::SetString(arquivo, "SubLider", "Ninguem");
- SpawnPlayer(playerid);
- DOF2::SaveFile();
- }
- for(new i = 1; i < MAX_MEMBROS; ++i)
- {
- if(strcmp(Membros[orgid][i], Nome(playerid), true) == 0)
- {
- format(_string, sizeof _string, "Membro%i", i);
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid, 23);
- strmid(Membros[orgid][i], "Ninguem", 0, strlen("Ninguem"), 128);
- DOF2::SetString(arquivo, _string, "Ninguem");
- SpawnPlayer(playerid);
- DOF2::SaveFile();
- }
- }
- }
- /******************************************************************************/
- Limpar(orgid, vaga)
- {
- new arquivo[20], _string[15];
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid);
- format(_string, sizeof _string, "Membro%i", vaga);
- if(IsPlayerOnline(Membros[orgid][vaga]))
- {
- new ID = GetPlayerID(Membros[orgid][vaga]);
- Demitir(ID);
- }
- else
- {
- DOF2::SetString(arquivo, _string, "Ninguem");
- DOF2::SaveFile();
- strmid(Membros[orgid][vaga], "Ninguem", 0, strlen("Ninguem"), 128);
- }
- return 1;
- }
- /******************************************************************************/
- Promover(playerid, cargo)
- {
- new orgid = PlayerInfo[playerid][pMembro];
- new arquivo[32], _string[15];
- new vaga = GetPlayerVaga(playerid);
- format(_string, sizeof _string, "Membro%i", vaga);
- format(arquivo, sizeof arquivo, "InfoOrg/Org%i.ini", orgid);
- if(cargo == 4)
- {
- new subantigo[24];
- if(strcmp(Org[orgid][SubLider], "Ninguem", false))
- {
- if(IsPlayerOnline(Org[orgid][SubLider]))
- {
- new ID = GetPlayerID(Org[orgid][SubLider]);
- GetPlayerName(ID, subantigo, sizeof subantigo);
- strmid(Membros[orgid][vaga], subantigo, 0, strlen(subantigo),128);
- strmid(Org[orgid][SubLider], Nome(playerid), 0, strlen(Nome(playerid)), 128);
- DOF2::SetString(arquivo, _string, subantigo);
- DOF2::SetString(arquivo, "SubLider", Nome(playerid));
- DOF2::SaveFile();
- PlayerInfo[ID][pCargo] = 3;
- PlayerInfo[playerid][pCargo] = 4;
- SendClientMessage(ID, GetOrgColor(orgid), "Um novo sub líder foi escolhido, você foi rebaixado a cargo 3!");
- SalvarConta(playerid);
- SalvarConta(ID);
- }
- else
- {
- strmid(subantigo, Org[orgid][SubLider], 0, strlen(Org[orgid][SubLider]), 128);
- DOF2::SetString(arquivo, _string, subantigo);
- DOF2::SetString(arquivo, "SubLider", Nome(playerid));
- DOF2::SaveFile();
- format(arquivo, sizeof arquivo, "Contas/%s.ini", subantigo);
- DOF2::SetInt(arquivo, "Cargo", 3);
- DOF2::SaveFile();
- strmid(Membros[orgid][GetPlayerVaga(playerid)], subantigo, 0, strlen(subantigo), 128);
- strmid(Org[orgid][SubLider], Nome(playerid), 0, strlen(Nome(playerid)), 128);
- PlayerInfo[playerid][pCargo] = 4;
- SalvarConta(playerid);
- return 1;
- }
- }
- else
- {
- strmid(Org[orgid][SubLider], Nome(playerid), 0, strlen(Nome(playerid)), 128);
- strmid(Membros[orgid][vaga], "Ninguem", 0, strlen("Ninguem"), 128);
- DOF2::SetString(arquivo, "SubLider", Nome(playerid));
- DOF2::SetString(arquivo, _string, "Ninguem");
- DOF2::SaveFile();
- PlayerInfo[playerid][pCargo] = 4;
- SalvarConta(playerid);
- return 1;
- }
- }
- PlayerInfo[playerid][pCargo] = cargo;
- return 1;
- }
- /******************************************************************************/
- GetOrgName(orgid,name[],len)
- {
- if(orgid == ORG_CIVIL) return format(name, len, "Nenhuma", 0);
- if(orgid == ORG_POLICIAM) return format(name, len, "Polícia Militar", 0);
- if(orgid == ORG_BOPE) return format(name, len, "B.O.P.E", 0);
- if(orgid == ORG_GROVE) return format(name, len, "Grove Street", 0);
- if(orgid == ORG_BALLAS) return format(name, len, "Ballas", 0);
- return 1;
- }
- /******************************************************************************/
- GetOrgColor(orgid)
- {
- if(orgid == ORG_CIVIL) return COLOR_WHITE;
- if(orgid == ORG_POLICIAM) return COR_POLICIA;
- if(orgid == ORG_BOPE) return COR_BOPE;
- if(orgid == ORG_GROVE) return COR_GROVE;
- if(orgid == ORG_BALLAS) return COR_BALLAS;
- return 1;
- }
- /******************************************************************************/
- Nome(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- /******************************************************************************/
- IsPlayerOnline(nome[])
- {
- foreach(Player,i)
- {
- if(strcmp(nome, Nome(i), true) == 0)
- {
- return 1;
- }
- }
- return 0;
- }
- /******************************************************************************/
- GetPlayerID(nome[])
- {
- foreach(Player,i)
- {
- if(strcmp(nome, Nome(i), true) == 0)
- {
- return i;
- }
- }
- return INVALID_PLAYER_ID;
- }
- /******************************************************************************/
- IsOrgFull(orgid)
- {
- if(strcmp(Membros[orgid][1], "Ninguem", false) &&
- strcmp(Membros[orgid][2], "Ninguem", false) &&
- strcmp(Membros[orgid][3], "Ninguem", false)&&
- strcmp(Membros[orgid][4], "Ninguem", false)&&
- strcmp(Membros[orgid][5], "Ninguem", false))
- {
- return 1;
- }
- return 0;
- }
- /******************************************************************************/
- GetPlayerVaga(playerid)
- {
- new orgid = PlayerInfo[playerid][pMembro];
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- if(strcmp(Membros[orgid][i], Nome(playerid), true) == 0)
- {
- return i;
- }
- }
- return -255;
- }
- /******************************************************************************/
- CMD:darlider(playerid,params[])
- {
- new id,orgid;
- if(PlayerInfo[playerid][pAdmin] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não possui permissão para usar este comando !");
- if(sscanf(params, "ui", id, orgid)) return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /darlider [ ID/NOME ] [ ORG ID ]");
- if(!IsPlayerConnected(id))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Id inválido ou offline !");
- if(orgid < 1 || orgid > 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Orgs apenas de 1 a 4.");
- if(PlayerInfo[id][pMembro] > 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Este jogador já faz parte de uma organização !");
- if(strcmp(Org[orgid][Lider], "Ninguem", false))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Esta organização já possui lider.");
- GetOrgName(orgid, OrgName, sizeof(OrgName));
- format(_@STR, sizeof(_@STR), "( ADMIN ): Você promoveu ( {FFFFFF}%s{00FFFF} ) a líder da organização ( {FFFFFF}%s{00FFFF} ).", Nome(id), OrgName);
- SendClientMessage(playerid, COLOR_CYAN, _@STR);
- format(_@STR, sizeof(_@STR),"( ADMIN ): Você foi promovido a líder da organização ( {FFFFFF}%s{00FFFF} ) pelo admin ( {FFFFFF}%s{00FFFF} ).", OrgName, Nome(playerid));
- SendClientMessage(id, COLOR_CYAN, _@STR);
- strmid(Org[orgid][Lider], Nome(id), 0, strlen(Nome(id)), 128);
- format(_@STR, sizeof(_@STR), "InfoOrg/Org%i.ini", orgid);
- DOF2::SetString(_@STR, "Lider", Nome(id));
- DOF2::SaveFile();
- PlayerInfo[playerid][pMembro] = orgid;
- PlayerInfo[playerid][pCargo] = 5;
- SpawnPlayer(id);
- return 1;
- }
- CMD:limparlider(playerid,params[])
- {
- new orgid;
- if(PlayerInfo[playerid][pAdmin] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não possui permissão para usar este comando !");
- if(sscanf(params, "i", orgid)) return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /limparlider [ ORG ID ]");
- if(orgid < 1 || orgid > 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Orgs apenas de 1 a 4.");
- if(strcmp(Org[orgid][Lider], "Ninguem", true) == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Esta organização não possui lider.");
- GetOrgName(orgid, OrgName, sizeof(OrgName));
- format(_@STR, sizeof(_@STR), "( ADMIN ): Você limpou a vaga de líder da organização ( {FFFFFF}%s{00FFFF} ) [ {FFFFFF}ID: %i{00FFFF} ]", OrgName, orgid);
- SendClientMessage(playerid, COLOR_CYAN, _@STR);
- if(IsPlayerOnline(Org[orgid][Lider]))
- {
- new ID = GetPlayerID(Org[orgid][Lider]);
- Demitir(ID);
- }
- else
- {
- strmid(Org[orgid][Lider], "Ninguem", 0, strlen("Ninguem"), 128);
- format(_@STR, sizeof(_@STR), "InfoOrg/Org%i.ini", orgid);
- DOF2::SetString(_@STR, "Lider", "Ninguem");
- DOF2::SaveFile();
- }
- return 1;
- }
- /******************************************************************************/
- CMD:convidar(playerid,params[])
- {
- new id, orgid = PlayerInfo[playerid][pMembro];
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- if(PlayerInfo[playerid][pCargo] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Somente lideres e sub-lideres podem fazer convites !");
- if(sscanf(params, "u", id))return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /convidar [ ID/NOME ]");
- if(!IsPlayerConnected(id))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Id inválido ou offline !");
- if(IsOrgFull(orgid))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Sua organização alcançou o limite de membros !");
- if(PlayerInfo[id][pMembro] > 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Este jogador já faz parte de uma organização !");
- if(GetPVarInt(id, "OrgConvite") > 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Este jogador possui um convite pendente, após a resposta do mesmo retorne a convidá-lo !");
- GetOrgName(orgid, OrgName, sizeof(OrgName));
- SetPVarInt(id, "OrgConvite", orgid);
- format(_@STR, sizeof(_@STR), " {00FFFF}Convite de {FFFFFF}%s{00FFFF}, \n para fazer parte da organização: \n {FFFFFF}%s", Nome(playerid), OrgName);
- ShowPlayerDialog(id, DIALOG_CONVIDAR, DIALOG_STYLE_MSGBOX, "Convite para Organização:", _@STR, "Aceitar", "Recusar");
- SendClientMessage(playerid, GetOrgColor(orgid), "Convite enviado!");
- return 1;
- }
- CMD:demitir(playerid,params[])
- {
- new id, motivo[64];
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- if(PlayerInfo[playerid][pCargo] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Somente lideres e sub-lideres podem fazer demições !");
- if(sscanf(params, "us[64]", id, motivo))return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /demitir [ ID/NOME ] [ MOTIVO ]");
- if(!IsPlayerConnected(id))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Id inválido ou offline !");
- if(id == playerid)return SendClientMessage(playerid, COLOR_GRAY, "( USE ): '/pedircontas' caso queira se demitir !");
- if(PlayerInfo[id][pMembro] != PlayerInfo[playerid][pMembro])return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Este jogador pertence a outra organização !");
- if(PlayerInfo[id][pCargo] == 5)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Somente administradores removem lideres !");
- format(_@STR, sizeof(_@STR), "( ORG ): Você demitiu ( {FFFFFF}%s{00FFFF} ) da organização, ( {FFFFFF}Motivo: %s{00FFFF} ).", Nome(id), motivo);
- SendClientMessage(playerid, COLOR_CYAN, _@STR);
- format(_@STR, sizeof(_@STR), "( ORG ): Você foi demitido da organização por ( {FFFFFF}%s{00FFFF} ), ( {FFFFFF}Motivo: %s{00FFFF} ).", Nome(playerid), motivo);
- SendClientMessage(id, COLOR_CYAN, _@STR);
- Demitir(id);
- return 1;
- }
- CMD:limparvaga(playerid,params[])
- {
- new vaga[10];
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- if(PlayerInfo[playerid][pCargo] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Somente lideres e sub-lideres podem fazer demições !");
- if(sscanf(params, "s[10]", vaga))return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /limparvaga [ ID VAGA ]"), SendClientMessage(playerid, COLOR_GRAY, "( USE ): '/limparvaga sub' , para limpar o sublider !");
- new orgid = PlayerInfo[playerid][pMembro];
- if(strcmp(vaga, "sub", true) == 0)
- {
- if(strcmp(Org[orgid][SubLider], "Ninguem", true) == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Esta organização não possui sub-lider");
- if(IsPlayerOnline(Org[orgid][SubLider]))
- {
- new ID = GetPlayerID(Org[orgid][SubLider]);
- Demitir(ID);
- }
- else
- {
- strmid(Org[orgid][SubLider], "Ninguem", 0, strlen("Ninguem"), 128);
- format(_@STR, sizeof(_@STR),"InfoOrg/Org%i.ini", orgid);
- DOF2::SetString(_@STR, "SubLider", "Ninguem");
- }
- SendClientMessage(playerid, GetOrgColor(orgid), "( ORG ): Você limpou a vaga de sub-lider !");
- return 1;
- }
- format(_@STR, sizeof(_@STR), "( ORG ): Você limpou a vaga %i !", strval(vaga));
- SendClientMessage(playerid, GetOrgColor(orgid), _@STR);
- Limpar(orgid, strval(vaga));
- return 1;
- }
- CMD:promover(playerid,params[])
- {
- new id, cargo;
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- if(PlayerInfo[playerid][pCargo] < 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Somente lideres e sub-lideres podem fazer demições !");
- if(sscanf(params, "ui", id, cargo))return SendClientMessage(playerid, COLOR_GRAY, "( USE ): /promover [ ID/NOME ] [ CARGO ]");
- if(!IsPlayerConnected(id))return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Id inválido ou offline !");
- if(PlayerInfo[id][pMembro] != PlayerInfo[playerid][pMembro])return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Este jogador pertence a outra organização !");
- if(cargo < 1 || cargo > 4)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Cargos apenas de 1 a 4.");
- format(_@STR, sizeof(_@STR), "( ORG ): Você promoveu ( {FFFFFF}%s{00FFFF} ) a cargo ( {FFFFFF}%i{00FFFF} ).", Nome(id),cargo);
- SendClientMessage(playerid, COLOR_CYAN, _@STR);
- format(_@STR, sizeof(_@STR), "( ORG ): Você foi promovido a cargo ( {FFFFFF}%i{00FFFF} ) pelo ( {FFFFFF}%s{00FFFF} ).",cargo, Nome(playerid));
- SendClientMessage(id, COLOR_CYAN, _@STR);
- Promover(id, cargo);
- return 1;
- }
- CMD:infoorg(playerid)
- {
- new orgid = PlayerInfo[playerid][pMembro];
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Informações da Organização{FF0000} )~~~~~~~~~~~~");
- SendClientMessage(playerid, -1, " ");
- format(_@STR, sizeof(_@STR), "Lider: %s", Org[orgid][Lider]);
- SendClientMessage(playerid, GetOrgColor(orgid), _@STR);
- format(_@STR, sizeof(_@STR), "Sub Lider: %s", Org[orgid][SubLider]);
- SendClientMessage(playerid, GetOrgColor(orgid), _@STR);
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- format(_@STR, sizeof(_@STR), "Membro%i: %s", i, Membros[orgid][i]);
- SendClientMessage(playerid, GetOrgColor(orgid), _@STR);
- }
- SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Informações da Organização{FF0000} )~~~~~~~~~~~~");
- return 1;
- }
- CMD:membros(playerid)
- {
- if(PlayerInfo[playerid][pMembro] == 0)return SendClientMessage(playerid, COLOR_RED, "( ERRO ): Você não faz parte de uma organização !");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Membros Online{FF0000} )~~~~~~~~~~~~");
- SendClientMessage(playerid, -1, " ");
- foreach(Player, i)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pMembro] == PlayerInfo[playerid][pMembro])
- {
- format(_@STR, sizeof(_@STR), "Nome: %s, Cargo: %d", Nome(i), PlayerInfo[i][pCargo]);
- SendClientMessage(playerid, GetOrgColor(PlayerInfo[i][pMembro]), _@STR);
- Members++;
- }
- }
- if(Members == 0)return SendClientMessage(playerid, COLOR_WHITE, "Não tem membros online !");
- }
- SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Membros Online{FF0000} )~~~~~~~~~~~~");
- return 1;
- }
- /******************************************************************************/
- CMD:orgs(playerid)
- {
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Organizações{FF0000} )~~~~~~~~~~~~");
- SendClientMessage(playerid, -1, " ");
- for(new i = 1; i < MAX_ORGS; i++)
- {
- GetOrgName(i, OrgName, sizeof(OrgName));
- format(_@STR, sizeof(_@STR), "[ %i ]: %s - Líder: %s", i, OrgName, Org[i][Lider]);
- SendClientMessage(playerid, GetOrgColor(i), _@STR);
- }
- SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Organizações{FF0000} )~~~~~~~~~~~~");
- return 1;
- }
- CMD:lideres(playerid)
- {
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Lideres Online{FF0000} )~~~~~~~~~~~~");
- SendClientMessage(playerid, -1, " ");
- foreach(Player, i)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pCargo] == 5)
- {
- GetOrgName(PlayerInfo[i][pMembro], OrgName, sizeof(OrgName));
- format(_@STR, sizeof(_@STR), "Nome: %s - Organização: %s", Nome(i), _@STR);
- SendClientMessage(playerid, GetOrgColor(PlayerInfo[i][pMembro]), _@STR);
- Lideres++;
- }
- }
- if(Lideres == 0)return SendClientMessage(playerid, COLOR_WHITE, "Não tem lideres online !");
- }
- SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Lideres Online{FF0000} )~~~~~~~~~~~~");
- return 1;
- }
- CMD:subs(playerid)
- {
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Sub-Lideres Online{FF0000} )~~~~~~~~~~~~");
- SendClientMessage(playerid, -1, " ");
- foreach(Player, i)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pCargo] == 4)
- {
- GetOrgName(PlayerInfo[i][pMembro], OrgName, sizeof(OrgName));
- format(_@STR, sizeof(_@STR), "Nome: %s - Organização: %s", Nome(i), _@STR);
- SendClientMessage(playerid, GetOrgColor(PlayerInfo[i][pMembro]), _@STR);
- Subs++;
- }
- }
- if(Subs == 0)return SendClientMessage(playerid, COLOR_WHITE, "Não tem sub-lideres online !");
- }
- SendClientMessage(playerid, -1, " ");
- SendClientMessage(playerid, COLOR_RED, "~~~~~~~~~~~~( {FFFFFF}Sub-Lideres Online{FF0000} )~~~~~~~~~~~~");
- return 1;
- }
- /******************************************************************************/
- CMD:admin(playerid)return PlayerInfo[playerid][pAdmin] = 4;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement