Advertisement
Chip7

[FS] FilterScript s4KuL's Admin Script

Jun 10th, 2012
1,010
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 32.34 KB | None | 0 0
  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. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement