Advertisement
Guest User

Sistema de Administração por RCON SAMP FilterScript

a guest
Apr 13th, 2013
412
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 19.87 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 - 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 de volta
  24. /aj - Envia/Retira o jogador da Admin Jail
  25.  
  26. ..: Bugs conhecidos :..
  27.  
  28. /setmoney bugado
  29.  
  30. ..: Créditos :..
  31.  
  32. ATENÇÃO: Não remover os créditos, isso viola uma série de direitos de autor, que pode dar multa.
  33.  
  34. [
  35. "Art. 184. Violar direitos de autor e os que lhe são conexos:
  36.  
  37. Pena - detenção, de 3 (três) meses a 1 (um) ano, ou multa.
  38.  
  39. Artigo 1o: Se a violação consistir em reprodução total ou parcial, com intuito de lucro direto ou indireto, por qualquer meio
  40. ou processo, de obra intelectual, interpretação, execução ou fonograma, sem autorização expressa do autor,
  41. do artista intérprete ou executante, do produtor, conforme o caso, ou de quem os represente.
  42. ]
  43.  
  44. Criado e lançado por Bruxo00 aka Bruxo
  45.  
  46. © Copyright @ >2013 by Bruxo00
  47.  
  48. */
  49.  
  50. #if !defined isnull
  51.     #define isnull(%1) \
  52.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  53. #endif
  54.  
  55. #if defined MAX_PLAYERS
  56.      #undef MAX_PLAYERS
  57.     #define MAX_PLAYERS     ( 100 )
  58. #endif
  59.  
  60. #include <a_samp>
  61. #include <zcmd>
  62. #include <sscanf>
  63. #include <streamer>
  64.  
  65. #define FAIL 0xAA3333AA
  66. #define SUCESSO 0x10F441AA
  67. #define INFO 0xB8860BAA
  68. #define ADMIN_SPEC_TYPE_NONE 0
  69. #define ADMIN_SPEC_TYPE_PLAYER 1
  70. #define ADMIN_SPEC_TYPE_VEHICLE 2
  71.  
  72. forward KickTimer();
  73. forward BanTimer();
  74. forward RestartTimer();
  75. forward AjDeathTimer(playerid);
  76.  
  77. new checkduty[MAX_PLAYERS];
  78. new checkaj[MAX_PLAYERS];
  79. new kickid;
  80. new banid;
  81.  
  82. public OnFilterScriptInit()
  83. {
  84.     print("\n** | SISTEMA DE ADMINISTRADOR POR RCON CARREGADO | **\n");
  85. }
  86.  
  87. public OnPlayerSpawn()
  88. {
  89.     CreateDynamicObject(1684, 1233.50720, 646.84497, -3.66981,   0.00000, 0.00000, 358.08310);
  90.     CreateDynamicObject(1684, 1233.25684, 642.83417, -3.59419,   0.00000, 0.00000, 358.08310);
  91.     CreateDynamicObject(1684, 1233.30017, 638.62585, -3.69419,   0.00000, 0.00000, 358.08310);
  92.     CreateDynamicObject(16000, 1237.81702, 639.69025, -3.07025,   0.00000, 0.00000, 88.00768);
  93.     CreateDynamicObject(1684, 1233.10608, 634.79724, -3.61806,   0.00000, 0.00000, 358.08310);
  94.     CreateDynamicObject(16000, 1228.56531, 639.63593, -3.07025,   0.00000, 0.00000, 268.30762);
  95.     CreateDynamicObject(16000, 1233.64270, 629.29999, -3.07025,   0.00000, 0.00000, -0.05580);
  96.     CreateDynamicObject(1684, 1233.21082, 630.78326, -3.58797,   0.00000, 0.00000, 358.08310);
  97.     CreateDynamicObject(16000, 1233.79602, 647.35321, -3.07025,   0.00000, 0.00000, 181.00755);
  98. }
  99.  
  100. public OnPlayerDeath(playerid, killerid, reason)
  101. {
  102.     if(checkaj[playerid] == 1)
  103.     {
  104.         new playername[MAX_PLAYER_NAME+1];
  105.         new string[64+MAX_PLAYER_NAME+1];
  106.        
  107.         GivePlayerMoney(playerid, -2000);
  108.         GetPlayerName(playerid, playername, sizeof(playername));
  109.         format(string, sizeof(string), "O jogador %s suicidou-se na Admin Jail e perdeu 2000$!", playername);
  110.         SendClientMessageToAll(INFO, string);
  111.         SetTimer("AjDeathTimer", 7000, false);
  112.     }
  113.     else
  114.     {
  115.         return 0;
  116.     }
  117.     return 1;
  118. }
  119.  
  120. public AjDeathTimer(playerid)
  121. {
  122.     SendClientMessage(playerid, INFO, "Pensas que consegues sair? Nop :P");
  123.     SetPlayerPos(playerid, 1232.4852,640.1943,0.4801);
  124. }
  125.        
  126. CMD:aduty(playerid, params[]) // DUTY
  127. {
  128.     if(IsPlayerAdmin(playerid))
  129.     {
  130.         if(checkduty[playerid] == 0)
  131.         {
  132.             new playername[MAX_PLAYER_NAME+1];
  133.             new string[64+MAX_PLAYER_NAME+1];
  134.            
  135.             GetPlayerName(playerid, playername, sizeof(playername));
  136.             format(string, sizeof(string), "{FF0000}%s {D4CE24}está agora de serviço.", playername);
  137.             SendClientMessageToAll(INFO, string);
  138.             SetPlayerHealth(playerid, 9999);
  139.             SetPlayerArmour(playerid, 9999);
  140.             SendClientMessage(playerid, INFO, "Estás agora em Serviço de Admin. Faz /acomandos para veres todos os comandos de Admin.");
  141.             SetPlayerColor(playerid, 0x10F441AA);
  142.             checkduty[playerid] = 1;
  143.         }
  144.         else
  145.         {
  146.             new name[MAX_PLAYER_NAME+1];
  147.             new string[64+MAX_PLAYER_NAME+1];
  148.            
  149.             GetPlayerName(playerid, name, sizeof(name));
  150.             format(string, sizeof(string), "{FF0000}%s {D4CE24}está agora fora de serviço.", name);
  151.             SendClientMessageToAll(INFO, string);
  152.             SetPlayerColor(playerid, 0xFFFFFFAA);
  153.             SetPlayerHealth(playerid, 100);
  154.             SetPlayerArmour(playerid, 0);
  155.             checkduty[playerid] = 0;
  156.         }
  157.     }
  158.     else
  159.     {
  160.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  161.     }
  162.     return 1;
  163. }
  164.  
  165. CMD:acomandos(playerid, params[]) // ACOMANDOS
  166. {
  167.     if(IsPlayerAdmin(playerid))
  168.     {
  169.         SendClientMessage(playerid, SUCESSO, "----------[ -- COMANDOS DE ADMIN --]----------");
  170.         SendClientMessage(playerid, INFO, "\n/aduty   /matar   /an(nounce)   /desarmar   /freeze   /unfreeze   /kick");
  171.         SendClientMessage(playerid, INFO, "\n/ban   /setmoney   /curar   /darcolete   /aj   /restart   /spec   /specoff");
  172.         SendClientMessage(playerid, INFO, "\n/goto   /gethere");
  173.     }
  174.     else
  175.     {
  176.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  177.     }
  178.     return 1;
  179. }
  180.  
  181. CMD:matar(playerid, params[]) // MATAR
  182. {
  183.     if(IsPlayerAdmin(playerid))
  184.     {
  185.         new id;
  186.        
  187.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO, "[ USO: ] /matar [playerid]");
  188.         else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL, "[ ERRO: ] O player não está conectado.");
  189.         else
  190.         {
  191.             SetPlayerHealth(id, 0);
  192.             SendClientMessage(id, INFO, "Foste morto por um Administrador!");
  193.         }
  194.     }
  195.     else
  196.     {
  197.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  198.     }
  199.     return 1;
  200. }
  201.  
  202. CMD:announce(playerid, params[]) // ANNOUNCE
  203. {
  204.     if(IsPlayerAdmin(playerid))
  205.     {
  206.         new string[256];
  207.         new playername[MAX_PLAYER_NAME];
  208.        
  209.         if(isnull(params))  return SendClientMessage(playerid, INFO, "[ USO: ] /announce [texto]");
  210.         GetPlayerName(playerid, playername, sizeof(playername));
  211.         format(string, sizeof(string), "[ Administrador %s: ]  %s", playername, params);
  212.         SendClientMessageToAll(INFO, string);
  213.     }
  214.     else
  215.     {
  216.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  217.     }
  218.     return 1;
  219. }
  220.  
  221. CMD:an(playerid, params[]) // (ANNOUNCE) AN
  222. {
  223.     if(IsPlayerAdmin(playerid))
  224.     {
  225.         new string[256];
  226.         new playername[MAX_PLAYER_NAME];
  227.        
  228.         if(isnull(params))  return SendClientMessage(playerid, INFO, "[ USO: ] /announce [texto]");
  229.         GetPlayerName(playerid, playername, sizeof(playername));
  230.         format(string, sizeof(string), "[ Administrador %s: ]  %s", playername, params);
  231.         SendClientMessageToAll(INFO, string);
  232.     }
  233.     else
  234.     {
  235.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  236.     }
  237.     return 1;
  238. }
  239.  
  240. CMD:desarmar(playerid, params[]) // DESARMAR
  241. {
  242.     if(IsPlayerAdmin(playerid))
  243.     {
  244.         new id;
  245.         new playername[MAX_PLAYER_NAME];
  246.         new string[64];
  247.         new string1[64+MAX_PLAYER_NAME];
  248.        
  249.         if(sscanf(params,"i",id)) return SendClientMessage(playerid, INFO,"[ USO: ] /desarmar [playerid]");
  250.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  251.         ResetPlayerWeapons(id);
  252.         GetPlayerName(id, playername, sizeof(playername));
  253.         format(string, sizeof(string), "Tu desarmaste o jogador %s.", playername);
  254.         SendClientMessage(playerid, SUCESSO, string);
  255.         format(string1, sizeof(string1), "Tu foste desarmado por um Administrador.");
  256.         SendClientMessage(id, SUCESSO, string1);
  257.     }
  258.     else
  259.     {
  260.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  261.     }
  262.     return 1;
  263. }
  264.  
  265. CMD:freeze(playerid, params[]) // FREEZE
  266. {
  267.     if(IsPlayerAdmin(playerid))
  268.     {
  269.         new id;
  270.         new string[64];
  271.         new string1[64];
  272.         new playername[MAX_PLAYER_NAME];
  273.        
  274.         GetPlayerName(playerid, playername, sizeof(playername));
  275.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /freeze [playerid]");
  276.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  277.         TogglePlayerControllable(id, 0);
  278.         format(string, sizeof(string), "Tu freezaste o jogador com o id ( %d ) ", id);
  279.         SendClientMessage(playerid, SUCESSO, string);
  280.         format(string1, sizeof(string1), "Foste congelado pelo Administrador %s.", playername);
  281.         SendClientMessage(id, INFO, string1);
  282.     }
  283.     else
  284.     {
  285.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  286.     }
  287.     return 1;
  288. }
  289.  
  290. CMD:unfreeze(playerid, params[]) // UNFREEZE
  291. {
  292.     if(IsPlayerAdmin(playerid))
  293.     {
  294.         new id;
  295.         new string[64];
  296.         new string1[64];
  297.         new playername[MAX_PLAYER_NAME];
  298.        
  299.         GetPlayerName(playerid, playername, sizeof(playername));
  300.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /unfreeze [playerid]");
  301.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  302.         TogglePlayerControllable(id, 1);
  303.         format(string, sizeof(string), "Tu deste unfreeze ao jogador com o id ( %d ).", id);
  304.         SendClientMessage(playerid, SUCESSO, string);
  305.         format(string1, sizeof(string1), "Foste descongelado pelo Administrador %s.", playername);
  306.         SendClientMessage(id, INFO, string1);
  307.     }
  308.     else
  309.     {
  310.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  311.     }
  312.     return 1;
  313. }
  314.  
  315. CMD:kick(playerid, params[]) // KICK
  316. {
  317.     if(IsPlayerAdmin(playerid))
  318.     {
  319.         new string[64];
  320.         new string1[128];
  321.         new reason[64];
  322.         new playername[MAX_PLAYER_NAME];
  323.        
  324.         GetPlayerName(playerid, playername, sizeof(playername));
  325.         if(sscanf(params, "us", kickid, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /kick [playerid] [razão]");
  326.         if(!IsPlayerConnected(kickid)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  327.         format(string, sizeof(string), "Tu kickaste o jogador com o id ( %d ).", kickid);
  328.         SendClientMessage(playerid, SUCESSO, string);
  329.         format(string1, sizeof(string1), "Foste kickado pelo Administrador %s. Razão: %s", playername, reason);
  330.         SendClientMessage(kickid, INFO, string1);
  331.         SetTimer("KickTimer", 50, false);
  332.     }
  333.     else
  334.     {
  335.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  336.     }
  337.     return 1;
  338. }
  339.  
  340. public KickTimer()
  341. {
  342.     Kick(kickid);
  343.     return 1;
  344. }
  345.  
  346. CMD:ban(playerid, params[]) // BAN
  347. {
  348.     if(IsPlayerAdmin(playerid))
  349.     {
  350.         new string[64];
  351.         new string1[128];
  352.         new reason[64];
  353.         new playername[MAX_PLAYER_NAME];
  354.        
  355.         GetPlayerName(playerid, playername, sizeof(playername));
  356.         if(sscanf(params, "us", banid, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /ban [playerid] [razão]");
  357.         if(!IsPlayerConnected(banid)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  358.         format(string, sizeof(string), "Tu baniste o jogador com o id ( %d ).", banid);
  359.         SendClientMessage(playerid, SUCESSO, string);
  360.         format(string1, sizeof(string1), "Foste banido pelo Administrador %s. Razão: %s", playername, reason);
  361.         SendClientMessage(banid, INFO, string1);
  362.         SetTimer("BanTimer", 50, false);
  363.     }
  364.     else
  365.     {
  366.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  367.     }
  368.     return 1;
  369. }
  370.  
  371. public BanTimer()
  372. {
  373.     Ban(banid);
  374.     return 1;
  375. }
  376.  
  377. CMD:setmoney(playerid, params[]) // SETMONEY (comando bugado)
  378. {
  379.     if(IsPlayerAdmin(playerid))
  380.     {
  381.         new id;
  382.         new string[128];
  383.         new string2[128];
  384.         new montante;
  385.         new playername[MAX_PLAYER_NAME];
  386.        
  387.         GetPlayerName(playerid, playername, sizeof(playername));
  388.         if(sscanf(params, "us", id)) return SendClientMessage(playerid, INFO, "[ USO: ] /setmoney [playerid]");
  389.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  390.         format(string, sizeof(string), "Tu deste %s$ ao jogador com o id ( %d ).", id);
  391.         SendClientMessage(playerid, SUCESSO, string);
  392.         format(string2, sizeof(string2), "Recebeste %s$ do Administrador %s.", montante, playername);
  393.         GivePlayerMoney(id, montante);
  394.     }
  395.     else
  396.     {
  397.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  398.     }
  399.     return 1;
  400. }
  401.  
  402. CMD:curar(playerid, params[]) // CURAR
  403. {
  404.     if(IsPlayerAdmin(playerid))
  405.     {
  406.         new id;
  407.         new string[64];
  408.         new string1[128];
  409.         new playername[MAX_PLAYER_NAME];
  410.        
  411.         GetPlayerName(playerid, playername, sizeof(playername));
  412.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /curar [playerid]");
  413.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  414.         format(string, sizeof(string), "Tu curaste o jogador com o id ( %d ).", id);
  415.         SendClientMessage(playerid, SUCESSO, string);
  416.         format(string1, sizeof(string1), "Foste curado pelo Administrador %s.", playername);
  417.         SendClientMessage(id, INFO, string1);
  418.         SetPlayerHealth(id, 100);
  419.     }
  420.     else
  421.     {
  422.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  423.     }
  424.     return 1;
  425. }
  426.  
  427. CMD:darcolete(playerid, params[]) // DARCOLETE
  428. {
  429.     if(IsPlayerAdmin(playerid))
  430.     {
  431.         new id;
  432.         new string[64];
  433.         new string1[128];
  434.         new playername[MAX_PLAYER_NAME];
  435.        
  436.         GetPlayerName(playerid, playername, sizeof(playername));
  437.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /darcolete [playerid]");
  438.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  439.         format(string, sizeof(string), "Tu deste colete ao jogador com o id ( %d ).", id);
  440.         SendClientMessage(playerid, SUCESSO, string);
  441.         format(string1, sizeof(string1), "O Administrador %s deu-te colete.", playername);
  442.         SendClientMessage(id, INFO, string1);
  443.         SetPlayerArmour(id, 100);
  444.     }
  445.     else
  446.     {
  447.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  448.     }
  449.     return 1;
  450. }
  451.  
  452. CMD:aj(playerid, params[]) // AJ
  453. {
  454.     if(IsPlayerAdmin(playerid))
  455.     {
  456.         new id;
  457.        
  458.         if(checkaj[id] == 0)
  459.         {
  460.             new string[64];
  461.             new string1[128];
  462.             new reason[64];
  463.             new playername[MAX_PLAYER_NAME];
  464.  
  465.             GetPlayerName(playerid, playername, sizeof(playername));
  466.             if(sscanf(params, "us", id, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /aj [playerid] [razão]");
  467.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  468.             format(string, sizeof(string), "Tu deste AJ ao jogador com o id ( %d ).", id);
  469.             SendClientMessage(playerid, SUCESSO, string);
  470.             format(string1, sizeof(string1), "Foste de Admin Jail pelo Administrador %s e perdeste 1000$. Razão: %s", playername, reason);
  471.             SendClientMessage(id, INFO, string1);
  472.             SetPlayerPos(id, 1232.4852,640.1943,0.4801);
  473.             GivePlayerMoney(id, -1000);
  474.             checkaj[playerid] = 1;
  475.         }
  476.         else
  477.         {
  478.             new string[64];
  479.             new string1[128];
  480.             new reason[64];
  481.             new playername[MAX_PLAYER_NAME];
  482.  
  483.             GetPlayerName(playerid, playername, sizeof(playername));
  484.             if(sscanf(params, "us", id, reason)) return SendClientMessage(playerid, INFO,"[ USO: ] /aj [playerid] [razão]");
  485.             if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  486.             format(string, sizeof(string), "Tu tiraste do AJ o jogador com o id ( %d ).", id);
  487.             SendClientMessage(playerid, SUCESSO, string);
  488.             format(string1, sizeof(string1), "O Administrador %s tirou-te do Admin Jail. Razão: %s", playername, reason);
  489.             SendClientMessage(id, INFO, string1);
  490.             SetPlayerPos(id, -1560.8135,535.6848,7.8362);
  491.             checkaj[playerid] = 0;
  492.         }
  493.     }
  494.     else
  495.     {
  496.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  497.     }
  498.     return 1;
  499. }
  500.    
  501. CMD:restart(playerid, params[]) // RESTART
  502. {
  503.     if(IsPlayerAdmin(playerid))
  504.     {
  505.         new string[64];
  506.         new string1[128];
  507.         new playername[MAX_PLAYER_NAME];
  508.        
  509.         GetPlayerName(playerid, playername, sizeof(playername));
  510.         format(string, sizeof(string), "Tu deste Restart ao servidor.");
  511.         SendClientMessage(playerid, SUCESSO, string);
  512.         format(string1, sizeof(string1), "O servidor foi de Restart pelo Administrador %s.", playername);
  513.         SendClientMessageToAll(INFO, string1);
  514.         SetTimer("RestartTimer", 50, false);
  515.     }
  516.     else
  517.     {
  518.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  519.     }
  520.     return 1;
  521. }
  522.  
  523. public RestartTimer()
  524. {
  525.     SendRconCommand("gmx");
  526.     return 1;
  527. }
  528.  
  529. CMD:spec(playerid, params[]) // SPEC
  530. {
  531.     if(IsPlayerAdmin(playerid))
  532.     {
  533.         new gSpectateID[MAX_PLAYERS];
  534.         new gSpectateType[MAX_PLAYERS];
  535.         new id;
  536.         new string[64];
  537.        
  538.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /spec [playerid]");
  539.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  540.         format(string, sizeof(string), "Tu estás a specar o jogador com o id ( %d ).", id);
  541.         SendClientMessage(playerid, SUCESSO, string);
  542.         TogglePlayerSpectating(playerid, 1);
  543.         PlayerSpectatePlayer(playerid, id);
  544.         SetPlayerInterior(playerid,GetPlayerInterior(id));
  545.         gSpectateID[playerid] = id;
  546.         gSpectateType[playerid] = ADMIN_SPEC_TYPE_PLAYER;
  547.     }
  548.     else
  549.     {
  550.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  551.     }
  552.     return 1;
  553. }
  554.  
  555. CMD:specoff(playerid, params[]) // SPECOFF
  556. {
  557.     if(IsPlayerAdmin(playerid))
  558.     {
  559.         new gSpectateID[MAX_PLAYERS];
  560.         new gSpectateType[MAX_PLAYERS];
  561.         new id;
  562.         new string[64];
  563.        
  564.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  565.         format(string, sizeof(string), "Paraste o Spectate ao jogador com o id ( %d ).", id);
  566.         SendClientMessage(playerid, SUCESSO, string);
  567.         TogglePlayerSpectating(playerid, 0);
  568.         gSpectateID[playerid] = INVALID_PLAYER_ID;
  569.         gSpectateType[playerid] = ADMIN_SPEC_TYPE_NONE;
  570.     }
  571.     else
  572.     {
  573.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  574.     }
  575.     return 1;
  576. }
  577.  
  578. CMD:goto(playerid, params[]) // GOTO
  579. {
  580.     if(IsPlayerAdmin(playerid))
  581.     {
  582.         new id;
  583.         new Float: x;
  584.         new Float: y;
  585.         new Float: z;
  586.         new string[128];
  587.         new string2[128];
  588.         new playername[MAX_PLAYER_NAME];
  589.        
  590.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /goto [playerid]");
  591.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  592.         format(string, sizeof(string), "Teleportaste-te até ao jogador com o id ( %d ).", id);
  593.         SendClientMessage(playerid, SUCESSO, string);
  594.         format(string2, sizeof(string2), "O Administrador %s foi até ti.", playername);
  595.         SendClientMessage(id, INFO, string);
  596.         GetPlayerPos(id, x, y, z);
  597.         SetPlayerPos(playerid, x+1, y+1, z);
  598.     }
  599.     else
  600.     {
  601.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  602.     }
  603.     return 1;
  604. }
  605.  
  606. CMD:gethere(playerid, params[]) // GETHERE
  607. {
  608.     if(IsPlayerAdmin(playerid))
  609.     {
  610.         new id;
  611.         new Float: x;
  612.         new Float: y;
  613.         new Float: z;
  614.         new string[128];
  615.         new string2[128];
  616.         new playername[MAX_PLAYER_NAME];
  617.  
  618.         if(sscanf(params, "u", id)) return SendClientMessage(playerid, INFO,"[ USO: ] /gethere [playerid]");
  619.         if(!IsPlayerConnected(id)) return SendClientMessage(playerid, FAIL,"[ ERRO: ] O player não está conectado.");
  620.         format(string, sizeof(string), "Trouxeste o jogador com o id ( %d ) até ti.", id);
  621.         SendClientMessage(playerid, SUCESSO, string);
  622.         format(string2, sizeof(string2), "O Administrador %s puxou-te até ele.", playername);
  623.         SendClientMessage(id, INFO, string);
  624.         GetPlayerPos(playerid, x, y, z);
  625.         SetPlayerPos(id, x+1, y+1, z);
  626.     }
  627.     else
  628.     {
  629.         SendClientMessage(playerid, FAIL, "[ ERRO: ] Tu não és Administrador.");
  630.     }
  631.     return 1;
  632. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement