Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- InfoOrg by Put FusioN
- Este InfoOrg foi desenvolvido por Put FusioN, deve ser adaptado ao game mode de
- quem for utilizá-lo, creio o uso do filterscript por si só poderá causar bugs no
- servidor, devem ser criadas as pastas 'Contas' e 'InfoOrg' nas scriptfiles, InfoOrg com Lider,
- Sub Lider e 13 Membros, convite em dialog com opcao para aceitar ou nao o convite,
- promocao, quando um player e promovido a cargo 4 ja havendo um sub lider, o
- sub lider passa a ser cargo 3 e a ocupar a antiga vaga do player promovido que
- a partir de ja ocupara a vaga de sub lider e tera seu cargo 4, demissão com
- motivo especificado, comando de dar lider para os admins e de limpar lider das orgs,
- para pegar admin use o comando '/admin', /orgs mostra as organizações e seus respectivos lideres,
- /lideres mostra os lideres online no servidor, /subs faz o mesmo mas com os sublideres e
- /membros mostra os membros da organização online no momento!
- PS: Use a funcao CriarInfoOrg apenas uma vez para criar os arquivos, caso queira resetar
- o InfoOrg precisará excluir os arquivos da pasta InfoOrg e usar a funcao CriarInfoOrg !
- Agradecimentos
- SAMP Team
- Y_Less - y_ini, foreach e sscanf
- Zeex - zcmd
- */
- #include <a_samp>
- #include <YSI\y_ini>
- #include <zcmd>
- #include <foreach>
- #include <sscanf2>
- #define COR_BRANCO 0xFFFFFFFF
- #define COR_CIANO 0x00FFFFFF
- #define DIALOG_CONVIDAR 9934
- #define CONTAS "/Contas/%s.ini"
- #define COR_POLICIA 0x6495EDFF
- #define COR_BOPE 0x483D8BFF
- #define COR_TALIBAN 0xEE1289FF
- #define COR_ALQAEDA 0x8B7500FF
- #define COR_HAMAS 0xADFF2FFF
- #define COR_AZTECAS 0x1E90FFFF
- #define COR_GROOVE 0x00EE00FF
- #define COR_VAGOS 0xFFFF00FF
- #define COR_BALLAS 0x7D26CDFF
- #define COR_COSAN 0xCDB5CDFF
- #define COR_YAKUZA 0x54FF9FFF
- #define COR_MRUSSA 0xFFEC8BFF
- #define COR_SONS 0x8B0000FF
- #define COR_ANGELS 0xFF69B4FF
- #define COR_TLOST 0xFA8072FF
- #define COR_EXERCITO 0x006400FF
- #define COR_INSTRUTORES 0x00FFFFFF
- #define COR_MEDICOS 0xFF0000FF
- #define COR_TAXISTAS 0xFFB90FFF
- #define COR_REPORTERES 0xEE9A49FF
- #define COR_HITMANS 0x9C9C9CFF
- #define COR_GOVERNO 0xFFDEADFF
- #define MAX_ORGS 31
- #define MAX_MEMBROS 14
- forward SalvarConta(playerid);
- forward CriarInfoOrg(orgid); //Cria os arquivos
- forward CarregarInfoOrg(orgid,name[],value[]);
- forward CInfoOrg(playerid);
- forward ConvidarOrg(playerid,org);
- forward DemitirOrg(playerid);
- forward LimparVaga(org,vaga);
- forward Promover(playerid,cargo);
- enum pInfo
- {
- pAdmin,
- pCargo,
- pMembro
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- enum oInfo
- {
- Lider,
- SubL
- };
- new InfoOrg[MAX_ORGS][oInfo][MAX_PLAYER_NAME];
- new InfoOrg2[MAX_ORGS][MAX_MEMBROS][MAX_PLAYER_NAME];
- public OnFilterScriptInit()
- {
- new string[40];
- for(new i = 1;i < MAX_ORGS;i++) //Carrega o InfoOrg
- {
- //CriarInfoOrg(i);//Use uma só vez para criar os arquivos, crie a pasta 'InfoOrg'
- format(string,sizeof(string),"CofreOrg/Org%i.ini",i);
- INI_ParseFile(string,"CarregarCofreOrg",.bExtra = true,.extra = i);
- format(string,sizeof(string),"InfoOrg/Org%i.ini",i);
- INI_ParseFile(string,"CarregarInfoOrg",.bExtra = true,.extra = i);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- foreach(Player,i)
- {
- SalvarConta(i);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(PlayerInfo[playerid][pMembro] > 0)
- {
- CInfoOrg(playerid); //Checa se o nome do player está no InfoOrg, caso não seta a org do player pra 0.
- }
- return 1;
- }
- public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
- {
- if(dialogid == DIALOG_CONVIDAR)
- {
- if(response)
- {
- ConvidarOrg(playerid,GetPVarInt(playerid,"OrgConvite"));
- DeletePVar(playerid,"OrgConvite");
- return 1;
- }
- }
- return 1;
- }
- public SalvarConta(playerid)
- {
- new string[40];
- new name[MAX_PLAYER_NAME];
- new INI:File;
- GetPlayerName(playerid,name,sizeof(name));
- format(string,sizeof(string),CONTAS,name);
- File = INI_Open(string);
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Org",PlayerInfo[playerid][pMembro]);
- INI_WriteInt(File,"Cargo",PlayerInfo[playerid][pCargo]);
- INI_Close(File);
- return 1;
- }
- public CriarInfoOrg(orgid)
- {
- new string[30];
- new INI:file;
- format(string,sizeof(string),"InfoOrg/Org%i.ini",orgid);
- file = INI_Open(string);
- INI_WriteString(file,"Lider","Ninguem");
- INI_WriteString(file,"SubL","Ninguem");
- INI_WriteString(file,"Membro1","Ninguem");
- INI_WriteString(file,"Membro2","Ninguem");
- INI_WriteString(file,"Membro3","Ninguem");
- INI_WriteString(file,"Membro4","Ninguem");
- INI_WriteString(file,"Membro5","Ninguem");
- INI_WriteString(file,"Membro6","Ninguem");
- INI_WriteString(file,"Membro7","Ninguem");
- INI_WriteString(file,"Membro8","Ninguem");
- INI_WriteString(file,"Membro9","Ninguem");
- INI_WriteString(file,"Membro10","Ninguem");
- INI_WriteString(file,"Membro11","Ninguem");
- INI_WriteString(file,"Membro12","Ninguem");
- INI_WriteString(file,"Membro13","Ninguem");
- INI_Close(file);
- return 1;
- }
- public CarregarInfoOrg(orgid,name[],value[])
- {
- INI_String("Lider",InfoOrg[orgid][Lider],MAX_PLAYER_NAME);
- INI_String("SubL",InfoOrg[orgid][SubL],MAX_PLAYER_NAME);
- INI_String("Membro1",InfoOrg2[orgid][1],MAX_PLAYER_NAME);
- INI_String("Membro2",InfoOrg2[orgid][2],MAX_PLAYER_NAME);
- INI_String("Membro3",InfoOrg2[orgid][3],MAX_PLAYER_NAME);
- INI_String("Membro4",InfoOrg2[orgid][4],MAX_PLAYER_NAME);
- INI_String("Membro5",InfoOrg2[orgid][5],MAX_PLAYER_NAME);
- INI_String("Membro6",InfoOrg2[orgid][6],MAX_PLAYER_NAME);
- INI_String("Membro7",InfoOrg2[orgid][7],MAX_PLAYER_NAME);
- INI_String("Membro8",InfoOrg2[orgid][8],MAX_PLAYER_NAME);
- INI_String("Membro9",InfoOrg2[orgid][9],MAX_PLAYER_NAME);
- INI_String("Membro10",InfoOrg2[orgid][10],MAX_PLAYER_NAME);
- INI_String("Membro11",InfoOrg2[orgid][11],MAX_PLAYER_NAME);
- INI_String("Membro12",InfoOrg2[orgid][12],MAX_PLAYER_NAME);
- INI_String("Membro13",InfoOrg2[orgid][13],MAX_PLAYER_NAME);
- return 1;
- }
- public CInfoOrg(playerid)
- {
- new org = PlayerInfo[playerid][pMembro];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- if(strcmp(InfoOrg[org][Lider],name,true)==0) return 1;
- if(strcmp(InfoOrg[org][SubL],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][1],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][2],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][3],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][4],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][5],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][6],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][7],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][8],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][9],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][10],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][11],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][12],name,true)==0) return 1;
- if(strcmp(InfoOrg2[org][13],name,true)==0) return 1;
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid,23);
- SendClientMessage(playerid,COR_BRANCO,"Você foi expulso da organização!");
- SpawnPlayer(playerid);
- return 1;
- }
- public ConvidarOrg(playerid,org)
- {
- new string[20];
- new string2[15];
- new name[MAX_PLAYER_NAME];
- new INI:File;
- GetPlayerName(playerid,name,sizeof(name));
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- File = INI_Open(string);
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- if(strcmp(InfoOrg2[org][i],"Ninguem",true)==0)
- {
- new norg[32];
- format(string2,sizeof(string2),"Membro%i",i);
- PlayerInfo[playerid][pMembro] = org;
- PlayerInfo[playerid][pCargo] = 1;
- NomeOrg(org,norg,sizeof(norg));
- strmid(InfoOrg2[org][i],name,0,strlen(name),128);
- INI_WriteString(File,string2,name);
- format(string2,sizeof(string2),"Bem vindo aos %s", norg);
- SpawnPlayer(playerid);
- INI_Close(File);
- break;
- }
- }
- return 1;
- }
- public DemitirOrg(playerid)
- {
- new string[20];
- new string2[15];
- new name[MAX_PLAYER_NAME];
- new INI:File;
- new org = PlayerInfo[playerid][pMembro];
- GetPlayerName(playerid,name,sizeof(name));
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- File = INI_Open(string);
- if(strcmp(InfoOrg[org][Lider],name,true)==0)
- {
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid,23);
- strmid(InfoOrg[org][Lider],"Ninguem",0,strlen("Ninguem"),128);
- INI_WriteString(File,"Lider","Ninguem");
- SpawnPlayer(playerid);
- INI_Close(File);
- return 1;
- }
- if(strcmp(InfoOrg[org][SubL],name,true)==0)
- {
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid,23);
- strmid(InfoOrg[org][Lider],"Ninguem",0,strlen("Ninguem"),128);
- INI_WriteString(File,"Lider","Ninguem");
- SpawnPlayer(playerid);
- INI_Close(File);
- return 1;
- }
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- if(strcmp(InfoOrg2[org][i],name,true)==0)
- {
- format(string2,sizeof(string2),"Membro%i",i);
- PlayerInfo[playerid][pMembro] = 0;
- PlayerInfo[playerid][pCargo] = 0;
- SetPlayerSkin(playerid,23);
- strmid(InfoOrg[org][Lider],"Ninguem",0,strlen("Ninguem"),128);
- INI_WriteString(File,string2,"Ninguem");
- SpawnPlayer(playerid);
- INI_Close(File);
- }
- }
- return 1;
- }
- public LimparVaga(org,vaga)
- {
- new string[20];
- new string2[15];
- new INI:File;
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- format(string2,sizeof(string2),"Membro%i",vaga);
- if(IsPlayerOnline(InfoOrg2[org][vaga]))
- {
- new ID;
- ID = GetPlayerID(InfoOrg2[org][vaga]);
- DemitirOrg(ID);
- }
- else
- {
- File = INI_Open(string);
- INI_WriteString(File,string2,"Ninguem");
- INI_Close(File);
- strmid(InfoOrg2[org][vaga],"Ninguem",0,strlen("Ninguem"),128);
- }
- return 1;
- }
- public Promover(playerid,cargo)
- {
- new org = PlayerInfo[playerid][pMembro];
- new string[128];
- if(cargo == 4)
- {
- new subantigo[50];
- if(strcmp(InfoOrg[org][SubL],"Ninguem",false))
- {
- if(IsPlayerOnline(InfoOrg[org][SubL]))
- {
- new ID = GetPlayerID(InfoOrg[org][SubL]);
- GetPlayerName(ID,subantigo,sizeof(subantigo));
- new vaga = GetPlayerVaga(playerid);
- strmid(InfoOrg2[org][vaga],subantigo,0,strlen(subantigo),128);
- strmid(InfoOrg[org][SubL],pNome(playerid),0,strlen(pNome(playerid)),128);
- new str[10];
- format(str,sizeof(str),"Membro%i",vaga);
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- new INI:file = INI_Open(string);
- INI_WriteString(file,str,subantigo);
- INI_WriteString(file,"SubL",pNome(playerid));
- INI_Close(file);
- PlayerInfo[ID][pCargo] = 3;
- PlayerInfo[playerid][pCargo] = 4;
- SendClientMessage(ID,CorOrg(org),"Um novo sub líder foi escolhido, você foi rebaixado a cargo 3!");
- SalvarConta(playerid);
- SalvarConta(ID);
- }
- else
- {
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- new INI:file = INI_Open(string);
- strmid(subantigo,InfoOrg[org][SubL],0,strlen(InfoOrg[org][SubL]),128);
- new str[50];
- format(str,sizeof(str),"Membro%i",GetPlayerVaga(playerid));
- INI_WriteString(file,str,subantigo);
- INI_WriteString(file,"SubL",pNome(playerid));
- INI_Close(file);
- format(string,sizeof(string),CONTAS,subantigo);
- file = INI_Open(string);
- INI_WriteInt(file,"Cargo",3);
- INI_Close(file);
- strmid(InfoOrg2[org][GetPlayerVaga(playerid)],subantigo,0,strlen(subantigo),128);
- strmid(InfoOrg[org][SubL],pNome(playerid),0,strlen(pNome(playerid)),128);
- PlayerInfo[playerid][pCargo] = 4;
- SalvarConta(playerid);
- return 1;
- }
- }
- else
- {
- new vaga = GetPlayerVaga(playerid);
- new str[50];
- format(str,sizeof(str),"Membro%d",vaga);
- strmid(InfoOrg[org][SubL],pNome(playerid),0,strlen(pNome(playerid)),128);
- strmid(InfoOrg2[org][vaga],"Ninguem",0,strlen("Ninguem"),128);
- format(string,sizeof(string),"InfoOrg/Org%d.ini",org);
- new INI:file = INI_Open(string);
- INI_WriteString(file,"SubL",pNome(playerid));
- INI_WriteString(file,str,"Ninguem");
- INI_Close(file);
- PlayerInfo[playerid][pCargo] = 4;
- SalvarConta(playerid);
- return 1;
- }
- }
- PlayerInfo[playerid][pCargo] = cargo;
- return 1;
- }
- stock pNome(playerid)
- {
- new name[24];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- stock NomeOrg(orgid,name[],len)
- {
- if(orgid == 0) return format(name,len,"Nenhuma",0);
- if(orgid == 1) return format(name,len,"Polícia Militar de Los Santos",0);
- if(orgid == 2) return format(name,len,"Polícia Militar de Las Venturas",0);
- if(orgid == 3) return format(name,len,"Polícia Militar de San Fierro",0);
- if(orgid == 4) return format(name,len,"BOPE",0);
- if(orgid == 5) return format(name,len,"Polícia Federal",0);
- if(orgid == 6) return format(name,len,"Polícia Civil",0);
- if(orgid == 7) return format(name,len,"Taliban",0);
- if(orgid == 8) return format(name,len,"Alqaeda",0);
- if(orgid == 9) return format(name,len,"Hamas",0);
- if(orgid == 10) return format(name,len,"Los Aztecas",0);
- if(orgid == 11) return format(name,len,"Groove Street",0);
- if(orgid == 12) return format(name,len,"Los Vagos",0);
- if(orgid == 13) return format(name,len,"Ballas",0);
- if(orgid == 14) return format(name,len,"Cosa Nostra",0);
- if(orgid == 15) return format(name,len,"Yakuza",0);
- if(orgid == 16) return format(name,len,"Máfia Russa",0);
- if(orgid == 17) return format(name,len,"Sons of Anarchy",0);
- if(orgid == 18) return format(name,len,"Angels of Death",0);
- if(orgid == 19) return format(name,len,"The Lost",0);
- if(orgid == 20) return format(name,len,"Exército",0);
- if(orgid == 21) return format(name,len,"Instrutores",0);
- if(orgid == 22) return format(name,len,"Médicos de Los Santos",0);
- if(orgid == 23) return format(name,len,"Médicos de Las Venturas",0);
- if(orgid == 24) return format(name,len,"Médicos de San Fierro",0);
- if(orgid == 25) return format(name,len,"Taxistas de Los Santos",0);
- if(orgid == 26) return format(name,len,"Taxistas de Las Venturas",0);
- if(orgid == 27) return format(name,len,"Taxistas de San Fierro",0);
- if(orgid == 28) return format(name,len,"Repórteres",0);
- if(orgid == 29) return format(name,len,"Hitmans",0);
- if(orgid == 30) return format(name,len,"Governo de San Andreas",0);
- return 1;
- }
- stock CorOrg(orgid)
- {
- if(orgid == 0) return COR_BRANCO;
- if(orgid == 1) return COR_POLICIA;
- if(orgid == 2) return COR_POLICIA;
- if(orgid == 3) return COR_POLICIA;
- if(orgid == 4) return COR_BOPE;
- if(orgid == 5) return COR_POLICIA;
- if(orgid == 6) return COR_POLICIA;
- if(orgid == 7) return COR_TALIBAN;
- if(orgid == 8) return COR_ALQAEDA;
- if(orgid == 9) return COR_HAMAS;
- if(orgid == 10) return COR_AZTECAS;
- if(orgid == 11) return COR_GROOVE;
- if(orgid == 12) return COR_VAGOS;
- if(orgid == 13) return COR_BALLAS;
- if(orgid == 14) return COR_COSAN;
- if(orgid == 15) return COR_YAKUZA;
- if(orgid == 16) return COR_MRUSSA;
- if(orgid == 17) return COR_SONS;
- if(orgid == 18) return COR_ANGELS;
- if(orgid == 19) return COR_TLOST;
- if(orgid == 20) return COR_EXERCITO;
- if(orgid == 21) return COR_INSTRUTORES;
- if(orgid == 22) return COR_MEDICOS;
- if(orgid == 23) return COR_MEDICOS;
- if(orgid == 24) return COR_MEDICOS;
- if(orgid == 25) return COR_TAXISTAS;
- if(orgid == 26) return COR_TAXISTAS;
- if(orgid == 27) return COR_TAXISTAS;
- if(orgid == 28) return COR_REPORTERES;
- if(orgid == 29) return COR_HITMANS;
- if(orgid == 30) return COR_GOVERNO;
- return 1;
- }
- stock IsPlayerOnline(nome[])
- {
- new name[MAX_PLAYER_NAME];
- foreach(Player,i)
- {
- GetPlayerName(i,name,sizeof(name));
- if(strcmp(nome,name,true)==0)
- {
- return 1;
- }
- }
- return 0;
- }
- stock GetPlayerID(nome[])
- {
- new name[MAX_PLAYER_NAME];
- foreach(Player,i)
- {
- GetPlayerName(i,name,sizeof(name));
- if(strcmp(nome,name,true)==0)
- {
- return i;
- }
- }
- return INVALID_PLAYER_ID;
- }
- stock IsOrgFull(orgid)
- {
- if(strcmp(InfoOrg2[orgid][1],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][2],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][3],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][4],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][5],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][6],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][7],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][8],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][9],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][10],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][11],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][12],"Ninguem",false)&&
- strcmp(InfoOrg2[orgid][13],"Ninguem",false))
- {
- return 1;
- }
- return 0;
- }
- stock GetPlayerVaga(playerid)
- {
- new org = PlayerInfo[playerid][pMembro];
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- if(strcmp(InfoOrg2[org][i],pNome(playerid),true)==0)
- {
- return i;
- }
- }
- return -255;
- }
- CMD:darlider(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente administradores nível 4+.");
- new id,orgid;
- if(sscanf(params,"ud",id,orgid))
- return SendClientMessage(playerid,COR_CIANO,"Use: /DarLider [ID/Nome] [OrgID]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid,COR_CIANO,"Jogador Offline.");
- if(orgid < 1 || orgid > 30)
- return SendClientMessage(playerid,COR_CIANO,"Orgs de 1 a 30.");
- if(PlayerInfo[id][pMembro] > 0)
- return SendClientMessage(playerid,COR_CIANO,"Este jogador é membro de outra organização!");
- if(strcmp(InfoOrg[orgid][Lider],"Ninguem",false))
- return SendClientMessage(playerid,COR_CIANO,"Essa organização já possui líder.");
- new norg[32];
- new string[128];
- NomeOrg(orgid,norg,sizeof(norg));
- format(string,sizeof(string),"Você promoveu %s a líder da organização %s.",pNome(id),norg);
- SendClientMessage(playerid,COR_CIANO,string);
- format(string,sizeof(string),"Você foi promovido a líder da organização %s pelo admin %s.",norg,pNome(playerid));
- SendClientMessage(id,COR_CIANO,string);
- strmid(InfoOrg[orgid][Lider],pNome(id),0,strlen(pNome(id)),128);
- format(string,sizeof(string),"InfoOrg/Org%i.ini",orgid);
- new INI:file = INI_Open(string);
- INI_WriteString(file,"Lider",pNome(id));
- INI_Close(file);
- PlayerInfo[playerid][pMembro] = orgid;
- PlayerInfo[playerid][pCargo] = 5;
- SpawnPlayer(id);
- return 1;
- }
- CMD:limparlider(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente administradores nível 4+.");
- new orgid;
- if(sscanf(params,"d",orgid))
- return SendClientMessage(playerid,COR_CIANO,"Use: /LimparLider [OrgID]");
- if(orgid < 1 || orgid > 30)
- return SendClientMessage(playerid,COR_CIANO,"Orgs de 1 a 30.");
- if(strcmp(InfoOrg[orgid][Lider],"Ninguem",true)==0)
- return SendClientMessage(playerid,COR_CIANO,"Esta organização já está sem líder.");
- new string[128];
- new norg[32];
- NomeOrg(orgid,norg,sizeof(norg));
- format(string,sizeof(string),"Você limpou a vaga de líder da organização %s [ID: %i]",norg,orgid);
- SendClientMessage(playerid,CorOrg(orgid),string);
- format(string,sizeof(string),"O administrador %s limpou a vaga de líder da organização %s !",pNome(playerid),norg);
- if(IsPlayerOnline(InfoOrg[orgid][Lider]))
- {
- new ID = GetPlayerID(InfoOrg[orgid][Lider]);
- DemitirOrg(ID);
- }
- else
- {
- strmid(InfoOrg[orgid][Lider],"Ninguem",0,strlen("Ninguem"),128);
- format(string,sizeof(string),"InfoOrg/Org%i.ini",orgid);
- new INI:file = INI_Open(string);
- INI_WriteString(file,"Lider","Ninguem");
- INI_Close(file);
- }
- return 1;
- }
- CMD:convidar(playerid,params[])
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Somente membros de organizações.");
- if(PlayerInfo[playerid][pCargo] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente Líder e Sub Líder.");
- new id;
- new org = PlayerInfo[playerid][pMembro];
- if(sscanf(params,"u",id))
- return SendClientMessage(playerid,COR_CIANO,"Use: /Convidar [ID/Nome]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid,COR_CIANO,"Jogador Offline.");
- if(IsOrgFull(org))
- return SendClientMessage(playerid,COR_CIANO,"Organização cheia!");
- if(PlayerInfo[id][pMembro] > 0)
- return SendClientMessage(playerid,COR_CIANO,"Este jogador é membro de outra organização!");
- if(GetPVarInt(id,"OrgConvite") > 0)
- return SendClientMessage(playerid,COR_CIANO,"Este jogador já possui um convite pendente, aguarde sua resposta ao mesmo para enviar outro!");
- new norg[32];
- new string[128];
- NomeOrg(org,norg,sizeof(norg));
- SetPVarInt(id,"OrgConvite",org);
- format(string,sizeof(string),"%s está lhe convidando para fazer parte da organização %s, aceita o convite?",pNome(playerid),norg);
- ShowPlayerDialog(id,DIALOG_CONVIDAR,0,"Convite",string,"SIM","NÃO");
- SendClientMessage(playerid,CorOrg(org),"Convite enviado!");
- return 1;
- }
- CMD:demitir(playerid,params[])
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Somente membros de organizações.");
- if(PlayerInfo[playerid][pCargo] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente Líder e Sub Líder.");
- new id,motivo[64];
- if(sscanf(params,"us[64]",id,motivo))
- return SendClientMessage(playerid,COR_CIANO,"Use: /Demitir [ID/Nome][Motivo]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid,COR_CIANO,"Jogador Offline.");
- if(id == playerid)
- return SendClientMessage(playerid,COR_CIANO,"Use /pedircontas caso queira se demitir!");
- if(PlayerInfo[id][pMembro] != PlayerInfo[playerid][pMembro])
- return SendClientMessage(playerid,COR_CIANO,"Este jogador é de outra organização!");
- if(PlayerInfo[id][pCargo] == 5)
- return SendClientMessage(playerid,COR_CIANO,"Somente administradores podem demitir líderes!");
- if(!strlen(motivo))
- return SendClientMessage(playerid,COR_CIANO,"Motivo não especificado!");
- new string[128];
- format(string,sizeof(string),"Você demitiu %s da organização, motivo: %s",pNome(id),motivo);
- SendClientMessage(playerid,CorOrg(PlayerInfo[playerid][pMembro]),string);
- format(string,sizeof(string),"Você foi demitido da organização por %s, motivo: %s",pNome(playerid),motivo);
- SendClientMessage(id,COR_CIANO,string);
- DemitirOrg(id);
- return 1;
- }
- CMD:pedircontas(playerid)
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_BRANCO,"Você não é de nenhuma organização!");
- SendClientMessage(playerid,CorOrg(PlayerInfo[playerid][pMembro]),"Você pediu contas da organização, agora você é civil!");
- DemitirOrg(playerid);
- return 1;
- }
- CMD:limparvaga(playerid,params[])
- {
- new string[128];
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Somente membros de organizações.");
- if(PlayerInfo[playerid][pCargo] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente Líder e Sub Líder.");
- new vaga[10];
- if(sscanf(params,"s[10]",vaga))
- return SendClientMessage(playerid,COR_CIANO,"Use /LimparVaga [ID da Vaga]"),SendClientMessage(playerid,COR_CIANO,"Para Limpar a Vaga de Sub Lider Use /LimparVaga sub");
- new org = PlayerInfo[playerid][pMembro];
- if(strcmp(vaga,"sub",true)==0)
- {
- if(strcmp(InfoOrg[org][SubL],"Ninguem",true)==0)
- return SendClientMessage(playerid,COR_CIANO,"A Organização já está sem sub-líder.");
- if(IsPlayerOnline(InfoOrg[org][SubL]))
- {
- new ID;
- ID = GetPlayerID(InfoOrg[org][SubL]);
- DemitirOrg(ID);
- }
- else
- {
- strmid(InfoOrg[org][SubL],"Ninguem",0,strlen("Ninguem"),128);
- format(string,sizeof(string),"InfoOrg/Org%i.ini",org);
- new INI:File = INI_Open(string);
- INI_WriteString(File,"SubL","Ninguem");
- INI_Close(File);
- }
- SendClientMessage(playerid,CorOrg(org),"Você limpou a vaga de sub-lider");
- return 1;
- }
- format(string,sizeof(string),"Você limpou a vaga %i.",strval(vaga));
- SendClientMessage(playerid,CorOrg(org),string);
- LimparVaga(org,strval(vaga));
- return 1;
- }
- CMD:promover(playerid,params[])
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Somente membros de organizações.");
- if(PlayerInfo[playerid][pCargo] < 4)
- return SendClientMessage(playerid,COR_CIANO,"Somente Líder e Sub Líder.");
- new id,cargo;
- if(sscanf(params,"ud",id,cargo))
- return SendClientMessage(playerid,COR_CIANO,"Use: /Promover [ID/Nome][Cargo]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid,COR_CIANO,"Jogador Offline.");
- if(PlayerInfo[id][pMembro] != PlayerInfo[playerid][pMembro])
- return SendClientMessage(playerid,COR_CIANO,"Este jogador é de outra organização!");
- if(cargo < 1 || cargo > 4)
- return SendClientMessage(playerid,COR_CIANO,"Cargos de 1 a 4!");
- new string[128];
- format(string,sizeof(string),"Você promoveu %s a cargo %i.", pNome(id),cargo);
- SendClientMessage(playerid,CorOrg(PlayerInfo[playerid][pMembro]),string);
- format(string,sizeof(string),"Você foi promovido a cargo %i por %s.",cargo,pNome(playerid));
- SendClientMessage(id,CorOrg(PlayerInfo[playerid][pMembro]),string);
- Promover(id,cargo);
- return 1;
- }
- CMD:minhaorg(playerid)
- {
- new str[5];
- format(str,5,"%i",PlayerInfo[playerid][pMembro]);
- SendClientMessage(playerid,COR_BRANCO,str);
- return 1;
- }
- CMD:orgs(playerid)
- {
- new string[128];
- SendClientMessage(playerid,0x363636FF,"=> Organizações do Servidor");
- for(new i = 1; i < MAX_ORGS; i++)
- {
- new norg[32];
- NomeOrg(i,norg,sizeof(norg));
- format(string,sizeof(string),"Organização: %s [ID: %i] - Líder: %s",norg,i,InfoOrg[i][Lider]);
- SendClientMessage(playerid,CorOrg(i),string);
- }
- return 1;
- }
- CMD:lideres(playerid)
- {
- new string[128];
- SendClientMessage(playerid,0x363636FF,"=> Líderes Online");
- foreach(Player, i)
- {
- if(PlayerInfo[i][pCargo] == 5)
- {
- new norg[32];
- NomeOrg(PlayerInfo[i][pMembro],norg,sizeof(norg));
- format(string,sizeof(string),"Nome: %s - Organização: %s",pNome(i),norg);
- SendClientMessage(playerid,CorOrg(PlayerInfo[i][pMembro]),string);
- }
- }
- return 1;
- }
- CMD:subs(playerid)
- {
- new string[128];
- SendClientMessage(playerid,0x363636FF,"=> Sub Líderes Online");
- foreach(Player, i)
- {
- if(PlayerInfo[i][pCargo] == 4)
- {
- new norg[32];
- NomeOrg(PlayerInfo[i][pMembro],norg,sizeof(norg));
- format(string,sizeof(string),"Nome: %s - Organização: %s",pNome(i),norg);
- SendClientMessage(playerid,CorOrg(PlayerInfo[i][pMembro]),string);
- }
- }
- return 1;
- }
- CMD:infoorg(playerid)
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Você é civil!");
- new org = PlayerInfo[playerid][pMembro];
- new string[128];
- SendClientMessage(playerid, 0x363636FF,"=> Informações da organização");
- format(string,sizeof(string),"Lider: %s",InfoOrg[org][Lider]);
- SendClientMessage(playerid,CorOrg(org),string);
- format(string,sizeof(string),"Sub Lider: %s",InfoOrg[org][SubL]);
- SendClientMessage(playerid,CorOrg(org),string);
- for(new i = 1; i < MAX_MEMBROS; i++)
- {
- format(string,sizeof(string),"Membro %d: %s",i,InfoOrg2[org][i]);
- SendClientMessage(playerid,CorOrg(org),string);
- }
- return 1;
- }
- CMD:membros(playerid)
- {
- if(PlayerInfo[playerid][pMembro] == 0)
- return SendClientMessage(playerid,COR_CIANO,"Somente membros de organizaações.");
- new string[128];
- SendClientMessage(playerid,0x363636FF,"=> Membros Online");
- foreach(Player,i)
- {
- if(PlayerInfo[i][pMembro] == PlayerInfo[playerid][pMembro])
- {
- format(string,sizeof(string),"Nome: %s, Cargo: %d",pNome(i),PlayerInfo[i][pCargo]);
- SendClientMessage(playerid,CorOrg(PlayerInfo[i][pMembro]),string);
- }
- }
- return 1;
- }
- CMD:admin(playerid)
- {
- PlayerInfo[playerid][pAdmin] = 8;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement