Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- FILTERSCRIPT CRIADO POR : FÁBIO STRALIOTI
- SCRIPTER FÓRUM GTA TORCIDAS !
- ******** ************ ********* **** *************
- ******** ************ ********* **** *************
- **** **** **** **** ** **** ***** *****
- **** **** **** **** ** **** ***** *****
- ******** ************ ********* **** ***** *****
- ******** ************ ********* **** ***** *****
- **** **** **** **** ** **** ***** *****
- **** **** **** ********* **** *************
- **** **** **** ********* **** *************
- */
- #include <a_samp>
- #include <zcmd>
- #include <dof2>
- #include <sscanf>
- #pragma tabsize 0
- #define FILTERSCRIPT
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Filterscript Sistema de Administração 1.0");
- print("Feito por : Fábio Stralioti");
- print("--------------------------------------\n");
- return 1;
- }
- enum PlayerAdmin
- {
- Level
- }
- new pAdmin[MAX_PLAYERS][PlayerAdmin];
- new False=false;
- new gSpectateID[MAX_PLAYERS];
- new gSpectateType[MAX_PLAYERS];
- #define SendFormattedMessageToAll(%0,%1,%2) do{new _string[128]; format(_string,sizeof(_string),%1,%2); SendClientMessageToAll(%0,_string);} while(False)
- #define ADMIN_SPEC_TYPE_PLAYER 1
- #define ADMIN_SPEC_TYPE_NONE 0
- public OnPlayerConnect(playerid)
- {
- new arquivi[34], nomeplayer[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nomeplayer, sizeof(nomeplayer));
- format(arquivi, sizeof(arquivi), "Admins/%s.ini", nomeplayer);
- pAdmin[playerid][Level] = DOF2_GetInt(arquivi, "Level");
- SendClientMessage(playerid, -1,"Este Servidor usa o Sistema de Administração feito por : Fábio Stralioti");
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- new arquiva[34], playernome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playernome, sizeof(playernome));
- format(arquiva, sizeof(arquiva), "Admins/%s.ini", playernome);
- if (!DOF2_FileExists(arquiva)) {
- DOF2_CreateFile(arquiva);
- DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
- DOF2_SaveFile();
- }
- else {
- DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
- DOF2_SaveFile();
- }
- return 0;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return 1;
- }
- CMD:creditosfs(playerid)
- {
- SendClientMessage(playerid, -1,"Filterscript feito por : Fábio Stralioti");
- SendClientMessage(playerid, -1,"www.equipegtatorcidas.com");
- return 1;
- }
- CMD:comandosadmin(playerid)
- {
- new dialogrande[1024];
- format(dialogrande, sizeof(dialogrande),"%s%s",dialogrande,"/asay, /jetpack, /tr, /ir, /vidat, /dararma, /kick, /pinfo, /setadmin, /ban, /vida, /congelar, /descongelar, /olhar, /olharoff\n");
- return 1;
- }
- CMD:setadmin(playerid, params[])
- {
- new id, level, string[256], string2[256], ganhou[MAX_PLAYER_NAME], deu[MAX_PLAYER_NAME];
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Você não é um Administrador Logado Na RCON.");
- if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Use /setadmin [id] [LEVEL]");
- if (level < 0 || level > 5) return SendClientMessage(playerid, -1, "Level inválido. Use de 1 á 5 .");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador não está online.");
- GetPlayerName(id, ganhou, sizeof(ganhou));
- GetPlayerName(playerid, deu, sizeof(deu));
- format(string, sizeof(string), "Você deu admin level %s para o %s", GetLevelAdmin(level), ganhou);
- SendClientMessage(playerid, -1, string);
- format(string2, sizeof(string2), "O admin %s deu admin level %s para você.", deu , GetLevelAdmin(level));
- SendClientMessage(id, -1, string2);
- pAdmin[id][Level] = level;
- return 1;
- }
- CMD:pinfo(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
- new tmp[256], idx, string[128];
- tmp = strtok(params, idx);
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, -1, "Uso: /pinfo [id]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- format(string, sizeof(string), "|__________ Informações de %s __________|", GetName(id));
- SendClientMessage(playerid, -1,string);
- new ip[24];
- new Float:health;
- new Float:armour;
- new ammo = GetPlayerAmmo(id);
- new ping = GetPlayerPing(id);
- new money = GetPlayerMoney(id);
- new level = GetPlayerScore(id);
- GetPlayerHealth(id,health);
- GetPlayerArmour(id,armour);
- GetPlayerIp(id, ip, sizeof ip);
- format(string, sizeof(string), "IP: %s", ip);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Level: %d", level);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Vida: %.1f", health);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Colete: %.1f", armour);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Munição da arma na mão: %d", ammo);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Ping: %d", ping);
- SendClientMessage(playerid, -1,string);
- format(string, sizeof(string), "Dinheiro: %d", money);
- SendClientMessage(playerid, -1,string);
- return 1;
- }
- CMD:asay(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new Nome[MAX_PLAYER_NAME], string[128];
- GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
- if(isnull(params)) return SendClientMessage(playerid, -1, "/asay [Mensagem]");
- format(string, sizeof(string), "[Global Administrador] %s: %s", Nome, params);
- SendClientMessageToAll(-1, string);
- return 1;
- }
- CMD:jetpack(playerid)
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new name[MAX_PLAYER_NAME], string[23 + MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(string, sizeof(string), "O Administrador %s criou um jetpack", name);
- SendClientMessageToAll(-1, string);
- SetPlayerSpecialAction(playerid, 2);
- return 1;
- }
- CMD:dararma(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new ID,IDA,BLS;
- if(sscanf(params,"udi",ID,IDA,BLS)) return SendClientMessage(playerid,-1,"/dararma [id] [id da arma] [munição]");
- if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"O jogador não está conectado");
- GivePlayerWeapon(ID,IDA,BLS);
- new string[128];
- new str[100];
- format(str,sizeof(str),"Você deu á %s uma arma ID: %d com %d de munição!",GetPlayerNameEx(ID),IDA,BLS);
- SendClientMessage(playerid,-1,str);
- format(string,sizeof(string),"O(a)Administrador(a) %s lhe deu uma arma ID: %d com %d de munição!",GetPlayerNameEx(playerid),IDA,BLS);
- SendClientMessage(ID,-1,string);
- return 1;
- }
- CMD:tr(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new id, Float: x, Float: y, Float: z, string[256], string2[256], namep[MAX_PLAYER_NAME], namead[MAX_PLAYER_NAME];
- if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1,"Use: /tr [id]");
- if(id == playerid) return SendClientMessage(playerid, -1, "Você não pode trazer em você mesmo");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1,"Este jogador não está online");
- GetPlayerName(playerid, namead, sizeof(namead));
- GetPlayerName(id, namep, sizeof(namep));
- format(string, sizeof(string), "Trouxe o player %s até você.", namep);
- format(string2, sizeof(string2), "%s trouxe você até ele.", namead);
- SendClientMessage(playerid, -1, string);
- SendClientMessage(id, -1, string2);
- GetPlayerPos(playerid, x, y, z);
- SetPlayerPos(id, x+1, y+1, z);
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256], tmp2[256], idx;
- tmp = strtok(params, idx);
- tmp2 = strtok2(params, idx);
- if(!strlen(tmp)||!strlen(tmp2))
- return SendClientMessage(playerid,-1,"/kick [id] [motivo]");
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- new cargos[64], string[128];
- if(pAdmin[playerid][Level] == 1) { cargos = "Administrador"; }
- if(pAdmin[playerid][Level] == 2) { cargos = "Administrador"; }
- if(pAdmin[playerid][Level] == 3) { cargos = "Administrador"; }
- if(pAdmin[playerid][Level] == 4) { cargos = "Administrador"; }
- if(pAdmin[playerid][Level] == 5) { cargos = "Game Master"; }
- format(string, sizeof(string), "FSystem: %s foi kickado pelo %s %s pelo motivo: %s", GetName(id),cargos,GetName(playerid),tmp2);
- SendClientMessageToAll(0xFF7777AA, string);
- Kick(id);
- return 1;
- }
- CMD:vida(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
- new health, giveplayer[MAX_PLAYER_NAME+1], sendername[MAX_PLAYER_NAME+1], idx, string[264], tmp[264], giveplayerid;
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
- tmp = strtok(params, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid,-1,"Uso: /vida [id do player] [vida]");
- return 1;
- }
- giveplayerid = strval(tmp);
- tmp = strtok(params, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid,-1,"Uso: /vida [id do player] [vida]");
- return 1;
- }
- health = strval(tmp);
- if(health < 0 || health > 100)
- {
- SendClientMessage(playerid,-1,"Quantidade de vida inválida!");
- return 1;
- }
- if(IsPlayerConnected(giveplayerid))
- {
- SetPlayerHealth(giveplayerid,health);
- GetPlayerName(giveplayerid, giveplayer,sizeof(giveplayer));
- format(string, 256, "** %s deu vida para %s", GetName(playerid), giveplayer);
- MensagemLocal(giveplayerid, -1, string, 60);
- }
- return 1;
- }
- CMD:olhar(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1)return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256];
- new specplayerid, idx;
- tmp = strtok(params, idx);
- specplayerid = strval(tmp);
- if(!IsPlayerConnected(specplayerid))
- {
- SendClientMessage(playerid, -1, "Player não encontrado.");
- return 1;
- }
- TogglePlayerSpectating(playerid, 1);
- PlayerSpectatePlayer(playerid, specplayerid);
- SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
- gSpectateID[playerid] = specplayerid;
- gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
- SendClientMessage(playerid, -1, "Atenção Administrador você entrou no modo espectador, para sair digite /olharoff");
- return 1;
- }
- CMD:olharoff(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1, "Você não é um Administrador");
- TogglePlayerSpectating(playerid, 0);
- gSpectateID[playerid] = INVALID_PLAYER_ID;
- gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
- SendClientMessage(playerid, -1, "Você saiu do modo espectador");
- return 1;
- }
- CMD:ir(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new id = strval(params);
- if(isnull(params)) return SendClientMessage(playerid, -1, "/ir [playerid]");
- if(id == playerid) return SendClientMessage(playerid, -1, "Você não pode ir em você mesmo");
- if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "O player não está conectado");
- new Float:X2, Float:Y2, Float:Z2, Pname[24];
- GetPlayerPos(id, X2, Y2, Z2);
- GetPlayerName(id, Pname, 24);
- SetPlayerPos(playerid, X2, Y2, Z2);
- new String[56];
- format(String, sizeof(String), "Você foi ate %s(%d)", Pname, id);
- SendClientMessage(playerid, -1, String);
- return 1;
- }
- CMD:vidat(playerid)
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new i;
- SetPlayerHealth(i,100);
- new string2[72];
- format(string2, sizeof(string2), "%s deu vida para todos",(playerid));
- SendClientMessageToAll( -1, string2);
- SendClientMessage(playerid, -1, "Você deu vida para todos");
- return 1;
- }
- CMD:congelar(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256], idx, string[128];
- tmp = strtok(params, idx);
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, -1, "/congelar [id]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- TogglePlayerControllable(id, 0);
- format(string, 128, "%s foi congelado pelo %s.", GetName(id), GetName(playerid));
- MensagemLocal(id, -1, string, 60);
- return 1;
- }
- CMD:descongelar(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256], idx, string[128];
- tmp = strtok(params, idx);
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, -1, "/descongelar [id]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- TogglePlayerControllable(id, 1);
- format(string, 128, "%s foi descongelado pelo %s.", GetName(id), GetName(playerid));
- MensagemLocal(id, -1, string, 60);
- return 1;
- }
- CMD:tapa(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256], Float:health, Float:pos[3], idx;
- tmp = strtok(params, idx);
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!strlen(tmp))
- return SendClientMessage(playerid, -1, "/tapa [id]");
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- GetPlayerHealth(id, health);
- SetPlayerHealth(id, health-5);
- GetPlayerPos(id, pos[0], pos[1], pos[2]);
- SetPlayerPos(id, pos[0], pos[1], pos[2]+5);
- new string[128];
- format(string, 256, "%s levou um tapa de %s", GetName(id), GetName(playerid));
- MensagemLocal(id, -1, string, 60);
- return 1;
- }
- CMD:ban(playerid, params[])
- {
- if(pAdmin[playerid][Level] >= 1) return SendClientMessage(playerid, -1,"Você não é um Administrador");
- new tmp[256], tmp2[256], idx;
- tmp = strtok(params, idx);
- tmp2 = strtok2(params, idx);
- new id;
- if(!IsNumeric(tmp))
- id = ReturnPlayerID(tmp);
- else
- id = strval(tmp);
- if(!IsPlayerConnected(id))
- return SendClientMessage(playerid, -1, "ID inválido!");
- SendFormattedMessageToAll(-1, "FSystem: %s foi Banido pelo %s %s | Motivo: %s", GetName(id), GetLevelAdmin(playerid), GetName(playerid), tmp2);
- Ban(id);
- return 1;
- }
- stock GetLevelAdmin(levelid)
- {
- new str[50];
- if(levelid == 1)
- {
- str = "1";
- }
- else if (levelid == 2)
- {
- str = "2";
- }
- else if (levelid == 3)
- {
- str = "3";
- }
- else if (levelid == 4)
- {
- str = "4";
- }
- else if (levelid == 5)
- {
- str = "5";
- }
- return str;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock strtok2(const string[], &index)
- {
- new lenGT = strlen(string);
- while ((index < lenGT) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[70];
- while ((index < lenGT) && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock ReturnPlayerID(PlayerName[])
- {
- new found=0, id;
- for(new i=0; i <= MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- new foundname[MAX_PLAYER_NAME+1];
- GetPlayerName(i, foundname, MAX_PLAYER_NAME+1);
- new namelen = strlen(foundname);
- new bool:searched=false;
- for(new pos=0; pos <= namelen; pos++)
- {
- if(searched != true)
- {
- if(strfind(foundname,PlayerName,true) == pos)
- {
- found++;
- id = i;
- }
- }
- }
- }
- }
- if(found == 1)
- return id;
- else
- return INVALID_PLAYER_ID;
- }
- stock GetName(playerid)
- {
- new
- pName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
- return pName;
- }
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- stock GetPlayerNameEx(playerid)
- {
- new pName[25];
- GetPlayerName(playerid, pName, sizeof(pName));
- return pName;
- }
- stock GetDistanceBetweenPlayers(playerid,playerid2)
- {
- new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
- new Float:tmpdis;
- GetPlayerPos(playerid,x1,y1,z1);
- GetPlayerPos(playerid2,x2,y2,z2);
- tmpdis = floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
- return floatround(tmpdis);
- }
- stock MensagemLocal(playerid, cor, text[], distancia)
- {
- for(new i=0; i <= MAX_PLAYERS; i++)
- if(GetDistanceBetweenPlayers(playerid, i) <= distancia)
- {
- if(GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
- {
- new string[128];
- format(string, 128, text);
- SendClientMessage(i,cor,string);
- }
- }
- return 1;
- }
- #else
- #endif
Advertisement
Add Comment
Please, Sign In to add comment