SHARE
TWEET

[FS] FilterScript s4KuL's Admin Script

Chip7 Jun 10th, 2012 784 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*VISITE NOSSO SITE: http://www.sampknd.com/
  2.   SAMP KND MELHOR BLOG DE SAMP DO BRASIL
  3. */
  4.  
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <sscanf2>
  8. #include <dof2>
  9.  
  10. #define Vermelho 0xFF0000FF
  11. #define Azul 0x00BFFFFF
  12. #define Verde 0x00FF00FF
  13. #define Amarelo 0xF2FF00FF
  14. #define contas "s4kuL/Contas/%s.ini"
  15.  
  16. #define MAXAVISO 3
  17. #define MAXLEVEL 5
  18.  
  19. #define DIALOG_REGISTER 1 //Dialog de registro
  20. #define DIALOG_LOGIN 2 //Dialog de login
  21. //--------------------
  22. enum player_info
  23. {
  24.     pAdmin,
  25.         pLevel,
  26.         pAvisos,
  27.         pPreso,
  28.         pGrana,
  29.         pMudo,
  30.         pMatou,
  31.         pMorreu,
  32. }
  33. new PlayerInfo[MAX_PLAYERS][player_info];
  34. //--------------------
  35. forward SairCadeia(ID);
  36. //--------------------
  37. //--------------------
  38. public OnFilterScriptInit()
  39. {
  40.         print("\n--------------------------------------");
  41.         print(" s4kuL's Admin System");
  42.         print("--------------------------------------\n");
  43.         return 1;
  44. }
  45. public OnPlayerConnect(playerid)
  46. {
  47.         PlayerInfo[playerid][pAdmin] = 0;
  48.         PlayerInfo[playerid][pPreso] = 0;
  49.         PlayerInfo[playerid][pLevel] = 0;
  50.         PlayerInfo[playerid][pMatou] = 0;
  51.         PlayerInfo[playerid][pMorreu] = 0;
  52.         PlayerInfo[playerid][pAvisos] = 0;
  53.         PlayerInfo[playerid][pMudo] = 0;
  54.         //Login e Registro
  55.         new nome[90];
  56.     format(nome,sizeof(nome),contas,GetPlayerNameEx(playerid));
  57.     if(DOF2_FileExists(nome))
  58.     {
  59.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Logando-se","{FFFFFF}Bem vindo novamente. para pode jogar digite sua senha abaixo:","Logar","Sair");
  60.     }
  61.     else
  62.     {
  63.         ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim também seus dados serão salvos.","Registrar","Cancelar");
  64.     }
  65.         return 1;
  66. }
  67. public OnPlayerDisconnect(playerid, reason)
  68. {
  69.     new file[80];
  70.     format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  71.     DOF2_SetInt(file,"Matou",PlayerInfo[playerid][pMatou]);
  72.     DOF2_SetInt(file,"Morreu",PlayerInfo[playerid][pMorreu]);
  73.     DOF2_SetInt(file,"Grana",GetPlayerMoney(playerid));
  74.     DOF2_SetInt(file,"Admin",PlayerInfo[playerid][pAdmin]);
  75.     DOF2_SaveFile();
  76.     return 1;
  77. }
  78. public OnPlayerCommandReceived(playerid, cmdtext[])
  79. {
  80.     return 1;
  81. }
  82. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  83. {
  84.         if(PlayerInfo[playerid][pPreso] == 1)
  85.         {
  86.                 return SendClientMessage(playerid,Vermelho, "ERRO: Você está preso e não pode usar comandos");
  87.         }
  88.         return 1;
  89. }
  90. public OnPlayerText(playerid, text[])
  91. {
  92.     if(text[0] == '#' && PlayerInfo[playerid][pAdmin] >= 1)
  93.         {
  94.         new string[128];
  95.         format(string,sizeof(string),"Admin Chat: %s: %s",GetPlayerNameEx(playerid),text[1]);
  96.         SendAdminMessage(Verde,string);
  97.         return 0;
  98.         }
  99.         if(PlayerInfo[playerid][pMudo] == 1)
  100.         {
  101.         SendClientMessage(playerid,Vermelho,"ERRO: Você está mudo e não pode falar no chat");
  102.         return 0;
  103.         }
  104.     return 1;
  105. }
  106. public OnPlayerSpawn(playerid)
  107. {
  108.         return 1;
  109. }
  110. public OnPlayerDeath(playerid, killerid, reason)
  111. {
  112.     if(killerid!=INVALID_PLAYER_ID)
  113.     {
  114.     PlayerInfo[playerid][pMatou] ++;
  115.     }
  116.     PlayerInfo[playerid][pMorreu] ++;
  117.     return 1;
  118. }
  119. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  120. {
  121.     switch(dialogid)
  122.     {
  123.         case DIALOG_REGISTER:
  124.         {
  125.             if(!response) Kick(playerid);
  126.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim também seus dados serão salvos.","Registrar","Sair");
  127.             if(response)
  128.             {
  129.                 new file[80];
  130.                 format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  131.                 DOF2_CreateFile(file, inputtext);
  132.                 DOF2_SetInt(file,"Matou", 0);
  133.                 DOF2_SetInt(file,"Morreu", 0);
  134.                 DOF2_SetInt(file,"Grana", 0);
  135.                 DOF2_SetInt(file,"Admin", 0);
  136.                 DOF2_SaveFile();
  137.                 SpawnPlayer(playerid);
  138.             }
  139.         }
  140.         case DIALOG_LOGIN:
  141.         {
  142.             if(!response) Kick(playerid);
  143.             if(response)
  144.             {
  145.                 new file[80];
  146.                 format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  147.                 if(DOF2_FileExists(file))
  148.                 {
  149.                     if(DOF2_CheckLogin(file,inputtext))
  150.                     {
  151.                         PlayerInfo[playerid][pMatou] = DOF2_GetInt(file,"Matou");
  152.                         PlayerInfo[playerid][pMorreu] = DOF2_GetInt(file,"Morreu");
  153.                         PlayerInfo[playerid][pGrana] = DOF2_GetInt(file,"Grana");
  154.                         PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"Admin");
  155.                         DOF2_SaveFile();
  156.                                                 SpawnPlayer(playerid);
  157.                         GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
  158.                         new string[50];
  159.                         format(string,sizeof(string),"CONTA: Logado com sucesso (Level:%d)",PlayerInfo[playerid][pAdmin]);
  160.                         SendClientMessage(playerid,Verde,string);
  161.                         return 1;
  162.                     }
  163.                     else
  164.                     {
  165.                         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Senha Incorreta","{FFFFFF}Você digitou a senha errada para essa conta!","Logar","Cancelar");
  166.                         return 1;
  167.                     }
  168.                 }
  169.             }
  170.         }
  171.     }
  172.     return 1;
  173. }
  174. //----------------------------- Comandos de Admin ------------------------------
  175. CMD:level1(playerid,params[])
  176. {
  177.     if(PlayerInfo[playerid][pAdmin] < 1)
  178.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  179.     SendClientMessage(playerid,Vermelho,"======================================================");
  180.     SendClientMessage(playerid,-1,"Comandos de administrador(a) level 1:");
  181.         SendClientMessage(playerid,-1,"/Kick, /Ban, /Avisar, /a, /Explodir, /Tapa, /Spec, /Specoff.");
  182.         SendClientMessage(playerid,Vermelho,"======================================================");
  183.         return 1;
  184. }
  185. CMD:level2(playerid,params[])
  186. {
  187.     if(PlayerInfo[playerid][pAdmin] < 2)
  188.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  189.     SendClientMessage(playerid,-1,"Comandos de administrador(a) level 2:");
  190.     SendClientMessage(playerid,Vermelho,"======================================================");
  191.         SendClientMessage(playerid,-1,"/Dararma, /Desarmar, /Limparchat, /Setarskin,");
  192.         SendClientMessage(playerid,-1,"/Calar /Descalar, /Desbanir, /Prender, /Soltar.");
  193.         SendClientMessage(playerid,Vermelho,"======================================================");
  194.         return 1;
  195. }
  196. CMD:level3(playerid,params[])
  197. {
  198.     if(PlayerInfo[playerid][pAdmin] < 3)
  199.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  200.     SendClientMessage(playerid,Vermelho,"======================================================");
  201.         SendClientMessage(playerid,-1,"Comandos de administrador(a) level 3:");
  202.         SendClientMessage(playerid,-1,"/Ir, /Trazer, /Congelar, /Descongelar, /Setarmundo, /Setarvida,");
  203.     SendClientMessage(playerid,-1,"/Setarcolete.");
  204.         SendClientMessage(playerid,Vermelho,"======================================================");
  205.         return 1;
  206. }
  207. CMD:level4(playerid,params[])
  208. {
  209.     if(PlayerInfo[playerid][pAdmin] < 4)
  210.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  211.         SendClientMessage(playerid,Vermelho,"======================================================");
  212.         SendClientMessage(playerid,-1,"Comandos de administrador(a) level 4:");
  213.         SendClientMessage(playerid,-1,"/Setarscore, /Fakeban, /Fakekick, /Setargrana, /Dargrana.");
  214.         SendClientMessage(playerid,Vermelho,"======================================================");
  215.         return 1;
  216. }
  217. CMD:level5(playerid,params[])
  218. {
  219.     if(PlayerInfo[playerid][pAdmin] < 5)
  220.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  221.     SendClientMessage(playerid,Vermelho,"======================================================");
  222.         SendClientMessage(playerid,-1,"Comandos de administrador(a) level 5:");
  223.         SendClientMessage(playerid,-1,"/Setadmin, /Fakechat.");
  224.         SendClientMessage(playerid,Vermelho,"======================================================");
  225.         return 1;
  226. }
  227.  
  228. CMD:report(playerid, params[])
  229. {
  230.         new ID,Motivo[70];
  231.         if(sscanf(params,"ds[70]",ID,Motivo))
  232.         return SendClientMessage(playerid,Vermelho,"USE: /report [id] [motivo]");
  233.         if(strlen(Motivo) > 70)return SendClientMessage(playerid,Vermelho,"O maximo é de 70 caracteristicas no motivo!");
  234.         if(!IsPlayerConnected(ID))
  235.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  236.         new string[100];
  237.         format(string,sizeof(string),"REPORT: %s(ID:%d) Reportou %s(ID:%d) Motivo: %s",GetPlayerNameEx(ID),ID,GetPlayerNameEx(playerid),playerid,Motivo);
  238.         SendAdminMessage(Vermelho,string);
  239.         SendClientMessage(playerid,Verde,"Seu report foi enviado a todos administrador online, obrigado!");
  240.         return 1;
  241. }
  242.  
  243. CMD:a(playerid, params[])
  244. {
  245.         if(PlayerInfo[playerid][pAdmin] < 1)
  246.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  247.     if(isnull(params))
  248.     return SendClientMessage(playerid,Vermelho,"USE: /a [texto]");
  249.         new mensagem[100];
  250.     format(mensagem,sizeof(mensagem),"{51FF00}Admin: %s: {FFFFFF}%s",GetPlayerNameEx(playerid),params);
  251.     SendClientMessageToAll(-1, mensagem);
  252.     return 1;
  253. }
  254.  
  255. CMD:setadmin(playerid, params[])
  256. {
  257.         if(PlayerInfo[playerid][pAdmin] < 5 && !IsPlayerAdmin(playerid))
  258.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  259.         new ID,level,string[80];
  260.         if(sscanf(params,"dd",ID,level))
  261.         return SendClientMessage(playerid,Vermelho,"USE: /setadmin [playerid] [level]");
  262.         if(!IsPlayerConnected(ID))
  263.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  264.         if(PlayerInfo[playerid][pLevel] == MAXLEVEL)
  265.         return SendClientMessage(playerid, Vermelho,"ERRO: O level maximo é de 5 leveis!");
  266.     format(string,sizeof(string),"Você definiu o level de administração de %s para %i",GetPlayerNameEx(ID),level);
  267.         SendClientMessage(playerid,Azul,string);
  268.         format(string,sizeof(string),"O(A)Administrador(A) %s definiu seu nível de administração para %i",GetPlayerNameEx(playerid),level);
  269.         SendClientMessage(ID,Azul,string);
  270.         PlayerInfo[ID][pAdmin] = level;
  271.         return 1;
  272. }
  273.  
  274. CMD:kick(playerid,params[])
  275. {
  276.     if(PlayerInfo[playerid][pAdmin] < 1)
  277.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  278.     new Kickado,Rasao[70];
  279.     if(sscanf(params,"ds[70]",Kickado,Rasao))
  280.         return SendClientMessage(playerid,Vermelho,"USE: /kick [playerid] [razão]");
  281.         if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  282.         if(!IsPlayerConnected(Kickado))
  283.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  284.         new string[140];
  285.         format(string, sizeof(string), "*%s foi kickado pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Kickado), GetPlayerNameEx(playerid), Rasao);
  286.         SendClientMessageToAll(Vermelho, string);
  287.         Kick(Kickado);
  288.         return 1;
  289. }
  290.  
  291. CMD:fakekick(playerid,params[])
  292. {
  293.     if(PlayerInfo[playerid][pAdmin] < 4)
  294.     return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  295.     new Kickado,Rasao[70];
  296.     if(sscanf(params,"ds[70]",Kickado,Rasao))
  297.         return SendClientMessage(playerid,Vermelho,"USE: /kick [playerid] [razão]");
  298.         if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  299.         if(!IsPlayerConnected(Kickado))
  300.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  301.         new string[140];
  302.         format(string, sizeof(string), "*%s foi kickado pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Kickado), GetPlayerNameEx(playerid), Rasao);
  303.         SendClientMessageToAll(Vermelho, string);
  304.         return 1;
  305. }
  306.  
  307. CMD:avisar(playerid, params[])
  308. {
  309.         if(PlayerInfo[playerid][pAdmin] < 1)
  310.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  311.         new ID,Texto[70];
  312.         if(sscanf(params,"ds[70]",ID,Texto))
  313.         return SendClientMessage(playerid,Vermelho,"USE: /avisar [playerid] [motivo]");
  314.         if(strlen(Texto) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  315.     if(!IsPlayerConnected(ID))
  316.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  317.     PlayerInfo[ID][pAvisos] ++;
  318.     new str[140];
  319.     if(PlayerInfo[ID][pAvisos] == MAXAVISO){
  320.     format(str, sizeof(str),"O(a)Administrador(a) '%s' Kickou '%s' (Motivo: %s ) Avisos: %d/%d",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Texto,PlayerInfo[ID][pAvisos],MAXAVISO);
  321.     Kick(ID);
  322.     }else{
  323.     format(str,sizeof(str),"O(a)Administrador(a) '%s' Advertiu '%s' (Motivo: %s ) Avisos: %d/%d",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Texto,PlayerInfo[ID][pAvisos],MAXAVISO);
  324.         SendClientMessageToAll(Amarelo,str);
  325.         }
  326.     return 1;
  327. }
  328.  
  329. CMD:ban(playerid,params[])
  330. {
  331.         if(PlayerInfo[playerid][pAdmin] < 1)
  332.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  333.         new Banido,Rasao[70];
  334.         if(sscanf(params,"ds[70]",Banido,Rasao))
  335.         return SendClientMessage(playerid,Vermelho,"USE: /ban [playerid] [razão]");
  336.         if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  337.         if(!IsPlayerConnected(Banido))
  338.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  339.         new string[215];
  340.         format(string, sizeof(string), "*%s foi banido pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Banido), GetPlayerNameEx(playerid), Rasao);
  341.     SendClientMessageToAll(Vermelho, string);
  342.         GameTextForPlayer(Banido,"~r~VOCE FOI BANIDO!",5000,3);
  343.         Ban(Banido);
  344.         return 1;
  345. }
  346.  
  347. CMD:desbanir(playerid,params[])
  348. {
  349.     if(PlayerInfo[playerid][pAdmin] < 2)
  350.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  351.         new playerIP[18];
  352.         if(sscanf(params,"s",playerIP))
  353.         return SendClientMessage(playerid,Vermelho,"USE: /desbanir [ip]");
  354.         new str[70];
  355.         format(str,sizeof(str),"unbanip %s",playerIP);
  356.         SendRconCommand(str);
  357.         SendRconCommand("reloadbans");
  358.         SendClientMessage(playerid,Verde,"IP desbanido com sucesso!");
  359.         return 1;
  360. }
  361.  
  362. CMD:fakeban(playerid,params[])
  363. {
  364.         if(PlayerInfo[playerid][pAdmin] < 4)
  365.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  366.         new Banido,Rasao[70];
  367.         if(sscanf(params,"ds[70]",Banido,Rasao))
  368.         return SendClientMessage(playerid,Vermelho,"USE: /ban [playerid] [razão]");
  369.         if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  370.         if(!IsPlayerConnected(Banido))
  371.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  372.         new string[215];
  373.         format(string, sizeof(string), "*%s foi banido pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Banido), GetPlayerNameEx(playerid), Rasao);
  374.     SendClientMessageToAll(Vermelho, string);
  375.         GameTextForPlayer(playerid,"~r~VOCE FOI BANIDO!",5000,3);
  376.         return 1;
  377. }
  378.  
  379. CMD:fakechat(playerid,params[])
  380. {
  381.     if(PlayerInfo[playerid][pAdmin] < 5)
  382.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  383.         new ID,string[156];
  384.         if(sscanf(params,"us",ID,string))
  385.         return SendClientMessage(playerid,Vermelho,"USE: /fakechat [id] [texto]");
  386.         SendPlayerMessageToAll(ID,string);
  387.         return 1;
  388. }
  389.  
  390. CMD:explodir(playerid, params[])
  391. {
  392.         if(PlayerInfo[playerid][pAdmin] < 1)
  393.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  394.         new ID,Float:posx,Float:posy,Float:posz;
  395.         if(!IsPlayerConnected(ID))
  396.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  397.         if(sscanf(params,"u",ID))
  398.         return SendClientMessage(playerid,Vermelho,"USE: /explodir [playerid]");
  399.     GetPlayerPos(ID, posx, posy, posz);
  400.         CreateExplosion(posx, posy, posz,12,10.0);
  401.         new string[128];
  402.         format(string,sizeof(string),"Você explodiu: %s",GetPlayerNameEx(ID));
  403.         SendClientMessage(playerid,Azul,string);
  404.         return 1;
  405. }
  406.  
  407. CMD:tapa(playerid,params[])
  408. {
  409.         if(PlayerInfo[playerid][pAdmin] < 1)
  410.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  411.     new ID,Float:posx,Float:posy,Float:posz;
  412.         if(!IsPlayerConnected(ID))
  413.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  414.         if(sscanf(params,"d",ID))
  415.         return SendClientMessage(playerid,Vermelho,"USE: /tapa [playerid]");
  416.         GetPlayerPos(ID, posx,posy,posz);
  417.         SetPlayerPos(ID,posx,posy,posz+10);
  418.         new string[70];
  419.         format(string,sizeof(string),"Você deu um tapa em: %s",GetPlayerNameEx(ID));
  420.         SendClientMessage(playerid,Azul,string);
  421.         return 1;
  422. }
  423.  
  424. CMD:ir(playerid, params[])
  425. {
  426.         if(PlayerInfo[playerid][pAdmin] < 3)
  427.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  428.         new ID,Float:pPos[3];
  429.         if(!IsPlayerConnected(ID))
  430.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  431.         if(sscanf(params,"d",ID))
  432.         return SendClientMessage(playerid,Vermelho,"USE: /ir [playerid]");
  433.         GetPlayerPos(ID, pPos[0], pPos[1], pPos[2]);
  434.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) SetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]); else SetVehiclePos(GetPlayerVehicleID(playerid), pPos[0], pPos[1], pPos[2]);
  435.         SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
  436.         SetPlayerInterior(playerid, GetPlayerInterior(ID));
  437.         return 1;
  438. }
  439.  
  440. CMD:trazer(playerid,params[])
  441. {
  442.     if(PlayerInfo[playerid][pAdmin] < 3)
  443.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  444.         new ID,Float:pPos[3];
  445.         if(!IsPlayerConnected(ID))
  446.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  447.         if(sscanf(params,"u",ID))
  448.         return SendClientMessage(playerid,Vermelho,"USE: /trazer [playerid]");
  449.         GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  450.         if(GetPlayerState(ID) != PLAYER_STATE_DRIVER) SetPlayerPos(ID, pPos[0], pPos[1], pPos[2]); else SetVehiclePos(GetPlayerVehicleID(ID), pPos[0], pPos[1], pPos[2]);
  451.         SetPlayerVirtualWorld(ID, GetPlayerVirtualWorld(playerid));
  452.         SetPlayerInterior(ID, GetPlayerInterior(playerid));
  453.         return 1;
  454. }
  455.        
  456. CMD:congelar(playerid, params[])
  457. {
  458.         if(PlayerInfo[playerid][pAdmin] < 3)
  459.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  460.         new ID;
  461.         if(!IsPlayerConnected(ID))
  462.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  463.         if(sscanf(params,"d",ID))
  464.         return SendClientMessage(playerid,Vermelho,"USE: /congelar [playerid]");
  465.         TogglePlayerControllable(ID, false);
  466.         new string[128];
  467.         format(string,sizeof(string),"Você congelou: %s",GetPlayerNameEx(ID));
  468.         SendClientMessage(playerid, Azul, string);
  469.         return 1;
  470. }
  471.  
  472. CMD:descongelar(playerid, params[])
  473. {
  474.         if(PlayerInfo[playerid][pAdmin] < 3)
  475.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  476.         new ID;
  477.         if(!IsPlayerConnected(ID))
  478.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  479.         if(sscanf(params,"d",ID))
  480.         return SendClientMessage(playerid,Vermelho,"USE: /descongelar [playerid]");
  481.         TogglePlayerControllable(ID, true);
  482.         new string[128];
  483.         format(string,sizeof(string),"Você descongelou: %s",GetPlayerNameEx(ID));
  484.         SendClientMessage(playerid, Azul, string);
  485.         return 1;
  486. }
  487.  
  488. CMD:setarmundo(playerid,params[])
  489. {
  490.         if(PlayerInfo[playerid][pAdmin] < 3)
  491.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  492.         new ID,Mundo;
  493.         if(!IsPlayerConnected(ID))
  494.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  495.         if(sscanf(params,"dd",ID,Mundo))
  496.         return SendClientMessage(playerid,Vermelho,"USE: /setarmundo [playerid] [mundo]");
  497.         SetPlayerVirtualWorld(ID,Mundo);
  498.         new string[256];
  499.         new str[256];
  500.         format(string,sizeof(string),"Você setou o mundo virtual de %s para %d",ID,Mundo);
  501.         SendClientMessage(playerid,Azul,string);
  502.         format(str,sizeof(str),"O(a)Administrador(a) %s setou seu mundo virtual para %d",GetPlayerNameEx(playerid),Mundo);
  503.         SendClientMessage(ID,Azul,str);
  504.         return 1;
  505. }
  506.  
  507. CMD:prender(playerid, params[])
  508. {
  509.     if(PlayerInfo[playerid][pAdmin] < 2)
  510.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  511.         new ID,Motivo[70];
  512.         if(!IsPlayerConnected(ID))
  513.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  514.         if(sscanf(params,"us[70]",ID,Motivo))
  515.         return SendClientMessage(playerid,Vermelho,"USE: /prender [id] [motivo]");
  516.         if(strlen(Motivo) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  517.         SetPlayerPos(ID,197.6661,173.8179,1003.0234);
  518.         SetPlayerInterior(ID,3);
  519.         SetTimerEx("SairCadeia",120000,0,"d",ID);
  520.         SetPlayerVirtualWorld(ID,999);
  521.         ResetPlayerWeapons(ID);
  522.         SetPlayerHealth(ID,99999);
  523.         PlayerInfo[ID][pPreso] = 1;
  524.         new string[130];
  525.         format(string,sizeof(string),"Você prendeu %s",GetPlayerNameEx(ID));
  526.         SendClientMessage(playerid,Azul,string);
  527.         new str[120];
  528.         format(str,sizeof(str),"O(a)Administrador(a): %s Prendeu: %s Motivo: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Motivo);
  529.         SendClientMessageToAll(Azul,str);
  530.         return 1;
  531. }
  532.  
  533. CMD:soltar(playerid, params[])
  534. {
  535.     if(PlayerInfo[playerid][pAdmin] < 2)
  536.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  537.         new ID;
  538.         if(!IsPlayerConnected(ID))
  539.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  540.         if(sscanf(params,"d",ID))
  541.         return SendClientMessage(playerid,Vermelho,"USE: /soltar [id]");
  542.         new str[128];
  543.         SpawnPlayer(ID);
  544.         SetPlayerInterior(ID,0);
  545.         SetPlayerVirtualWorld(ID,0);
  546.         PlayerInfo[ID][pPreso] = 0;
  547.         format(str,sizeof(str),"O(a)Administrador(a): %s Soltou: %s da Prisão",GetPlayerNameEx(playerid),GetPlayerNameEx(ID));
  548.         SendClientMessageToAll(Azul,str);
  549.         return 1;
  550. }
  551.  
  552. CMD:dararma(playerid, params[])
  553. {
  554.         if(PlayerInfo[playerid][pAdmin] < 2)
  555.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  556.         new ID,IDA,BLS;
  557.         if(sscanf(params,"unn",ID,IDA,BLS))
  558.         return SendClientMessage(playerid,Vermelho,"USE: /dararma [id] [id da arma] [munição]");
  559.         if(!IsPlayerConnected(ID))
  560.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  561.         GivePlayerWeapon(ID,IDA,BLS);
  562.         new string[128];
  563.         new str[100];
  564.         format(str,sizeof(str),"Você deu á %s uma arma ID: %d com %d de munição!",GetPlayerNameEx(ID),IDA,BLS);
  565.         SendClientMessage(playerid,Azul,str);
  566.         format(string,sizeof(string),"O(a)Administrador(a) %s lhe deu uma arma ID: %d com %d de munição!",GetPlayerNameEx(playerid),IDA,BLS);
  567.         SendClientMessage(ID,Azul,string);
  568.         return 1;
  569. }
  570.  
  571. CMD:desarmar(playerid, params[])
  572. {
  573.         if(PlayerInfo[playerid][pAdmin] < 2)
  574.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  575.         new ID;
  576.         if(sscanf(params,"d",ID))
  577.         return SendClientMessage(playerid,Vermelho,"USE: /desarmar [id]");
  578.         if(!IsPlayerConnected(ID))
  579.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  580.         ResetPlayerWeapons(ID);
  581.         new string[50];
  582.         format(string,sizeof(string),"Você desarmou: %s",GetPlayerNameEx(ID));
  583.         SendClientMessage(ID,Azul,string);
  584.         return 1;
  585. }
  586.  
  587. CMD:setarvida(playerid,params[])
  588. {
  589.         if(PlayerInfo[playerid][pAdmin] < 3)
  590.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  591.         new ID,Vida;
  592.         if(sscanf(params,"dd",ID,Vida))
  593.         return SendClientMessage(playerid,Vermelho,"USE: /setarvida [id] [vida]");
  594.         if(!IsPlayerConnected(ID))
  595.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  596.         SetPlayerHealth(ID,Vida);
  597.         new string[70];
  598.         new str[100];
  599.         format(string,sizeof(string),"Você setou a vida de: %s para: %d",GetPlayerNameEx(ID),Vida);
  600.         SendClientMessage(playerid,Azul,string);
  601.         format(str,sizeof(str),"O(a)Administrador(a): %s Setou sua vida para: %d",GetPlayerNameEx(playerid),Vida);
  602.         SendClientMessage(ID,Azul,str);
  603.         return 1;
  604. }
  605.  
  606. CMD:setarcolete(playerid,params[])
  607. {
  608.         if(PlayerInfo[playerid][pAdmin] < 3)
  609.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  610.         new ID,Colete;
  611.         if(sscanf(params,"dd",ID,Colete))
  612.         return SendClientMessage(playerid,Vermelho,"USE: /setarcolete [id] [colete]");
  613.         if(!IsPlayerConnected(ID))
  614.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  615.         SetPlayerArmour(ID,Colete);
  616.         new string[70];
  617.         new str[100];
  618.         format(string,sizeof(string),"Você setou o colete de: %s para: %d",GetPlayerNameEx(ID),Colete);
  619.         SendClientMessage(playerid,Azul,string);
  620.         format(str,sizeof(str),"O(a)Administrador(a): %s Setou seu colete para: %d",GetPlayerNameEx(playerid),Colete);
  621.         SendClientMessage(ID,Azul,str);
  622.         return 1;
  623. }
  624.  
  625. CMD:setarskin(playerid,params[])
  626. {
  627.     if(PlayerInfo[playerid][pAdmin] < 2)
  628.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  629.     new ID,Skin;
  630.         if(sscanf(params,"dd",ID,Skin))
  631.         return SendClientMessage(playerid,Vermelho,"USE: /setarskin [id] [skinid]");
  632.         if(!IsPlayerConnected(ID))
  633.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  634.         SetPlayerSkin(ID,Skin);
  635.         new string[70];
  636.         new str[100];
  637.         format(string,sizeof(string),"Você setou a skin de: %s para: %d",GetPlayerNameEx(ID),Skin);
  638.         SendClientMessage(playerid,Azul,string);
  639.         format(str,sizeof(str),"O(a)Administrador(a): %s Setou sua skin para: %d",GetPlayerNameEx(playerid),Skin);
  640.         SendClientMessage(playerid,Azul,str);
  641.         return 1;
  642. }
  643.  
  644. CMD:setarscore(playerid,params[])
  645. {
  646.     if(PlayerInfo[playerid][pAdmin] < 4)
  647.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  648.     new ID,Score;
  649.         if(sscanf(params,"dd",ID,Score))
  650.         return SendClientMessage(playerid,Vermelho,"USE: /setarscore [id] [score]");
  651.         if(!IsPlayerConnected(ID))
  652.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  653.         SetPlayerScore(ID,Score);
  654.         new string[70];
  655.         new str[100];
  656.         format(string,sizeof(string),"Você setou o Score de: %s para: %d",GetPlayerNameEx(ID),Score);
  657.         SendClientMessage(playerid,Azul,string);
  658.         format(str,sizeof(str),"O(a)Administrador(a): %s Setou seu Score para: %d",GetPlayerNameEx(playerid),Score);
  659.         SendClientMessage(playerid,Azul,str);
  660.         return 1;
  661. }
  662.  
  663. CMD:dargrana(playerid,params[])
  664. {
  665.         if(PlayerInfo[playerid][pAdmin] < 4)
  666.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  667.         new ID,Tanto;
  668.         if(sscanf(params,"dd",ID,Tanto))
  669.         return SendClientMessage(playerid,Vermelho,"USE: /dargrana [id] [quantia]");
  670.         if(!IsPlayerConnected(ID))
  671.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  672.         GivePlayerMoney(ID,Tanto);
  673.         new string[70];
  674.         new str[70];
  675.         format(string,sizeof(string),"Você deu a %s %d de grana",GetPlayerNameEx(ID),Tanto);
  676.         SendClientMessage(playerid,Azul,string);
  677.         format(str,sizeof(str),"O(a)Administrador(a) %s Lhe deu %d de dinheiro.",GetPlayerNameEx(playerid),Tanto);
  678.         SendClientMessage(ID,Azul,str);
  679.         return 1;
  680. }
  681.  
  682. CMD:setargrana(playerid,params[])
  683. {
  684.         if(PlayerInfo[playerid][pAdmin] < 4)
  685.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  686.         new ID,Tanto;
  687.         if(sscanf(params,"dd",ID,Tanto))
  688.         return SendClientMessage(playerid,Vermelho,"USE: /setargrana [id] [quantia]");
  689.         if(!IsPlayerConnected(ID))
  690.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  691.         SetPlayerMoney(ID,Tanto);
  692.         new string[70];
  693.         new str[70];
  694.         format(string,sizeof(string),"Você setou a grana de: %s para: %d",GetPlayerNameEx(ID),Tanto);
  695.         SendClientMessage(playerid,Azul,string);
  696.         format(str,sizeof(str),"O(a)Administrador(a) %s setou sua grana para: %d",GetPlayerNameEx(playerid),Tanto);
  697.         SendClientMessage(ID,Azul,str);
  698.         return 1;
  699. }
  700.        
  701. CMD:calar(playerid, params[])
  702. {
  703.     if(PlayerInfo[playerid][pAdmin] < 2)
  704.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  705.         new ID,Motivo[70];
  706.         if(sscanf(params,"ds[70]",ID,Motivo))
  707.         return SendClientMessage(playerid,Vermelho,"USE: /calar [id] [motivo]");
  708.         if(!IsPlayerConnected(ID))
  709.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  710.         PlayerInfo[ID][pMudo]  = 1;
  711.         new str[120];
  712.         format(str,sizeof(str),"Você disabilitou o chat de: %s",GetPlayerNameEx(ID));
  713.         SendClientMessage(playerid,Azul,str);
  714.         format(str,sizeof(str),"O(A)Administrador(A) %s Disabilitou o chat de %s Motivo: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Motivo);
  715.         SendClientMessageToAll(Azul,str);
  716.         return 1;
  717. }
  718.  
  719. CMD:descalar(playerid, params[])
  720. {
  721.     if(PlayerInfo[playerid][pAdmin] < 2)
  722.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  723.         new ID;
  724.         if(sscanf(params,"d",ID))
  725.         return SendClientMessage(playerid,Vermelho,"USE: /descalar [id]");
  726.         if(!IsPlayerConnected(ID))
  727.         return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  728.         PlayerInfo[ID][pMudo]  = 0;
  729.         new str[120];
  730.         format(str,sizeof(str),"Você Habilitou o chat de: %s",GetPlayerNameEx(ID));
  731.         SendClientMessage(playerid,Azul,str);
  732.         format(str,sizeof(str),"O(A)Administrador(A) %s Habilitou o chat de %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID));
  733.         SendClientMessageToAll(Azul,str);
  734.         return 1;
  735. }
  736.        
  737. CMD:limparchat(playerid, params[])
  738. {
  739.     if(PlayerInfo[playerid][pAdmin] < 2)
  740.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  741.     for(new i = 0; i < 11; i++) SendClientMessageToAll(-1,"   ");
  742.     return 1;
  743. }
  744.  
  745. CMD:spec(playerid,params[])
  746. {
  747.         if(PlayerInfo[playerid][pAdmin] < 1)
  748.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  749.         new ID;
  750.         if(sscanf(params,"d",ID))
  751.         return SendClientMessage(playerid,Vermelho,"USE: /espiar [id]");
  752.         if(!IsPlayerConnected(ID)) SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  753.         else
  754.         {
  755.         if(!IsPlayerInAnyVehicle(ID))
  756.         {
  757.         TogglePlayerSpectating(playerid, 1);
  758.         PlayerSpectatePlayer(playerid,ID);
  759.         SetPlayerInterior(playerid,GetPlayerInterior(ID));
  760.         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(ID));
  761.         return 1;
  762.         }
  763.         else
  764.         {
  765.         TogglePlayerSpectating(playerid, 1);
  766.         PlayerSpectateVehicle(playerid,GetPlayerVehicleID(ID));
  767.         SetPlayerInterior(playerid,GetPlayerInterior(ID));
  768.         SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(ID));
  769.         return 1;
  770.         }
  771.         }
  772.         return 1;
  773. }
  774.  
  775. CMD:specoff(playerid,params[])
  776. {
  777.     if(PlayerInfo[playerid][pAdmin] < 1)
  778.         return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  779.     TogglePlayerSpectating(playerid, 0);
  780.     return 1;
  781.  }
  782. //------------------------------------------------------------------------------
  783. public OnFilterScriptExit()
  784. {
  785.     DOF2_Exit();
  786.         return 1;
  787. }
  788. // Stocks : --------------------------------------------------------------------
  789. stock GetPlayerNameEx(playerid)
  790. {
  791.         new N[25];
  792.         GetPlayerName(playerid,N,sizeof(N));
  793.         return N;
  794. }
  795. public SairCadeia(ID)
  796. {
  797.         SpawnPlayer(ID);
  798.         SetPlayerInterior(ID,0);
  799.         SetPlayerVirtualWorld(ID,0);
  800.         return 1;
  801. }
  802. stock SendAdminMessage(cor,string[])
  803. {
  804.         for(new d; d < GetMaxPlayers(); ++d)
  805.         {
  806.         if(IsPlayerConnected(d) && PlayerInfo[d][pAdmin] > 0)
  807.         {
  808.         SendClientMessage(d,cor,string);
  809.         }
  810.         }
  811. }
  812. stock Load_Player_Stats(playerid)
  813. {
  814.     PlayerInfo[playerid][pMatou] = DOF2_GetInt(USER_FILE(playerid),"Matou");
  815.     PlayerInfo[playerid][pMorreu] = DOF2_GetInt(USER_FILE(playerid),"Morreu");
  816.     PlayerInfo[playerid][pGrana] = DOF2_GetInt(USER_FILE(playerid),"Grana");
  817.     PlayerInfo[playerid][pAdmin] = DOF2_GetInt(USER_FILE(playerid),"Admin");
  818.     GivePlayerMoney(playerid,PlayerInfo[playerid][pGrana]);
  819. }
  820. stock USER_FILE(playerid)
  821. {
  822.     new
  823.         STR[ 128 ],
  824.         P_NAME[ MAX_PLAYER_NAME ];
  825.  
  826.     GetPlayerName( playerid, P_NAME,  sizeof ( P_NAME ) );
  827.     format( STR, sizeof ( STR ), USER_FILE_PATH, P_NAME);
  828.     return
  829.         STR;
  830. }
  831. stock SetPlayerMoney(playerid,money)
  832. {
  833.         ResetPlayerMoney(playerid);
  834.         GivePlayerMoney(playerid,money);
  835. }
  836. /*------------------------------------------------------------------------------
  837.                        |||||||    ||      ||||||||||||
  838.                        ||         ||      ||   ||   ||
  839.                        ||||||     ||      ||   ||   ||
  840.                        ||         ||      ||   ||   ||
  841.                        ||         ||      ||   ||   ||
  842.                        ||         ||      ||   ||   ||
  843.  
  844. • Espero que tenham gostado do script!
  845. • Créditos: CODER BY: s4kuL
  846. • AJUDAS E TESTERS: ReDKiLL & Furia[]
  847. • SALVAMENTO: Forum SA-MP PT/BR
  848. • Obrigado a todos que me ajudaram.
  849. */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top