Advertisement
Guest User

AdminPorRcon SAMP FilterScript V1.5

a guest
Apr 13th, 2013
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 24.68 KB | None | 0 0
  1. /*
  2.  
  3. |**::: SISTEMA DE ADMINISTRAÇÃO POR RCON :::**|
  4.  
  5. ..: Todos os comandos do FilterScript :..
  6.  
  7. /aduty - Entra em modo Admin Duty
  8. /acomandos - Mostra os de Administrador In-Game
  9. /matar - Mata o jogador
  10. /an(nounce) - Aparece uma mensagem do Admin no Chat
  11. /desarmar - Desarma o jogador
  12. /freeze - Congela o jogador
  13. /unfreeze - Descongela o jogador
  14. /kick - Kicka o jogador
  15. /ban - Bane o jogador
  16. /setmoney - [ V1.5 (fixado) ] - Dá dinheiro a um jogador
  17. /curar - Cura um jogador
  18. /darcolete - Dá colete a um jogador
  19. /restart - Reinicia o servidor (GMX)
  20. /spec - Dá Spectate a um jogador
  21. /specoff - Sai do modo Spectate
  22. /goto - Vai até o jogador
  23. /gethere - Trás o jogador para a posição do Admin
  24. /aj - Envia/Retira o jogador da Admin Jail
  25. /dararma - [ V1.5 ] - Dá uma arma ao jogador
  26. /setscore - [ V1.5 ] - Seta o score do jogador
  27. /respawncarros - [ V1.5 ] - Respawna todos os carros do servidor
  28. /pm - [ V1.5 ] - Envia uma PM ao jogador (Para todos os jogadores)
  29. /pcomandosplayer - [ V1.5 ] - O jogador pode ver os comandos para ele (Para todos os jogadores)
  30.  
  31. ..: Bugs conhecidos :..
  32.  
  33. /setmoney bugado | V1.5 FIXED
  34.  
  35. ..: Créditos :..
  36.  
  37. ATENÇÃO: Não remover os créditos, isso viola uma série de direitos de autor, que pode dar multa.
  38.  
  39. [
  40. "Art. 184. Violar direitos de autor e os que lhe são conexos:
  41.  
  42. Pena - detenção, de 3 (três) meses a 1 (um) ano, ou multa.
  43.  
  44. Artigo 1o: Se a violação consistir em reprodução total ou parcial, com intuito de lucro direto ou indireto, por qualquer meio
  45. ou processo, de obra intelectual, interpretação, execução ou fonograma, sem autorização expressa do autor,
  46. do artista intérprete ou executante, do produtor, conforme o caso, ou de quem os represente.
  47. ]
  48.  
  49. Criado e lançado por Bruxo00 aka Bruxo
  50.  
  51. © Copyright @ >2013 by Bruxo00
  52.  
  53. */
  54.  
  55. #if !defined isnull
  56.     #define isnull(%1) \
  57.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  58. #endif
  59.  
  60. #if defined MAX_PLAYERS
  61.      #undef MAX_PLAYERS
  62.     #define MAX_PLAYERS     ( 100 )
  63. #endif
  64.  
  65. #include <a_samp>
  66. #include <zcmd>
  67. #include <sscanf>
  68. #include <streamer>
  69. #include <dini>
  70.  
  71. #define FAIL 0xAA3333AA
  72. #define SUCESSO 0x10F441AA
  73. #define INFO 0xB8860BAA
  74. #define INFO2 0xFF9900AA
  75. #define INFO3 0x0000CDFF
  76.  
  77. #define ADMIN_SPEC_TYPE_NONE 0
  78. #define ADMIN_SPEC_TYPE_PLAYER 1
  79. #define ADMIN_SPEC_TYPE_VEHICLE 2
  80.  
  81. forward KickTimer();
  82. forward BanTimer();
  83. forward RestartTimer();
  84. forward AjDeathTimer(playerid);
  85. forward RespawnCarrosTimer(playerid);
  86.  
  87. new checkduty[MAX_PLAYERS];
  88. new checkaj[MAX_PLAYERS];
  89. new kickid;
  90. new banid;
  91.  
  92. public OnFilterScriptInit()
  93. {
  94.     print("\n** | SISTEMA DE ADMINISTRADOR POR RCON CARREGADO | **\n");
  95.  
  96.     CreateDynamicObject(1684, 1233.50720, 646.84497, -3.66981,   0.00000, 0.00000, 358.08310);
  97.     CreateDynamicObject(1684, 1233.25684, 642.83417, -3.59419,   0.00000, 0.00000, 358.08310);
  98.     CreateDynamicObject(1684, 1233.30017, 638.62585, -3.69419,   0.00000, 0.00000, 358.08310);
  99.     CreateDynamicObject(16000, 1237.81702, 639.69025, -3.07025,   0.00000, 0.00000, 88.00768);
  100.     CreateDynamicObject(1684, 1233.10608, 634.79724, -3.61806,   0.00000, 0.00000, 358.08310);
  101.     CreateDynamicObject(16000, 1228.56531, 639.63593, -3.07025,   0.00000, 0.00000, 268.30762);
  102.     CreateDynamicObject(16000, 1233.64270, 629.29999, -3.07025,   0.00000, 0.00000, -0.05580);
  103.     CreateDynamicObject(1684, 1233.21082, 630.78326, -3.58797,   0.00000, 0.00000, 358.08310);
  104.     CreateDynamicObject(16000, 1233.79602, 647.35321, -3.07025,   0.00000, 0.00000, 181.00755);
  105. }
  106.  
  107. public OnFilterScriptExit()
  108. {
  109.     print("\n** | SISTEMA DE ADMINISTRADOR POR RCON DESCARREGADO | **\n");
  110. }
  111.  
  112. public OnPlayerDeath(playerid, killerid, reason)
  113. {
  114.     if(checkaj[playerid] == 1)
  115.     {
  116.         new playername[MAX_PLAYER_NAME+1];
  117.         new string[64+MAX_PLAYER_NAME+1];
  118.        
  119.         GivePlayerMoney(playerid, -2000);
  120.         GetPlayerName(playerid, playername, sizeof(playername));
  121.         format(string, sizeof(string), "O jogador %s suicidou-se na Admin Jail e perdeu 2000$!", playername);
  122.         SendClientMessageToAll(INFO2, string);
  123.         SetTimer("AjDeathTimer", 7000, false);
  124.     }
  125.     else
  126.     {
  127.         return 0;
  128.     }
  129.     return 1;
  130. }
  131.  
  132. public AjDeathTimer(playerid)
  133. {
  134.     SendClientMessage(playerid, INFO, "Pensas que consegues sair? Nop :P");
  135.     SetPlayerPos(playerid, 1232.4852,640.1943,0.4801);
  136. }
  137.        
  138. CMD:aduty(playerid, params[]) // DUTY
  139. {
  140.     if(IsPlayerAdmin(playerid))
  141.     {
  142.         if(checkduty[playerid] == 0)
  143.         {
  144.             new playername[MAX_PLAYER_NAME+1];
  145.             new string[64+MAX_PLAYER_NAME+1];
  146.            
  147.             GetPlayerName(playerid, playername, sizeof(playername));
  148.             format(string, sizeof(string), "{FF0000}%s {D4CE24}está agora de serviço.", playername);
  149.             SendClientMessageToAll(INFO2, string);
  150.             SetPlayerHealth(playerid, 9999);
  151.             SetPlayerArmour(playerid, 9999);
  152.             SendClientMessage(playerid, INFO, "Estás agora em Serviço de Admin. Faz /acomandos para veres todos os comandos de Admin.");
  153.             SetPlayerColor(playerid, 0x10F441AA);
  154.             checkduty[playerid] = 1;
  155.         }
  156.         else
  157.         {
  158.             new name[MAX_PLAYER_NAME+1];
  159.             new string[64+MAX_PLAYER_NAME+1];
  160.            
  161.             GetPlayerName(playerid, name, sizeof(name));
  162.             format(string, sizeof(string), "{FF0000}%s {D4CE24}está agora fora de serviço.", name);
  163.             SendClientMessageToAll(INFO2, string);
  164.             SetPlayerColor(playerid, 0xFFFFFFAA);
  165.             SetPlayerHealth(playerid, 100);
  166.             SetPlayerArmour(playerid, 0);
  167.             checkduty[playerid] = 0;
  168.         }
  169.     }
  170.     else
  171.     {
  172.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  173.     }
  174.     return 1;
  175. }
  176.  
  177. CMD:acomandos(playerid, params[]) // ACOMANDOS
  178. {
  179.     if(IsPlayerAdmin(playerid))
  180.     {
  181.         SendClientMessage(playerid, SUCESSO, "----------[ -- COMANDOS DE ADMIN --]----------");
  182.         SendClientMessage(playerid, INFO, "\n/aduty   /matar   /an(nounce)   /desarmar   /freeze   /unfreeze   /kick");
  183.         SendClientMessage(playerid, INFO, "\n/ban   /setmoney   /curar   /darcolete   /aj   /restart   /spec   /specoff");
  184.         SendClientMessage(playerid, INFO, "\n/goto   /gethere   /dararma   /setscore   /respawncarros");
  185.     }
  186.     else
  187.     {
  188.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  189.     }
  190.     return 1;
  191. }
  192.  
  193. CMD:matar(playerid, params[]) // MATAR
  194. {
  195.     if(IsPlayerAdmin(playerid))
  196.     {
  197.         new id;
  198.        
  199.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO, "[ USO: ] /matar [playerid]");
  200.         else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL, "[ ERRO: ] O player não está conectado.");
  201.         else
  202.         {
  203.             SetPlayerHealth(id, 0);
  204.             SendClientMessage(id, INFO, "Foste morto por um Administrador!");
  205.         }
  206.     }
  207.     else
  208.     {
  209.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  210.     }
  211.     return 1;
  212. }
  213.  
  214. CMD:announce(playerid, params[]) // ANNOUNCE
  215. {
  216.     if(IsPlayerAdmin(playerid))
  217.     {
  218.         new string[256];
  219.         new playername[MAX_PLAYER_NAME];
  220.        
  221.         if(isnull(params))  return SendClientMessage(playerid, INFO, "[ USO: ] /announce [texto]");
  222.         GetPlayerName(playerid, playername, sizeof(playername));
  223.         format(string, sizeof(string), "[ Administrador %s: ]  %s", playername, params);
  224.         SendClientMessageToAll(INFO2, string);
  225.     }
  226.     else
  227.     {
  228.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  229.     }
  230.     return 1;
  231. }
  232.  
  233. CMD:an(playerid, params[]) // (ANNOUNCE) AN
  234. {
  235.     if(IsPlayerAdmin(playerid))
  236.     {
  237.         new string[256];
  238.         new playername[MAX_PLAYER_NAME];
  239.        
  240.         if(isnull(params))  return SendClientMessage(playerid, INFO, "[ USO: ] /announce [texto]");
  241.         GetPlayerName(playerid, playername, sizeof(playername));
  242.         format(string, sizeof(string), "[ Administrador %s: ]  %s", playername, params);
  243.         SendClientMessageToAll(INFO2, string);
  244.     }
  245.     else
  246.     {
  247.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  248.     }
  249.     return 1;
  250. }
  251.  
  252. CMD:desarmar(playerid, params[]) // DESARMAR
  253. {
  254.     if(IsPlayerAdmin(playerid))
  255.     {
  256.         new id;
  257.         new playername[MAX_PLAYER_NAME];
  258.         new string[64];
  259.         new string1[64+MAX_PLAYER_NAME];
  260.        
  261.         if(sscanf(params,"i",id)) return SendClientMessage(playerid, INFO,"[ USO: ] /desarmar [playerid]");
  262.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  263.         ResetPlayerWeapons(id);
  264.         GetPlayerName(id, playername, sizeof(playername));
  265.         format(string, sizeof(string), "Tu desarmaste o jogador %s.", playername);
  266.         SendClientMessage(playerid, SUCESSO, string);
  267.         format(string1, sizeof(string1), "Tu foste desarmado por um Administrador.");
  268.         SendClientMessage(id, SUCESSO, string1);
  269.     }
  270.     else
  271.     {
  272.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  273.     }
  274.     return 1;
  275. }
  276.  
  277. CMD:freeze(playerid, params[]) // FREEZE
  278. {
  279.     if(IsPlayerAdmin(playerid))
  280.     {
  281.         new id;
  282.         new string[64];
  283.         new string1[64];
  284.         new playername[MAX_PLAYER_NAME];
  285.        
  286.         GetPlayerName(playerid, playername, sizeof(playername));
  287.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /freeze [playerid]");
  288.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  289.         TogglePlayerControllable(id, 0);
  290.         format(string, sizeof(string), "Tu freezaste o jogador com o id ( %d ) ", id);
  291.         SendClientMessage(playerid, SUCESSO, string);
  292.         format(string1, sizeof(string1), "Foste congelado pelo Administrador %s.", playername);
  293.         SendClientMessage(id, INFO, string1);
  294.     }
  295.     else
  296.     {
  297.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  298.     }
  299.     return 1;
  300. }
  301.  
  302. CMD:unfreeze(playerid, params[]) // UNFREEZE
  303. {
  304.     if(IsPlayerAdmin(playerid))
  305.     {
  306.         new id;
  307.         new string[64];
  308.         new string1[64];
  309.         new playername[MAX_PLAYER_NAME];
  310.        
  311.         GetPlayerName(playerid, playername, sizeof(playername));
  312.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /unfreeze [playerid]");
  313.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  314.         TogglePlayerControllable(id, 1);
  315.         format(string, sizeof(string), "Tu deste unfreeze ao jogador com o id ( %d ).", id);
  316.         SendClientMessage(playerid, SUCESSO, string);
  317.         format(string1, sizeof(string1), "Foste descongelado pelo Administrador %s.", playername);
  318.         SendClientMessage(id, INFO, string1);
  319.     }
  320.     else
  321.     {
  322.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  323.     }
  324.     return 1;
  325. }
  326.  
  327. CMD:kick(playerid, params[]) // KICK
  328. {
  329.     if(IsPlayerAdmin(playerid))
  330.     {
  331.         new string[64];
  332.         new string1[128];
  333.         new reason[64];
  334.         new playername[MAX_PLAYER_NAME];
  335.        
  336.         GetPlayerName(playerid, playername, sizeof(playername));
  337.         if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /kick [playerid] [razão]");
  338.         if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  339.         format(string, sizeof(string), "Tu kickaste o jogador com o id ( %d ).", kickid);
  340.         SendClientMessage(playerid, SUCESSO, string);
  341.         format(string1, sizeof(string1), "Foste kickado pelo Administrador %s. Razão: %s", playername, reason);
  342.         SendClientMessage(kickid, INFO, string1);
  343.         SetTimer("KickTimer", 50, false);
  344.     }
  345.     else
  346.     {
  347.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  348.     }
  349.     return 1;
  350. }
  351.  
  352. public KickTimer()
  353. {
  354.     Kick(kickid);
  355.     return 1;
  356. }
  357.  
  358. CMD:ban(playerid, params[]) // BAN
  359. {
  360.     if(IsPlayerAdmin(playerid))
  361.     {
  362.         new string[64];
  363.         new string1[128];
  364.         new reason[64];
  365.         new playername[MAX_PLAYER_NAME];
  366.        
  367.         GetPlayerName(playerid, playername, sizeof(playername));
  368.         if(sscanf(params, "us", banid, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /ban [playerid] [razão]");
  369.         if(!IsPlayerConnected(banid)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  370.         format(string, sizeof(string), "Tu baniste o jogador com o id ( %d ).", banid);
  371.         SendClientMessage(playerid, SUCESSO, string);
  372.         format(string1, sizeof(string1), "Foste banido pelo Administrador %s. Razão: %s", playername, reason);
  373.         SendClientMessage(banid, INFO, string1);
  374.         SetTimer("BanTimer", 50, false);
  375.     }
  376.     else
  377.     {
  378.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  379.     }
  380.     return 1;
  381. }
  382.  
  383. public BanTimer()
  384. {
  385.     Ban(banid);
  386.     return 1;
  387. }
  388.  
  389. CMD:setmoney(playerid, params[]) // SETMONEY
  390. {
  391.     if(IsPlayerAdmin(playerid))
  392.     {
  393.         new id;
  394.         new string[128];
  395.         new string2[128];
  396.         new montante;
  397.         new playername[MAX_PLAYER_NAME];
  398.        
  399.         GetPlayerName(playerid, playername, sizeof(playername));
  400.         if(sscanf(params, "ui", id, montante)) return SendClientMessage(playerid, INFO, "[ USO: ] /setmoney [playerid] [montante]");
  401.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  402.         format(string, sizeof(string), "Tu deste %d$ ao jogador com o id ( %d ).", montante, id);
  403.         SendClientMessage(playerid, SUCESSO, string);
  404.         format(string2, sizeof(string2), "Recebeste %d$ do Administrador %s.", montante, playername);
  405.         SendClientMessage(id, INFO, string);
  406.         GivePlayerMoney(id, montante);
  407.     }
  408.     else
  409.     {
  410.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  411.     }
  412.     return 1;
  413. }
  414.  
  415. CMD:curar(playerid, params[]) // CURAR
  416. {
  417.     if(IsPlayerAdmin(playerid))
  418.     {
  419.         new id;
  420.         new string[64];
  421.         new string1[128];
  422.         new playername[MAX_PLAYER_NAME];
  423.        
  424.         GetPlayerName(playerid, playername, sizeof(playername));
  425.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /curar [playerid]");
  426.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  427.         format(string, sizeof(string), "Tu curaste o jogador com o id ( %d ).", id);
  428.         SendClientMessage(playerid, SUCESSO, string);
  429.         format(string1, sizeof(string1), "Foste curado pelo Administrador %s.", playername);
  430.         SendClientMessage(id, INFO, string1);
  431.         SetPlayerHealth(id, 100);
  432.     }
  433.     else
  434.     {
  435.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  436.     }
  437.     return 1;
  438. }
  439.  
  440. CMD:darcolete(playerid, params[]) // DARCOLETE
  441. {
  442.     if(IsPlayerAdmin(playerid))
  443.     {
  444.         new id;
  445.         new string[64];
  446.         new string1[128];
  447.         new playername[MAX_PLAYER_NAME];
  448.        
  449.         GetPlayerName(playerid, playername, sizeof(playername));
  450.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /darcolete [playerid]");
  451.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  452.         format(string, sizeof(string), "Tu deste colete ao jogador com o id ( %d ).", id);
  453.         SendClientMessage(playerid, SUCESSO, string);
  454.         format(string1, sizeof(string1), "O Administrador %s deu-te colete.", playername);
  455.         SendClientMessage(id, INFO, string1);
  456.         SetPlayerArmour(id, 100);
  457.     }
  458.     else
  459.     {
  460.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  461.     }
  462.     return 1;
  463. }
  464.  
  465. CMD:aj(playerid, params[]) // AJ
  466. {
  467.     if(IsPlayerAdmin(playerid))
  468.     {
  469.         new id;
  470.        
  471.         if(checkaj[id] == 0)
  472.         {
  473.             new string[64];
  474.             new string1[128];
  475.             new reason[64];
  476.             new playername[MAX_PLAYER_NAME];
  477.  
  478.             GetPlayerName(playerid, playername, sizeof(playername));
  479.             if(sscanf(params, "us", id, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /aj [playerid] [razão]");
  480.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  481.             format(string, sizeof(string), "Tu deste AJ ao jogador com o id ( %d ).", id);
  482.             SendClientMessage(playerid, SUCESSO, string);
  483.             format(string1, sizeof(string1), "Foste de Admin Jail pelo Administrador %s e perdeste 1000$. Razão: %s", playername, reason);
  484.             SendClientMessage(id, INFO, string1);
  485.             SetPlayerPos(id, 1232.4852,640.1943,0.4801);
  486.             GivePlayerMoney(id, -1000);
  487.             checkaj[playerid] = 1;
  488.         }
  489.         else
  490.         {
  491.             new string[64];
  492.             new string1[128];
  493.             new reason[64];
  494.             new playername[MAX_PLAYER_NAME];
  495.  
  496.             GetPlayerName(playerid, playername, sizeof(playername));
  497.             if(sscanf(params, "us", id, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /aj [playerid] [razão]");
  498.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  499.             format(string, sizeof(string), "Tu tiraste do AJ o jogador com o id ( %d ).", id);
  500.             SendClientMessage(playerid, SUCESSO, string);
  501.             format(string1, sizeof(string1), "O Administrador %s tirou-te do Admin Jail. Razão: %s", playername, reason);
  502.             SendClientMessage(id, INFO, string1);
  503.             SetPlayerPos(id, -1560.8135,535.6848,7.8362);
  504.             checkaj[playerid] = 0;
  505.         }
  506.     }
  507.     else
  508.     {
  509.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  510.     }
  511.     return 1;
  512. }
  513.    
  514. CMD:restart(playerid, params[]) // RESTART
  515. {
  516.     if(IsPlayerAdmin(playerid))
  517.     {
  518.         new string[64];
  519.         new string1[128];
  520.         new playername[MAX_PLAYER_NAME];
  521.        
  522.         GetPlayerName(playerid, playername, sizeof(playername));
  523.         format(string, sizeof(string), "Tu deste Restart ao servidor.");
  524.         SendClientMessage(playerid, SUCESSO, string);
  525.         format(string1, sizeof(string1), "O servidor foi de Restart pelo Administrador %s.", playername);
  526.         SendClientMessageToAll(INFO2, string1);
  527.         SetTimer("RestartTimer", 50, false);
  528.     }
  529.     else
  530.     {
  531.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  532.     }
  533.     return 1;
  534. }
  535.  
  536. public RestartTimer()
  537. {
  538.     SendRconCommand("gmx");
  539.     return 1;
  540. }
  541.  
  542. CMD:spec(playerid, params[]) // SPEC
  543. {
  544.     if(IsPlayerAdmin(playerid))
  545.     {
  546.         new gSpectateID[MAX_PLAYERS];
  547.         new gSpectateType[MAX_PLAYERS];
  548.         new id;
  549.         new string[64];
  550.        
  551.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /spec [playerid]");
  552.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  553.         format(string, sizeof(string), "Tu estás a specar o jogador com o id ( %d ).", id);
  554.         SendClientMessage(playerid, SUCESSO, string);
  555.         TogglePlayerSpectating(playerid, 1);
  556.         PlayerSpectatePlayer(playerid, id);
  557.         SetPlayerInterior(playerid,GetPlayerInterior(id));
  558.         gSpectateID[playerid] = id;
  559.         gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  560.     }
  561.     else
  562.     {
  563.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  564.     }
  565.     return 1;
  566. }
  567.  
  568. CMD:specoff(playerid, params[]) // SPECOFF
  569. {
  570.     if(IsPlayerAdmin(playerid))
  571.     {
  572.         new gSpectateID[MAX_PLAYERS];
  573.         new gSpectateType[MAX_PLAYERS];
  574.         new id;
  575.         new string[64];
  576.        
  577.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  578.         format(string, sizeof(string), "Paraste o Spectate ao jogador com o id ( %d ).", id);
  579.         SendClientMessage(playerid, SUCESSO, string);
  580.         TogglePlayerSpectating(playerid, 0);
  581.         gSpectateID[playerid] = INVALID_PLAYER_ID;
  582.         gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  583.     }
  584.     else
  585.     {
  586.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  587.     }
  588.     return 1;
  589. }
  590.  
  591. CMD:goto(playerid, params[]) // GOTO
  592. {
  593.     if(IsPlayerAdmin(playerid))
  594.     {
  595.         new id;
  596.         new Float: x;
  597.         new Float: y;
  598.         new Float: z;
  599.         new string[128];
  600.         new string2[128];
  601.         new playername[MAX_PLAYER_NAME];
  602.        
  603.         GetPlayerName(playerid, playername, sizeof(playername));
  604.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /goto [playerid]");
  605.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  606.         format(string, sizeof(string), "Teleportaste-te até ao jogador com o id ( %d ).", id);
  607.         SendClientMessage(playerid, SUCESSO, string);
  608.         format(string2, sizeof(string2), "O Administrador %s foi até ti.", playername);
  609.         SendClientMessage(id, INFO, string);
  610.         GetPlayerPos(id, x, y, z);
  611.         SetPlayerPos(playerid, x+1, y+1, z);
  612.     }
  613.     else
  614.     {
  615.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  616.     }
  617.     return 1;
  618. }
  619.  
  620. CMD:gethere(playerid, params[]) // GETHERE
  621. {
  622.     if(IsPlayerAdmin(playerid))
  623.     {
  624.         new id;
  625.         new Float: x;
  626.         new Float: y;
  627.         new Float: z;
  628.         new string[128];
  629.         new string2[128];
  630.         new playername[MAX_PLAYER_NAME];
  631.  
  632.         GetPlayerName(playerid, playername, sizeof(playername));
  633.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /gethere [playerid]");
  634.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  635.         format(string, sizeof(string), "Trouxeste o jogador com o id ( %d ) até ti.", id);
  636.         SendClientMessage(playerid, SUCESSO, string);
  637.         format(string2, sizeof(string2), "O Administrador %s puxou-te até ele.", playername);
  638.         SendClientMessage(id, INFO, string);
  639.         GetPlayerPos(playerid, x, y, z);
  640.         SetPlayerPos(id, x+1, y+1, z);
  641.     }
  642.     else
  643.     {
  644.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  645.     }
  646.     return 1;
  647. }
  648.  
  649. CMD:dararma(playerid, params[]) // DARARMA
  650. {
  651.     if(IsPlayerAdmin(playerid))
  652.     {
  653.         new id;
  654.         new idarma;
  655.         new balas;
  656.         new string[128];
  657.         new string1[128];
  658.         new playername[MAX_PLAYER_NAME];
  659.  
  660.         GetPlayerName(playerid, playername, sizeof(playername));
  661.         if(sscanf(params, "uii", id, idarma, balas)) return SendClientMessage(playerid, INFO,"[ USO: ] /dararma [playerid] [id da arma] [balas]");
  662.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  663.         format(string, sizeof(string), "Tu deste ao jogador com o ID ( %d ) uma arma com o id %d, com %d balas.", id, idarma, balas);
  664.         SendClientMessage(playerid, SUCESSO, string);
  665.         format(string1, sizeof(string1), "O Administrador %s deu-te uma arma com o id %d com %d balas.", playername, idarma, balas);
  666.         SendClientMessage(id, INFO, string1);
  667.         GivePlayerWeapon(id, idarma, balas);
  668.     }
  669.     else
  670.     {
  671.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  672.     }
  673.     return 1;
  674. }
  675.  
  676. CMD:setscore(playerid, params[]) // SETSCORE
  677. {
  678.     if(IsPlayerAdmin(playerid))
  679.     {
  680.         new id;
  681.         new score;
  682.         new string[128];
  683.         new string1[128];
  684.         new playername[MAX_PLAYER_NAME];
  685.  
  686.         GetPlayerName(playerid, playername, sizeof(playername));
  687.         if(sscanf(params, "ui", id, score)) return SendClientMessage(playerid, INFO,"[ USO: ] /setscore [playerid] [score]");
  688.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  689.         format(string, sizeof(string), "Tu deste ao jogador com o id ( %d ), %d de score.", id, score);
  690.         SendClientMessage(playerid, SUCESSO, string);
  691.         format(string1, sizeof(string1), "O Administrador %s deu-te %d de score.", playername, score);
  692.         SendClientMessage(id, INFO, string1);
  693.         SetPlayerScore(id, score);
  694.     }
  695.     else
  696.     {
  697.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  698.     }
  699.     return 1;
  700. }
  701.  
  702. CMD:respawncarros(playerid, params[])
  703. {
  704.     if(IsPlayerAdmin(playerid))
  705.     {
  706.         new string[128];
  707.         new string1[128];
  708.         new playername[24];
  709.  
  710.         GetPlayerName(playerid, playername, sizeof(playername));
  711.         format(string, sizeof(string), "O Administrador %s começou o respawn de todos os carros (10 segundos).", playername);
  712.         SendClientMessageToAll(INFO2, string);
  713.         format(string1, sizeof(string1), "Tu começaste um Respawn de todos os carros do servidor.");
  714.         SendClientMessage(playerid, SUCESSO, string1);
  715.         SetTimer("RespawnCarrosTimer", 10000, false);
  716.     }
  717.     else
  718.     {
  719.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  720.     }
  721.     return 1;
  722. }
  723.  
  724. public RespawnCarrosTimer()
  725. {
  726.     new bool:vehicle[MAX_VEHICLES];
  727.     for(new j = 1; GetVehicleModel(j); ++j)
  728.     {
  729.         vehicle[j] = false;
  730.         for(new i, p = GetMaxPlayers(); i < p; ++i)
  731.         {
  732.             if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
  733.             if(IsPlayerInVehicle(i, j))
  734.             {
  735.                 vehicle[j] = true;
  736.                 break;
  737.             }
  738.         }
  739.         if(!vehicle[j]) SetVehicleToRespawn(j);
  740.     }
  741.     SendClientMessageToAll(INFO2, "Todos os carros foram de respawn.");
  742.     return 1;
  743. }
  744.  
  745. CMD:pcomandos(playerid, params[]) // PCOMANDOS
  746. {
  747.     SendClientMessage(playerid, INFO2, "----------[ -- COMANDOS DE JOGADOR --]----------");
  748.     SendClientMessage(playerid, INFO, "\n/pm");
  749.     return 1;
  750. }
  751.  
  752. CMD:pm(playerid, params[]) // PM
  753. {
  754.     new id;
  755.     new string[128];
  756.     new string2[128];
  757.     new msg[128];
  758.     new playername[MAX_PLAYER_NAME];
  759.     new playername2[MAX_PLAYER_NAME];
  760.    
  761.     GetPlayerName(playerid, playername, sizeof(playername));
  762.     GetPlayerName(id, playername2, sizeof(playername2));
  763.     if(sscanf(params, "us", id, msg)) return SendClientMessage(playerid, INFO,"[ USO: ] /pm [playerid] [mensagem]");
  764.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  765.     format(string, sizeof(string), "PM enviada para %s: %s", playername2, msg);
  766.     SendClientMessage(playerid, INFO2, string);
  767.     format(string2, sizeof(string2), "PM recebida de %s: %s", playername, msg);
  768.     SendClientMessage(id, INFO3, string2);
  769.     return 1;
  770. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement