Advertisement
Guest User

ControlCheats.inc

a guest
Apr 9th, 2013
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 42.08 KB | None | 0 0
  1. /*
  2.     ControlCheats - Administre diversos cheats facilmente
  3.         Creator: steak
  4.             Credits: Y_Less (ALS Hook), Bruno e Paulor ( Lógicas(pbAntiCheater) ), cessil (Lógicas)
  5.                 Version: 1.5
  6.                     Last Update: 06/04/2013, 07/04/2013, 09/04/2013
  7. */
  8.  
  9. #include <a_samp>
  10.  
  11. #if defined _ControlCheats_include
  12.     #endinput    
  13. #endif
  14. #define _ControlCheats_include
  15.  
  16. //statics
  17. static
  18.     _registerlastIPEx[16],
  19.     p_IsInVehicle[MAX_PLAYERS],
  20.     v_PlayerInVehicle[MAX_VEHICLES],
  21.     p_VehicleEnterTime[MAX_PLAYERS],
  22.     g_MassTpDelay,
  23.     SERVER_SIDE_DELAY,
  24.     p_SpawnTime[MAX_PLAYERS],
  25.     registerMaxConnect,
  26.     lastconnect,
  27.     bool:p_SkipNextAB[MAX_PLAYERS],
  28.     bool:_OPCN,
  29.     bool:_OPUP,
  30.     bool:_OPSC,
  31.     bool:_OPDT,
  32.     bool:_OPTX,
  33.     bool:_OPDC,
  34.     bool:_OPSP
  35. ;
  36. //definições de configuração
  37. #define INVALID_CHAT_BLOCK \
  38.     true // -- Mude para "false" se quiser que o texto flood/invalid digitado apareça.
  39. #define SAVE_LOG \
  40.     true // -- Mude para "false" caso não queira log.
  41. #define INVALID_FILE \
  42.     "/%s.txt" // -- Mude o diretorio(se quiser).
  43. #define INVALID_MAX_PING \
  44.     (900) // -- Mude "0900" para o limite de ping ao seu gosto.
  45. #define MAX_SPEED \
  46.     (350) // -- Mude "0350" para o limite de velocidade ao seu gosto.
  47. #define MAX_TIME_TEXT \
  48.     (0003) // -- Mude "0003" para o limite de tempo entre cada texto ao seu gosto.
  49. #define MAX_PINGS_WARNS \
  50.     (0002) // -- Numero maximo de avisos de ping alto.. caso passar desse limite é chamada a "PLAYER_ONPING_HIGH"
  51. #define MAX_CONNECTIONS \
  52.     (0002) // -- Numero maximo de conexões com o mesmo ip em menos ou igual que "MAX_TIME_CONNECTIONS"
  53. #define MAX_TIME_CONNECTIONS \
  54.     (0005) // -- Conexões em menos de "0005" segundos.
  55. #define MAX_ALT_FLY \
  56.     (5.0) // -- Altura máxima para detectar um fly caso for maior que isso é chamada a "PLAYER_ONFLY_HACK".
  57. #define MAX_DEATHS_FLOOD \
  58.     (0002) // -- Caso o max deaths for maior que isso em menos de "MAX_TIME_FLOOD"..
  59. #define MAX_TIME_FLOOD \
  60.     (0003) // -- Tempo max de flood death
  61. //forwards
  62. forward
  63.     OnPlayerControllingCheat(playerid, cheatid)
  64. ;
  65. forward
  66.     OnRegisterUpdate(PLAYER_ID)
  67. ;
  68. forward
  69.     OnRegisterBot(playerid)
  70. ;
  71. forward
  72.     OnRegisterPlayer(playerid)
  73. ;
  74. //Enumeração hack
  75. enum {
  76.     //Floods..
  77.     PLAYER_ONTEXT_FLOOD,
  78.     PLAYER_ONCONNECT_FLOOD,
  79.     //Cleo4..
  80.     PLAYER_ONSTATE_HACK_1,
  81.     PLAYER_ONSTATE_HACK_2,
  82.     PLAYER_ONSTATE_HACK_3,
  83.     PLAYER_ONDEATH_HACK,
  84.     //Outros..
  85.     PLAYER_ONPING_HIGH,
  86.     PLAYER_ONFLY_HACK,
  87.     PLAYER_ONMONEY_HACK,
  88.     PLAYER_ONSCORE_HACK,
  89.     PLAYER_ONAMMO_HACK, //Removido -- Temporariamente
  90.     PLAYER_ONWEAP_HACK,
  91.     PLAYER_ONSPEED_HACK_1,
  92.     PLAYER_ONSPEED_HACK_2,
  93.     //Airbreak/CarTele
  94.     PLAYER_ONBREAKCAR_HACK_1,
  95.     PLAYER_ONBREAKCAR_HACK_2,
  96.     PLAYER_ONBREAKCAR_HACK_3,
  97.     PLAYER_ONBREAKCAR_HACK_4,
  98.     PLAYER_ONBREAK_HACK_1,
  99.     PLAYER_ONBREAK_HACK_2,
  100.     PLAYER_ONBREAK_HACK_3,
  101.     PLAYER_ONBREAK_HACK_4
  102. };
  103. enum st_AIRBREAKMETER {
  104.     LastMeasured,
  105.     Float:lastX,
  106.     Float:lastY,
  107.     Float:lastZ,
  108.     Float:newX,
  109.     Float:newY,
  110.     Float:newZ
  111. };
  112. new p_AirBrkCheck[MAX_PLAYERS][st_AIRBREAKMETER];
  113. //Float
  114. new
  115.     Float:MaxVehicleSpeed[612] = { 
  116.     260.00,
  117.     260.00,
  118.     260.00,
  119.     260.00,
  120.     260.00,
  121.     260.00,
  122.     260.00,
  123.     260.00,
  124.     260.00,
  125.     260.00,
  126.     260.00,
  127.     260.00,
  128.     260.00,
  129.     260.00,
  130.     260.00,
  131.     260.00,
  132.     260.00,
  133.     260.00,
  134.     260.00,
  135.     260.00,
  136.     260.00,
  137.     260.00,
  138.     260.00,
  139.     260.00,
  140.     260.00,
  141.     260.00,
  142.     260.00,
  143.     260.00,
  144.     260.00,
  145.     260.00,
  146.     260.00,
  147.     260.00,
  148.     260.00,
  149.     260.00,
  150.     260.00,
  151.     260.00,
  152.     260.00,
  153.     260.00,
  154.     260.00,
  155.     260.00,
  156.     260.00,
  157.     260.00,
  158.     260.00,
  159.     260.00,
  160.     260.00,
  161.     260.00,
  162.     260.00,
  163.     260.00,
  164.     260.00,
  165.     260.00,
  166.     260.00,
  167.     260.00,
  168.     260.00,
  169.     260.00,
  170.     260.00,
  171.     260.00,
  172.     260.00,
  173.     260.00,
  174.     260.00,
  175.     260.00,
  176.     260.00,
  177.     260.00,
  178.     260.00,
  179.     260.00,
  180.     260.00,
  181.     260.00,
  182.     260.00,
  183.     260.00,
  184.     260.00,
  185.     260.00,
  186.     260.00,
  187.     260.00,
  188.     260.00,
  189.     260.00,
  190.     260.00,
  191.     260.00,
  192.     260.00,
  193.     260.00,
  194.     260.00,
  195.     260.00,
  196.     260.00,
  197.     260.00,
  198.     260.00,
  199.     260.00,
  200.     260.00,
  201.     260.00,
  202.     260.00,
  203.     260.00,
  204.     260.00,
  205.     260.00,
  206.     260.00,
  207.     260.00,
  208.     260.00,
  209.     260.00,
  210.     260.00,
  211.     260.00,
  212.     260.00,
  213.     260.00,
  214.     260.00,
  215.     260.00,
  216.     260.00,
  217.     260.00,
  218.     260.00,
  219.     260.00,
  220.     260.00,
  221.     260.00,
  222.     260.00,
  223.     260.00,
  224.     260.00,
  225.     260.00,
  226.     260.00,
  227.     260.00,
  228.     260.00,
  229.     260.00,
  230.     260.00,
  231.     260.00,
  232.     260.00,
  233.     260.00,
  234.     260.00,
  235.     260.00,
  236.     260.00,
  237.     260.00,
  238.     260.00,
  239.     260.00,
  240.     260.00,
  241.     260.00,
  242.     260.00,
  243.     260.00,
  244.     260.00,
  245.     260.00,
  246.     260.00,
  247.     260.00,
  248.     260.00,
  249.     260.00,
  250.     260.00,
  251.     260.00,
  252.     260.00,
  253.     260.00,
  254.     260.00,
  255.     260.00,
  256.     260.00,
  257.     260.00,
  258.     260.00,
  259.     260.00,
  260.     260.00,
  261.     260.00,
  262.     260.00,
  263.     260.00,
  264.     260.00,
  265.     260.00,
  266.     260.00,
  267.     260.00,
  268.     260.00,
  269.     260.00,
  270.     260.00,
  271.     260.00,
  272.     260.00,
  273.     260.00,
  274.     260.00,
  275.     260.00,
  276.     260.00,
  277.     260.00,
  278.     260.00,
  279.     260.00,
  280.     260.00,
  281.     260.00,
  282.     260.00,
  283.     260.00,
  284.     260.00,
  285.     260.00,
  286.     260.00,
  287.     260.00,
  288.     260.00,
  289.     260.00,
  290.     260.00,
  291.     260.00,
  292.     260.00,
  293.     260.00,
  294.     260.00,
  295.     260.00,
  296.     260.00,
  297.     260.00,
  298.     260.00,
  299.     260.00,
  300.     260.00,
  301.     260.00,
  302.     260.00,
  303.     260.00,
  304.     260.00,
  305.     260.00,
  306.     260.00,
  307.     260.00,
  308.     260.00,
  309.     260.00,
  310.     260.00,
  311.     260.00,
  312.     260.00,
  313.     260.00,
  314.     260.00,
  315.     260.00,
  316.     260.00,
  317.     260.00,
  318.     260.00,
  319.     260.00,
  320.     260.00,
  321.     260.00,
  322.     260.00,
  323.     260.00,
  324.     260.00,
  325.     260.00,
  326.     260.00,
  327.     260.00,
  328.     260.00,
  329.     260.00,
  330.     260.00,
  331.     260.00,
  332.     260.00,
  333.     260.00,
  334.     260.00,
  335.     260.00,
  336.     260.00,
  337.     260.00,
  338.     260.00,
  339.     260.00,
  340.     260.00,
  341.     260.00,
  342.     260.00,
  343.     260.00,
  344.     260.00,
  345.     260.00,
  346.     260.00,
  347.     260.00,
  348.     260.00,
  349.     260.00,
  350.     260.00,
  351.     260.00,
  352.     260.00,
  353.     260.00,
  354.     260.00,
  355.     260.00,
  356.     260.00,
  357.     260.00,
  358.     260.00,
  359.     260.00,
  360.     260.00,
  361.     260.00,
  362.     260.00,
  363.     260.00,
  364.     260.00,
  365.     260.00,
  366.     260.00,
  367.     260.00,
  368.     260.00,
  369.     260.00,
  370.     260.00,
  371.     260.00,
  372.     260.00,
  373.     260.00,
  374.     260.00,
  375.     260.00,
  376.     260.00,
  377.     260.00,
  378.     260.00,
  379.     260.00,
  380.     260.00,
  381.     260.00,
  382.     260.00,
  383.     260.00,
  384.     260.00,
  385.     260.00,
  386.     260.00,
  387.     260.00,
  388.     260.00,
  389.     260.00,
  390.     260.00,
  391.     260.00,
  392.     260.00,
  393.     260.00,
  394.     260.00,
  395.     260.00,
  396.     260.00,
  397.     260.00,
  398.     260.00,
  399.     260.00,
  400.     260.00,
  401.     260.00,
  402.     260.00,
  403.     260.00,
  404.     260.00,
  405.     260.00,
  406.     260.00,
  407.     260.00,
  408.     260.00,
  409.     260.00,
  410.     260.00,
  411.     260.00,
  412.     260.00,
  413.     260.00,
  414.     260.00,
  415.     260.00,
  416.     260.00,
  417.     260.00,
  418.     260.00,
  419.     260.00,
  420.     260.00,
  421.     260.00,
  422.     260.00,
  423.     260.00,
  424.     260.00,
  425.     260.00,
  426.     260.00,
  427.     260.00,
  428.     260.00,
  429.     260.00,
  430.     260.00,
  431.     260.00,
  432.     260.00,
  433.     260.00,
  434.     260.00,
  435.     260.00,
  436.     260.00,
  437.     260.00,
  438.     260.00,
  439.     260.00,
  440.     260.00,
  441.     260.00,
  442.     260.00,
  443.     260.00,
  444.     260.00,
  445.     260.00,
  446.     260.00,
  447.     260.00,
  448.     260.00,
  449.     260.00,
  450.     260.00,
  451.     260.00,
  452.     260.00,
  453.     260.00,
  454.     260.00,
  455.     260.00,
  456.     260.00,
  457.     260.00,
  458.     260.00,
  459.     260.00,
  460.     260.00,
  461.     260.00,
  462.     260.00,
  463.     260.00,
  464.     260.00,
  465.     260.00,
  466.     260.00,
  467.     260.00,
  468.     260.00,
  469.     260.00,
  470.     260.00,
  471.     260.00,
  472.     260.00,
  473.     260.00,
  474.     260.00,
  475.     260.00,
  476.     260.00,
  477.     260.00,
  478.     260.00,
  479.     260.00,
  480.     260.00,
  481.     260.00,
  482.     260.00,
  483.     260.00,
  484.     260.00,
  485.     260.00,
  486.     260.00,
  487.     260.00,
  488.     260.00,
  489.     260.00,
  490.     260.00,
  491.     260.00,
  492.     260.00,
  493.     260.00,
  494.     260.00,
  495.     260.00,
  496.     260.00,
  497.     260.00,
  498.     260.00,
  499.     260.00,
  500.     260.00,
  501.     260.00,
  502.     260.00,
  503.     260.00,
  504.     260.00,
  505.     260.00,
  506.     260.00,
  507.     260.00,
  508.     260.00,
  509.     260.00,
  510.     260.00,
  511.     260.00,
  512.     260.00,
  513.     260.00,
  514.     260.00,
  515.     260.00,
  516.     160.00,
  517.     160.00,
  518.     200.00,
  519.     120.00,
  520.     150.00,
  521.     165.00,
  522.     110.00,
  523.     170.00,
  524.     110.00,
  525.     180.00,
  526.     160.00,
  527.     240.00,
  528.     160.00,
  529.     160.00,
  530.     140.00,
  531.     230.00,
  532.     155.00,
  533.     200.00,
  534.     150.00,
  535.     160.00,
  536.     180.00,
  537.     180.00,
  538.     165.00,
  539.     145.00,
  540.     170.00,
  541.     200.00,
  542.     200.00,
  543.     170.00,
  544.     170.00,
  545.     200.00,
  546.     190.00,
  547.     130.00,
  548.     170.00,
  549.     180.00,
  550.     200.00,
  551.     120.00,
  552.     160.00,
  553.     160.00,
  554.     160.00,
  555.     160.00,
  556.     160.00,
  557.     75.00,
  558.     150.00,
  559.     150.00,
  560.     110.00,
  561.     165.00,
  562.     190.00,
  563.     200.00,
  564.     190.00,
  565.     150.00,
  566.     120.00,
  567.     240.00,
  568.     190.00,
  569.     190.00,
  570.     190.00,
  571.     140.00,
  572.     160.00,
  573.     160.00,
  574.     165.00,
  575.     160.00,
  576.     200.00,
  577.     190.00,
  578.     260.00,
  579.     190.00,
  580.     75.00,
  581.     75.00,
  582.     160.00,
  583.     160.00,
  584.     190.00,
  585.     200.00,
  586.     170.00,
  587.     160.00,
  588.     190.00,
  589.     190.00,
  590.     160.00,
  591.     160.00,
  592.     200.00,
  593.     200.00,
  594.     150.00,
  595.     165.00,
  596.     200.00,
  597.     120.00,
  598.     150.00,
  599.     120.00,
  600.     190.00,
  601.     160.00,
  602.     100.00,
  603.     200.00,
  604.     200.00,
  605.     170.00,
  606.     170.00,
  607.     160.00,
  608.     160.00,
  609.     190.00,
  610.     220.00,
  611.     170.00,
  612.     200.00,
  613.     200.00,
  614.     140.00,
  615.     140.00,
  616.     160.00,
  617.     75.00,
  618.     260.00,
  619.     260.00,
  620.     160.00,
  621.     260.00,
  622.     230.00,
  623.     165.00,
  624.     140.00,
  625.     120.00,
  626.     140.00,
  627.     200.00,
  628.     200.00,
  629.     200.00,
  630.     120.00,
  631.     120.00,
  632.     165.00,
  633.     165.00,
  634.     160.00,
  635.     340.00,
  636.     340.00,
  637.     190.00,
  638.     190.00,
  639.     190.00,
  640.     110.00,
  641.     160.00,
  642.     160.00,
  643.     160.00,
  644.     170.00,
  645.     160.00,
  646.     60.00,
  647.     70.00,
  648.     140.00,
  649.     200.00,
  650.     160.00,
  651.     160.00,
  652.     160.00,
  653.     110.00,
  654.     110.00,
  655.     150.00,
  656.     160.00,
  657.     230.00,
  658.     160.00,
  659.     165.00,
  660.     260.00,
  661.     160.00,
  662.     160.00,
  663.     160.00,
  664.     200.00,
  665.     160.00,
  666.     160.00,
  667.     165.00,
  668.     160.00,
  669.     200.00,
  670.     170.00,
  671.     180.00,
  672.     110.00,
  673.     110.00,
  674.     200.00,
  675.     200.00,
  676.     200.00,
  677.     200.00,
  678.     200.00,
  679.     200.00,
  680.     75.00,
  681.     200.00,
  682.     160.00,
  683.     160.00,
  684.     170.00,
  685.     110.00,
  686.     110.00,
  687.     90.00,
  688.     60.00,
  689.     110.00,
  690.     60.00,
  691.     160.00,
  692.     160.00,
  693.     200.00,
  694.     110.00,
  695.     160.00,
  696.     165.00,
  697.     190.00,
  698.     160.00,
  699.     170.00,
  700.     120.00,
  701.     165.00,
  702.     260.00,
  703.     200.00,
  704.     140.00,
  705.     200.00,
  706.     260.00,
  707.     120.00,
  708.     200.00,
  709.     200.00,
  710.     60.00,
  711.     190.00,
  712.     200.00,
  713.     200.00,
  714.     200.00,
  715.     160.00,
  716.     165.00,
  717.     110.00,
  718.     200.00,
  719.     200.00,
  720.     260.00,
  721.     260.00,
  722.     160.00,
  723.     160.00,
  724.     160.00,
  725.     140.00,
  726.     160.00,
  727.     260.00
  728. };
  729. //publics
  730. public OnPlayerDeath(playerid, killerid, reason) {
  731.     if(gettime() - GetPVarInt(playerid, #registerLastDeath) < MAX_TIME_FLOOD && GetPVarInt(playerid, #registerDeaths) > MAX_DEATHS_FLOOD) {
  732.         DeletePVar(playerid, #registerLastDeath);
  733.         DeletePVar(playerid, #registerDeaths);
  734.         #if SAVE_LOG == true
  735.             //Save File
  736.             static
  737.                 strins_[128],
  738.                 strins_name[MAX_PLAYER_NAME]
  739.             ;
  740.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  741.             format(strins_, sizeof(strins_), "%s usou fake-kill", strins_name);
  742.             CriarLog_Cheats("UsaramFakeKill", strins_);
  743.         #endif
  744.         //busted
  745.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONDEATH_HACK);
  746.     }
  747.     SetPVarInt(playerid, #registerLastDeath, gettime());
  748.     SetPVarInt(playerid, #registerDeaths, GetPVarInt(playerid, #registerDeaths) +1);
  749.     return (_OPDT ? CallLocalFunction(#_OnPlayerDeathEx, #iii, playerid, killerid, reason) : 1);
  750. }
  751. #if defined _ALS_OnPlayerDeath
  752.     #undef OnPlayerDeath
  753. #else
  754.     #define _ALS_OnPlayerDeath
  755. #endif
  756. #define OnPlayerDeath _OnPlayerDeathEx
  757. forward _OnPlayerDeathEx(playerid, killerid, reason);
  758.  
  759. public OnPlayerStateChange(playerid, newstate, oldstate) {
  760.     p_IsInVehicle[playerid] = GetPlayerVehicleID(playerid);
  761.     if(newstate == PLAYER_STATE_DRIVER) {
  762.         v_PlayerInVehicle[p_IsInVehicle[playerid]] = playerid;
  763.         if(oldstate == PLAYER_STATE_DRIVER) {
  764.             if((GetTickCount() - p_VehicleEnterTime[playerid]) < g_MassTpDelay) {
  765.                 p_VehicleEnterTime[playerid] = GetTickCount();
  766.                 #if SAVE_LOG == true
  767.                     //Save File
  768.                     static
  769.                         strins_[128],
  770.                         strins_name[MAX_PLAYER_NAME]
  771.                     ;
  772.                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  773.                     format(strins_, sizeof(strins_), "%s usou cheat de puxar varios veiculos", strins_name);
  774.                     CriarLog_Cheats("UsaramCleo4", strins_);
  775.                 #endif
  776.                 //busted
  777.                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSTATE_HACK_1);
  778.                 return true;
  779.             }
  780.         }
  781.         p_VehicleEnterTime[playerid] = GetTickCount();
  782.         for(new i = 0; i < MAX_PLAYERS; i++) {
  783.             if(!IsPlayerConnected(i)) continue;
  784.             if(p_IsInVehicle[playerid] == p_IsInVehicle[i] && GetPlayerState(i) == PLAYER_STATE_ONFOOT) {
  785.                 #if SAVE_LOG == true
  786.                     //Save File
  787.                     static
  788.                         strins_[128],
  789.                         strins_name[MAX_PLAYER_NAME]
  790.                     ;
  791.                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  792.                     format(strins_, sizeof(strins_), "%s usou CarJackHack", strins_name);
  793.                     CriarLog_Cheats("UsaramCleo4", strins_);
  794.                 #endif
  795.                 //busted
  796.                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSTATE_HACK_2);
  797.                 return true;
  798.             }
  799.         }
  800.     }
  801.     else {
  802.         if(p_IsInVehicle[playerid] != 0) {
  803.             v_PlayerInVehicle[p_IsInVehicle[playerid]] = -1;
  804.             p_IsInVehicle[playerid] = 0;
  805.         }
  806.         if(oldstate == PLAYER_STATE_DRIVER) {
  807.             if((GetTickCount() - p_VehicleEnterTime[playerid]) < g_MassTpDelay) {
  808.                 #if SAVE_LOG == true
  809.                     //Save File
  810.                     static
  811.                         strins_[128],
  812.                         strins_name[MAX_PLAYER_NAME]
  813.                     ;
  814.                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  815.                     format(strins_, sizeof(strins_), "%s usou cheat de puxar varios veiculos", strins_name);
  816.                     CriarLog_Cheats("UsaramCleo4", strins_);
  817.                 #endif
  818.                 //busted
  819.                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSTATE_HACK_3);
  820.                 return true;
  821.             }
  822.         }
  823.     }
  824.     return (_OPSC ? CallLocalFunction(#_OnPlayerStateChangeEx, #iii, playerid, newstate, oldstate) : 1);
  825. }
  826. #if defined _ALS_OnPlayerStateChange
  827.     #undef OnPlayerStateChange
  828. #else
  829.     #define _ALS_OnPlayerStateChange
  830. #endif
  831. #define OnPlayerStateChange _OnPlayerStateChangeEx
  832. forward _OnPlayerStateChangeEx(playerid, newstate, oldstate);
  833.  
  834. public OnPlayerUpdate(playerid) {
  835.     static
  836.         Float:posFly[3]
  837.     ;
  838.     GetPlayerPos(playerid, posFly[0], posFly[1], posFly[2]);
  839.     if(posFly[2] > MAX_ALT_FLY && _isPlayerUsingSwimAnimEx(playerid) && !_isPlayerInWaterEx(playerid)) {
  840.         #if SAVE_LOG == true
  841.             //Save File
  842.             static
  843.                 strins_[128],
  844.                 strins_name[MAX_PLAYER_NAME]
  845.             ;
  846.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  847.             format(strins_, sizeof(strins_), "%s usou fly", strins_name);
  848.             CriarLog_Cheats("UsaramFLY", strins_);
  849.         #endif
  850.         //busted
  851.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONFLY_HACK);
  852.     }
  853.     static
  854.         _weapSlotEx[2],
  855.         str_weap[13]
  856.     ;
  857.     for(new x = 0; x < 13; x++) {
  858.         GetPlayerWeaponData(playerid, x, _weapSlotEx[0], _weapSlotEx[1]);
  859.         format(str_weap, sizeof(str_weap), "weap%d", x);
  860.         if(_weapSlotEx[0] < 47 && GetPVarInt(playerid, str_weap) != _weapSlotEx[0] && _weapSlotEx[0]) {
  861.             #if SAVE_LOG == true
  862.                 //Save File
  863.                 static
  864.                     strins_[128],
  865.                     strins_name[MAX_PLAYER_NAME]
  866.                 ;
  867.                 GetPlayerName(playerid, strins_name, sizeof(strins_name));
  868.                 format(strins_, sizeof(strins_), "%s arma hack", strins_name);
  869.                 CriarLog_Cheats("UsaramArmaHack", strins_);
  870.             #endif
  871.             //busted
  872.             DeletePVar(playerid, str_weap);
  873.             CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONWEAP_HACK);
  874.         }
  875.     }
  876.     if(GetPVarInt(playerid, #warnHighPing) > MAX_PINGS_WARNS) {
  877.         #if SAVE_LOG == true
  878.             //Save File
  879.             static
  880.                 strins_[128],
  881.                 strins_name[MAX_PLAYER_NAME]
  882.             ;
  883.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  884.             format(strins_, sizeof(strins_), "%s ping alto", strins_name);
  885.             CriarLog_Cheats("PingAlto", strins_);
  886.         #endif
  887.         //busted
  888.         DeletePVar(playerid, #warnHighPing);
  889.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONPING_HIGH);
  890.     }
  891.     new
  892.         _moneyHack = GetPlayerMoney(playerid)
  893.     ;
  894.     if(_moneyHack > GetPVarInt(playerid, #registermaxMoney)) {
  895.         #if SAVE_LOG == true
  896.             //Save File
  897.             static
  898.                 strins_[128],
  899.                 strins_name[MAX_PLAYER_NAME]
  900.             ;
  901.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  902.             format(strins_, sizeof(strins_), "%s usou money hack", strins_name);
  903.             CriarLog_Cheats("UsaramMoneyHack", strins_);
  904.         #endif
  905.         //busted
  906.         DeletePVar(playerid, #registermaxMoney);
  907.         DeletePVar(playerid, #registerMoney);
  908.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONMONEY_HACK);
  909.     }
  910.     new
  911.         _scoreHack = GetPlayerScore(playerid)
  912.     ;
  913.     if(_scoreHack > GetPVarInt(playerid, #registermaxScore)) {
  914.         #if SAVE_LOG == true
  915.             //Save File
  916.             static
  917.                 strins_[128],
  918.                 strins_name[MAX_PLAYER_NAME]
  919.             ;
  920.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  921.             format(strins_, sizeof(strins_), "%s usou score hack", strins_name);
  922.             CriarLog_Cheats("UsaramScoreHack", strins_);
  923.         #endif
  924.         //busted
  925.         DeletePVar(playerid, #registermaxScore);
  926.         DeletePVar(playerid, #registerScore);
  927.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSCORE_HACK);
  928.     }
  929.     return (_OPUP ? CallLocalFunction(#_OnPlayerUpdateEx, #i, playerid) : 1);
  930. }
  931. #if defined _ALS_OnPlayerUpdate
  932.     #undef OnPlayerUpdate
  933. #else
  934.     #define _ALS_OnPlayerUpdate
  935. #endif
  936. #define OnPlayerUpdate _OnPlayerUpdateEx
  937. forward _OnPlayerUpdateEx(playerid);
  938.  
  939. public OnPlayerText(playerid, text[]) {
  940.     if(gettime() - GetPVarInt(playerid, #registerLastText) < MAX_TIME_TEXT) {
  941.         #if SAVE_LOG == true
  942.             //Save File
  943.             static
  944.                 strins_[128],
  945.                 strins_name[MAX_PLAYER_NAME]
  946.             ;
  947.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  948.             format(strins_, sizeof(strins_), "%s floodou o chat", strins_name);
  949.             CriarLog_Cheats("FlodaramChat", strins_);
  950.         #endif
  951.         //busted
  952.         DeletePVar(playerid, #registerLastText);
  953.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONTEXT_FLOOD);
  954.         #if INVALID_CHAT_BLOCK == true
  955.             return false;
  956.         #endif
  957.     }
  958.     SetPVarInt(playerid, #registerLastText, gettime());
  959.     return (_OPTX ? CallLocalFunction(#_OnPlayerTextEx, #is, playerid, text) : 1);
  960. }
  961. #if defined _ALS_OnPlayerText
  962.     #undef OnPlayerText
  963. #else
  964.     #define _ALS_OnPlayerText
  965. #endif
  966. #define OnPlayerText _OnPlayerTextEx
  967. forward _OnPlayerTextEx(playerid, text[]);
  968.  
  969. public OnGameModeInit() {
  970.     _OPCN = funcidx(#_OnPlayerConnectEx)        != -1;
  971.     _OPUP = funcidx(#_OnPlayerUpdateEx)         != -1;
  972.     _OPSC = funcidx(#_OnPlayerStateChangeEx)    != -1;
  973.     _OPDT = funcidx(#_OnPlayerDeathEx)          != -1;
  974.     _OPTX = funcidx(#_OnPlayerTextEx)           != -1;
  975.     _OPSP = funcidx(#_OnPlayerSpawnEx)          != -1;
  976.     _OPDC = funcidx(#_OnPlayerDisconnectEx)     != -1;
  977.     g_MassTpDelay = 150;
  978.     SetTimer(#OnRegisterUpdate, 1000, true);
  979.     return CallLocalFunction(#_OnGameModeInitEx, #);
  980. }
  981. #if defined _ALS_OnGameModeInit
  982.     #undef OnGameModeInit
  983. #else
  984.     #define _ALS_OnGameModeInit
  985. #endif
  986. #define OnGameModeInit _OnGameModeInitEx
  987. forward _OnGameModeInitEx();
  988.  
  989. public OnPlayerConnect(playerid) {
  990.     CallLocalFunction(#OnRegisterPlayer, #i, playerid);
  991.     return (_OPCN ? CallLocalFunction(#_OnPlayerConnectEx, #i, playerid) : 1);
  992. }
  993. #if defined _ALS_OnPlayerConnect
  994.     #undef OnPlayerConnect
  995. #else
  996.     #define _ALS_OnPlayerConnect
  997. #endif
  998. #define OnPlayerConnect _OnPlayerConnectEx
  999. forward _OnPlayerConnectEx(playerid);
  1000.  
  1001. public OnPlayerSpawn(playerid) {
  1002.     p_SpawnTime[playerid] = GetTickCount();
  1003.     p_AirBrkCheck[playerid][LastMeasured] = p_SpawnTime[playerid];
  1004.     GetPlayerPos(playerid, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY], p_AirBrkCheck[playerid][lastZ]);
  1005.     p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX] + Float:0.2;
  1006.     p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY] + Float:0.2;
  1007.     p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ] + Float:0.2;
  1008.     return (_OPSP ? CallLocalFunction(#_OnPlayerSpawnEx, #i, playerid) : 1);
  1009. }
  1010. #if defined _ALS_OnPlayerSpawn
  1011.     #undef OnPlayerSpawn
  1012. #else
  1013.     #define _ALS_OnPlayerSpawn
  1014. #endif
  1015. #define OnPlayerSpawn _OnPlayerSpawnEx
  1016. forward _OnPlayerSpawnEx(playerid);
  1017.  
  1018. public OnPlayerDisconnect(playerid, reason) {
  1019.     p_SkipNextAB[playerid] = false;
  1020.     return (_OPDC ? CallLocalFunction(#_OnPlayerDisconnectEx, #ii, playerid, reason) : 1);
  1021. }
  1022. #if defined _ALS_OnPlayerDisconnect
  1023.     #undef OnPlayerDisconnect
  1024. #else
  1025.     #define _ALS_OnPlayerDisconnect
  1026. #endif
  1027. #define OnPlayerDisconnect _OnPlayerDisconnectEx
  1028. forward _OnPlayerDisconnectEx(playerid, reason);
  1029.  
  1030. public OnRegisterBot(playerid) {
  1031.     registerMaxConnect++;
  1032.     if(registerMaxConnect > MAX_CONNECTIONS) {
  1033.         #if SAVE_LOG == true
  1034.             //Save File
  1035.             static
  1036.                 strins_[128],
  1037.                 strins_name[MAX_PLAYER_NAME]
  1038.             ;
  1039.             GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1040.             format(strins_, sizeof(strins_), "%s usou bot", strins_name);
  1041.             CriarLog_Cheats("UsaramBOT", strins_);
  1042.         #endif
  1043.         //busted
  1044.         CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONCONNECT_FLOOD);
  1045.     }
  1046.     return true;
  1047. }
  1048.  
  1049. public OnRegisterPlayer(playerid) {
  1050.     if(strcmp(_registerIPEx(playerid), _registerlastIPEx, true) == 0 && SERVER_SIDE_DELAY - lastconnect <= MAX_TIME_CONNECTIONS) OnRegisterBot(playerid); else registerMaxConnect = 0;
  1051.     if(strcmp(_registerIPEx(playerid), "255.255.255.255", true) == 0) print("INVALID_IP"); else format(_registerlastIPEx, sizeof(_registerlastIPEx), "%s", _registerIPEx(playerid));
  1052.     lastconnect = SERVER_SIDE_DELAY;
  1053.     p_VehicleEnterTime[playerid] = GetTickCount();
  1054.     return true;
  1055. }
  1056.  
  1057. public OnRegisterUpdate(PLAYER_ID) {
  1058.     if(GetPlayerPing(PLAYER_ID) > INVALID_MAX_PING) {
  1059.         SetPVarInt(PLAYER_ID, #warnHighPing, GetPVarInt(PLAYER_ID, #warnHighPing) +1);
  1060.     }
  1061.     else DeletePVar(PLAYER_ID, #warnHighPing);
  1062.     SERVER_SIDE_DELAY++;
  1063.     new
  1064.         Float:SPEEDx = Float:0.0,
  1065.         Float:SPEEDu = Float:0.0,
  1066.         playerid = 0
  1067.     ;
  1068.     static
  1069.         Float:VEC[3],
  1070.         bool:Checks[3],
  1071.         diff
  1072.     ;
  1073.     for(new i = 0; i < MAX_PLAYERS; i++) {
  1074.         if(!IsPlayerConnected(i)) continue;
  1075.         i = playerid;
  1076.         new
  1077.         OnState = GetPlayerState(playerid)
  1078.         ;
  1079.         if(OnState == PLAYER_STATE_DRIVER) {
  1080.             static
  1081.             Float:s[3]
  1082.             ;
  1083.             GetVehicleVelocity(GetPlayerVehicleID(playerid), s[0], s[1], s[2]);
  1084.             s[0] *= s[0];
  1085.             s[1] *= s[1];
  1086.             if(s[2] < Float:-0.023) {
  1087.                 if(floatsqroot(s[0]+s[1])* Float:174.0 > (MaxVehicleSpeed[GetVehicleModel(GetPlayerVehicleID(playerid))]+ Float:10.00)) {
  1088.                     #if SAVE_LOG == true
  1089.                     //Save File
  1090.                         static
  1091.                             strins_[128],
  1092.                             strins_name[MAX_PLAYER_NAME]
  1093.                         ;
  1094.                         GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1095.                         format(strins_, sizeof(strins_), "%s usou speed-hack", strins_name);
  1096.                         CriarLog_Cheats("UsaramSpeedHack", strins_);
  1097.                     #endif
  1098.                     //busted
  1099.                     CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSPEED_HACK_1);
  1100.                 }
  1101.             }
  1102.             else {
  1103.                 s[2] *= s[2];
  1104.                 if(floatsqroot(s[0]+s[1]+s[2])* Float:174.0 > (MaxVehicleSpeed[GetVehicleModel(GetPlayerVehicleID(playerid))]+ Float:10.00)) {
  1105.                     #if SAVE_LOG == true
  1106.                     //Save File
  1107.                         static
  1108.                             strins_[128],
  1109.                             strins_name[MAX_PLAYER_NAME]
  1110.                         ;
  1111.                         GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1112.                         format(strins_, sizeof(strins_), "%s usou speed-hack", strins_name);
  1113.                         CriarLog_Cheats("UsaramSpeedHack", strins_);
  1114.                     #endif
  1115.                     //busted
  1116.                     CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONSPEED_HACK_2);
  1117.                 }
  1118.             }
  1119.         }
  1120.         diff = GetTickCount() - p_AirBrkCheck[playerid][LastMeasured];
  1121.         switch(OnState) {
  1122.             case PLAYER_STATE_ONFOOT: {
  1123.                 GetPlayerVelocity(playerid, VEC[0], VEC[1], VEC[2]);
  1124.                 GetPlayerPos(playerid, p_AirBrkCheck[playerid][newX], p_AirBrkCheck[playerid][newY], p_AirBrkCheck[playerid][newZ]);
  1125.                 Checks[2] = GetPlayerSurfingObjectID(playerid) == INVALID_OBJECT_ID;
  1126.                 if(VEC[2] >= Float:-0.00535) { 
  1127.                     if(p_SkipNextAB[playerid]) {
  1128.                         SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1129.                         SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]);
  1130.                         Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.00001) && !IsPlayerInRangeOfPoint(playerid, Float:15.0, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY],p_AirBrkCheck[playerid][newZ]);
  1131.                         p_SkipNextAB[playerid] = false;
  1132.                     }
  1133.                     else {
  1134.                         SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY]))+((p_AirBrkCheck[playerid][newZ] - p_AirBrkCheck[playerid][lastZ])*(p_AirBrkCheck[playerid][newZ] - p_AirBrkCheck[playerid][lastZ])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1135.                         SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]+VEC[2]*VEC[2]);
  1136.                         Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.00001) && !IsPlayerInRangeOfPoint(playerid, Float:15.0, p_AirBrkCheck[playerid][lastX],p_AirBrkCheck[playerid][lastY],p_AirBrkCheck[playerid][lastZ]);  
  1137.                     }
  1138.                 }
  1139.                 else {
  1140.                     SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1141.                     SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]);
  1142.                     Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.00001) && !IsPlayerInRangeOfPoint(playerid, Float:15.0, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY], p_AirBrkCheck[playerid][newZ]);
  1143.                     p_SkipNextAB[playerid] = true;
  1144.                 }
  1145.                 Checks[1] = SPEEDx >= Float:15.0 && SPEEDu < Float:0.33000;
  1146.                 p_AirBrkCheck[playerid][LastMeasured] = GetTickCount();
  1147.                 p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX];
  1148.                 p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY];
  1149.                 p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ];
  1150.                 if((Checks[0] && Checks[2]) ||  (Checks[1] && Checks[2])) {
  1151.                     if(Checks[0] && Checks[1]) {
  1152.                         if(SPEEDx < Float:9000.0) {
  1153.                             if(SPEEDx < Float:250.0) {
  1154.                                 //AIRBREAK
  1155.                                 #if SAVE_LOG == true
  1156.                                 //Save File
  1157.                                     static
  1158.                                         strins_[128],
  1159.                                         strins_name[MAX_PLAYER_NAME]
  1160.                                     ;
  1161.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1162.                                     format(strins_, sizeof(strins_), "%s usou airbreak", strins_name);
  1163.                                     CriarLog_Cheats("UsaramAirbreakHack", strins_);
  1164.                                 #endif
  1165.                                 //busted
  1166.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAK_HACK_1);
  1167.                             }
  1168.                             else {
  1169.                                 //CARTELE
  1170.                                 #if SAVE_LOG == true
  1171.                                 //Save File
  1172.                                     static
  1173.                                         strins_[128],
  1174.                                         strins_name[MAX_PLAYER_NAME]
  1175.                                     ;
  1176.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1177.                                     format(strins_, sizeof(strins_), "%s usou car tele", strins_name);
  1178.                                     CriarLog_Cheats("UsaramTeleCarHack", strins_);
  1179.                                 #endif
  1180.                                 //busted
  1181.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAKCAR_HACK_1);
  1182.                             }
  1183.                         }
  1184.                     }
  1185.                     else {
  1186.                         if(SPEEDx < Float:9000.0) {
  1187.                             if(SPEEDx < Float:250.0) {
  1188.                                 //AIRBREAK
  1189.                                 #if SAVE_LOG == true
  1190.                                 //Save File
  1191.                                     static
  1192.                                         strins_[128],
  1193.                                         strins_name[MAX_PLAYER_NAME]
  1194.                                     ;
  1195.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1196.                                     format(strins_, sizeof(strins_), "%s usou airbreak hack", strins_name);
  1197.                                     CriarLog_Cheats("UsaramAirbreakHack", strins_);
  1198.                                 #endif
  1199.                                 //busted
  1200.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAK_HACK_2);
  1201.                             }
  1202.                             else {
  1203.                                 //CARTELE
  1204.                                 #if SAVE_LOG == true
  1205.                                 //Save File
  1206.                                     static
  1207.                                         strins_[128],
  1208.                                         strins_name[MAX_PLAYER_NAME]
  1209.                                     ;
  1210.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1211.                                     format(strins_, sizeof(strins_), "%s usou car tele", strins_name);
  1212.                                     CriarLog_Cheats("UsaramTeleCarHack", strins_);
  1213.                                 #endif
  1214.                                 //busted
  1215.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAKCAR_HACK_2);
  1216.                             }
  1217.                         }
  1218.                     }
  1219.                 }
  1220.                 break;
  1221.             }
  1222.             case PLAYER_STATE_DRIVER: {
  1223.                 GetVehicleVelocity(GetPlayerVehicleID(playerid), VEC[0], VEC[1], VEC[2]);
  1224.                 GetVehiclePos(GetPlayerVehicleID(playerid), p_AirBrkCheck[playerid][newX], p_AirBrkCheck[playerid][newY], p_AirBrkCheck[playerid][newZ]);
  1225.                 Checks[2] = GetPlayerSurfingObjectID(playerid) == INVALID_OBJECT_ID;
  1226.                 if(VEC[2] >= Float:-0.00535) { 
  1227.                     if(p_SkipNextAB[playerid]) {
  1228.                         SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1229.                         SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]);
  1230.                         Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.00001) && !IsPlayerInRangeOfPoint(playerid, Float:20.0, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY], p_AirBrkCheck[playerid][newZ]);
  1231.                         p_SkipNextAB[playerid] = false;
  1232.                     }
  1233.                     else {
  1234.                         SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY]))+((p_AirBrkCheck[playerid][newZ] - p_AirBrkCheck[playerid][lastZ])*(p_AirBrkCheck[playerid][newZ] - p_AirBrkCheck[playerid][lastZ])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1235.                         SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]+VEC[2]*VEC[2]);
  1236.                         Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.00001) && !IsPlayerInRangeOfPoint(playerid, Float:20.0, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY], p_AirBrkCheck[playerid][lastZ]);    
  1237.                     }
  1238.                 }
  1239.                 else {
  1240.                     SPEEDx = (((floatsqroot(((p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX])*(p_AirBrkCheck[playerid][newX] - p_AirBrkCheck[playerid][lastX]))+((p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])*(p_AirBrkCheck[playerid][newY] - p_AirBrkCheck[playerid][lastY])))/((diff/1000)+Float:0.0001)))+Float:0.000000000000001);
  1241.                     SPEEDu = floatsqroot(VEC[0]*VEC[0]+VEC[1]*VEC[1]);
  1242.                     Checks[0] = ((SPEEDu/SPEEDx)*Float:100.0 < Float:0.001) && !IsPlayerInRangeOfPoint(playerid, Float:20.0, p_AirBrkCheck[playerid][lastX], p_AirBrkCheck[playerid][lastY], p_AirBrkCheck[playerid][newZ]);
  1243.                     p_SkipNextAB[playerid] = true;
  1244.                 }
  1245.                 Checks[1] = SPEEDx >= Float:75.0 && SPEEDu < Float:0.40000;
  1246.                 p_AirBrkCheck[playerid][LastMeasured] = GetTickCount();
  1247.                 p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX];
  1248.                 p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY];
  1249.                 p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ];
  1250.                 if((Checks[0] && Checks[2]) ||  (Checks[1] && Checks[2])) {
  1251.                     if(Checks[0] && Checks[1]) {
  1252.                         if(SPEEDx < Float:9000.0) {
  1253.                             if(SPEEDx < Float:250.0) {
  1254.                                 //CARAIRBREAK
  1255.                                 #if SAVE_LOG == true
  1256.                                 //Save File
  1257.                                     static
  1258.                                         strins_[128],
  1259.                                         strins_name[MAX_PLAYER_NAME]
  1260.                                     ;
  1261.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1262.                                     format(strins_, sizeof(strins_), "%s usou airbreak hack", strins_name);
  1263.                                     CriarLog_Cheats("UsaramAirbreakHack", strins_);
  1264.                                 #endif
  1265.                                 //busted
  1266.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAK_HACK_3);
  1267.                             }
  1268.                             else {
  1269.                                 //CARTELE
  1270.                                 #if SAVE_LOG == true
  1271.                                 //Save File
  1272.                                     static
  1273.                                         strins_[128],
  1274.                                         strins_name[MAX_PLAYER_NAME]
  1275.                                     ;
  1276.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1277.                                     format(strins_, sizeof(strins_), "%s usou car tele", strins_name);
  1278.                                     CriarLog_Cheats("UsaramTeleCarHack", strins_);
  1279.                                 #endif
  1280.                                 //busted
  1281.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAKCAR_HACK_3);
  1282.                             }
  1283.                         }
  1284.                     }
  1285.                     else {
  1286.                         if(SPEEDx < Float:9000.0) {
  1287.                             if(SPEEDx < Float:250.0) {
  1288.                                 //AIRBREAK
  1289.                                 #if SAVE_LOG == true
  1290.                                 //Save File
  1291.                                     static
  1292.                                         strins_[128],
  1293.                                         strins_name[MAX_PLAYER_NAME]
  1294.                                     ;
  1295.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1296.                                     format(strins_, sizeof(strins_), "%s usou airbreak hack", strins_name);
  1297.                                     CriarLog_Cheats("UsaramAirbreakHack", strins_);
  1298.                                 #endif
  1299.                                 //busted
  1300.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAK_HACK_4);
  1301.                             }
  1302.                             else {
  1303.                                 //CARTELE
  1304.                                 #if SAVE_LOG == true
  1305.                                 //Save File
  1306.                                     static
  1307.                                         strins_[128],
  1308.                                         strins_name[MAX_PLAYER_NAME]
  1309.                                     ;
  1310.                                     GetPlayerName(playerid, strins_name, sizeof(strins_name));
  1311.                                     format(strins_, sizeof(strins_), "%s usou car tele", strins_name);
  1312.                                     CriarLog_Cheats("UsaramTeleCarHack", strins_);
  1313.                                 #endif
  1314.                                 //busted
  1315.                                 CallLocalFunction(#OnPlayerControllingCheat, #ii, playerid, PLAYER_ONBREAKCAR_HACK_4);
  1316.                             }
  1317.                         }
  1318.                     }
  1319.                     break;
  1320.                 }
  1321.                 break;
  1322.             }
  1323.         }
  1324.     }
  1325.     return 1;
  1326. }
  1327.  
  1328. //stocks
  1329. stock _isPlayerUsingSwimAnimEx(playerid) { // By Synchro
  1330.     if(IsPlayerInAnyVehicle(playerid) || GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return false;
  1331.     static
  1332.         _animlibEx[32],
  1333.         _animnameEx[32]
  1334.     ;
  1335.     GetAnimationName(GetPlayerAnimationIndex(playerid), _animlibEx, 32, _animnameEx, 32);
  1336.     if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_GLIDE", true))           return true;
  1337.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_BREAST", true))     return true;
  1338.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_CRAWL", true))      return true;
  1339.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_DIVE_UNDER", true)) return true;
  1340.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_DIVE_GLIDE", true)) return true;
  1341.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_UNDER", true))      return true;
  1342.     else if(!strcmp(_animlibEx, "SWIM", true) && !strcmp(_animnameEx, "SWIM_TREAD", true))      return true;
  1343.     return false;
  1344. }
  1345.  
  1346. stock _isPlayerInWaterEx(playerid) { // Junior
  1347.     static
  1348.         Float:POS[3]
  1349.     ;
  1350.     GetPlayerPos(playerid, POS[0], POS[1], POS[2]);
  1351.     if((POS[0] >= -1408.0629 && POS[1] >= 2021.0587 && POS[0] <= -460.9319 && POS[1] <= 2861.4893) ||
  1352.     (POS[0] >= 1269.5886 && POS[1] >= -810.4507 && POS[0] <= 1288.8916 && POS[1] <= -800.5959) ||
  1353.     (POS[0] >= 1086.6010 && POS[1] >= -683.6998 && POS[0] <= 1103.0225 && POS[1] <= -662.1832) ||
  1354.     (POS[0] >= 169.6879 && POS[1] >= -1392.6630 && POS[0] <= 281.5444 && POS[1] <= -1168.9749) ||
  1355.     (POS[0] >= -828.3018 && POS[1] >= -2107.1487 && POS[0] <= -443.5032 && POS[1] <= -1855.6273) ||
  1356.     (POS[0] >= 1198.9982 && POS[1] >= -2407.0581 && POS[0] <= 1275.7397 && POS[1] <= -2341.6262) ||
  1357.     (POS[0] >= 2293.1467 && POS[1] >= -1432.5869 && POS[0] <= 2331.7388 && POS[1] <= -1397.6476) ||
  1358.     (POS[0] >= 1915.3196 && POS[1] >= -1236.2382 && POS[0] <= 2016.6565 && POS[1] <= -1167.9290) ||
  1359.     (POS[0] >= -2747.1692 && POS[1] >= -510.1152 && POS[0] <= -2663.2468 && POS[1] <= -411.4905) ||
  1360.     (POS[0] >= 1838.8041 && POS[1] >= 1463.2024 && POS[0] <= 2035.4167 && POS[1] <= 1703.0480) ||
  1361.     (POS[0] >= 2049.6646 && POS[1] >= 1843.3029 && POS[0] <= 2119.9021 && POS[1] <= 1983.5464) ||
  1362.     (POS[0] >= 2094.9255 && POS[1] >= 1085.2852 && POS[0] <= 2179.1790 && POS[1] <= 1183.0610) ||
  1363.     (POS[0] >= 2545.3718 && POS[1] >= 2347.7112 && POS[0] <= 2593.6794 && POS[1] <= 2403.8040)) return true;
  1364.     return false;
  1365. }
  1366.  
  1367. stock CriarLog_Cheats(_LogNameEx[], _TextEx[]) {
  1368.     #if SAVE_LOG == true
  1369.         static
  1370.             File:_entry,
  1371.             _other[128],
  1372.             _strlog[128],
  1373.             _year,
  1374.             _month,
  1375.             _day,
  1376.             _hour,
  1377.             _minute,
  1378.             _second
  1379.         ;
  1380.         getdate(_year, _month, _day);
  1381.         gettime(_hour, _minute, _second);
  1382.         format(_other, sizeof(_other), INVALID_FILE, _LogNameEx);
  1383.         _entry = fopen(_other, io_append);
  1384.         if(fexist(_other)) {
  1385.             if(flength(_entry) > 262144) { //-- Arquivo grande..
  1386.                 fclose(_entry);
  1387.                 static
  1388.                     _arqStr[128]
  1389.                 ;
  1390.                 format(_arqStr, sizeof(_arqStr), "%s_%i-%i-%i_%i.%i.%i.txt", _other, _year, _month, _day, _hour, _minute, _second);
  1391.                 _frenameEx(_other, _arqStr);
  1392.                 _entry = fopen(_other, io_append);
  1393.             }
  1394.         }
  1395.         format(_strlog, sizeof(_strlog), "[%d.%d.%d %d:%d:%d] %s\r\n", _day, _month, _year, _hour, _minute, _second, _TextEx);
  1396.         fwrite(_entry, _strlog);
  1397.         fclose(_entry);
  1398.     #endif
  1399.     return true;
  1400. }
  1401.  
  1402. stock _frenameEx(_oldnameEx[], _newnameEx[]) {
  1403.     if(!fexist(_oldnameEx)) return false;
  1404.     fremove(_newnameEx);
  1405.     if(!_fcopyEx(_oldnameEx, _newnameEx)) return false;
  1406.     fremove(_oldnameEx);
  1407.     return true;
  1408. }
  1409.  
  1410. stock _fcopyEx(_oldnameEx[], _newnameEx[]) {
  1411.     static
  1412.         File:_OHND,
  1413.         File:_NHND
  1414.     ;
  1415.     if(!fexist(_oldnameEx)) return false;
  1416.     _OHND = fopen(_oldnameEx, io_read);
  1417.     _NHND = fopen(_newnameEx, io_write);
  1418.     static
  1419.         _BUF[1]
  1420.     ;
  1421.     static
  1422.         i
  1423.     ;
  1424.     for(i = flength(_OHND); i > 0; i--) {
  1425.         fputchar(_NHND, fgetchar(_OHND, _BUF[0], false), false);
  1426.     }
  1427.     fclose(_OHND);
  1428.     fclose(_NHND);
  1429.     return true;
  1430. }
  1431.  
  1432. stock _GivePlayerMoneyEx(playerid, amount) {
  1433.     ResetPlayerMoney(playerid);
  1434.     SetPVarInt(playerid, #registerMoney, GetPVarInt(playerid, #registerMoney) + amount);
  1435.     if(GetPVarInt(playerid, #registerMoney) > GetPVarInt(playerid, #registermaxMoney)) SetPVarInt(playerid, #registermaxMoney, GetPVarInt(playerid, #registerMoney));
  1436.     return GivePlayerMoney(playerid, GetPVarInt(playerid, #registerMoney));
  1437. }
  1438. #if defined _ALS_GivePlayerMoney
  1439.     #undef GivePlayerMoney
  1440. #else
  1441.     #define _ALS_GivePlayerMoney
  1442. #endif
  1443. #define GivePlayerMoney _GivePlayerMoneyEx
  1444.  
  1445. stock _ResetPlayerMoneyEx(playerid) {
  1446.     return DeletePVar(playerid, #registerMoney), DeletePVar(playerid, #registermaxMoney), ResetPlayerMoney(playerid);
  1447. }
  1448. #if defined _ALS_ResetPlayerMoney
  1449.     #undef ResetPlayerMoney
  1450. #else
  1451.     #define _ALS_ResetPlayerMoney
  1452. #endif
  1453. #define ResetPlayerMoney _ResetPlayerMoneyEx
  1454.  
  1455. stock _SetPlayerScoreEx(playerid, score) {
  1456.     SetPVarInt(playerid, #registerScore, score);
  1457.     if(GetPVarInt(playerid, #registerScore) > GetPVarInt(playerid, #registermaxScore)) SetPVarInt(playerid, #registermaxScore, GetPVarInt(playerid, #registerScore));
  1458.     return SetPlayerScore(playerid, GetPVarInt(playerid, #registerScore));
  1459. }
  1460. #if defined _ALS_SetPlayerScore
  1461.     #undef SetPlayerScore
  1462. #else
  1463.     #define _ALS_SetPlayerScore
  1464. #endif
  1465. #define SetPlayerScore _SetPlayerScoreEx
  1466.  
  1467. stock _PutPlayerInVehicleEx(playerid, vehicleid, seatid) {
  1468.     if(playerid < 0 || playerid >= MAX_PLAYERS) return 0;
  1469.     if(vehicleid < 0 || vehicleid >= MAX_VEHICLES) return 0;
  1470.     static
  1471.         Float:POSs[3]
  1472.     ;
  1473.     GetVehiclePos(vehicleid, POSs[0], POSs[1], POSs[2]);
  1474.     SetPlayerPos(playerid, POSs[0], POSs[1], POSs[2]);
  1475.     p_VehicleEnterTime[playerid] -= (g_MassTpDelay+1);
  1476.    
  1477.     p_AirBrkCheck[playerid][newX] = POSs[0];
  1478.     p_AirBrkCheck[playerid][newY] = POSs[1];
  1479.     p_AirBrkCheck[playerid][newZ] = POSs[2];
  1480.     p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX] + Float:0.2;
  1481.     p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY] + Float:0.2;
  1482.     p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ] + Float:0.2;
  1483.    
  1484.     p_IsInVehicle[playerid] = vehicleid;
  1485.     v_PlayerInVehicle[p_IsInVehicle[playerid]] = playerid;
  1486.     return PutPlayerInVehicle(playerid, vehicleid, seatid);
  1487. }
  1488. #if defined _ALS_PutPlayerInVehicle
  1489.     #undef PutPlayerInVehicle
  1490. #else
  1491.     #define _ALS_PutPlayerInVehicle
  1492. #endif
  1493. #define PutPlayerInVehicle _PutPlayerInVehicleEx
  1494.  
  1495. stock _SetPlayerPosEx(playerid, Float:x, Float:y, Float:z) {
  1496.     p_AirBrkCheck[playerid][newX] = x;
  1497.     p_AirBrkCheck[playerid][newY] = y;
  1498.     p_AirBrkCheck[playerid][newZ] = z;
  1499.     p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX] + Float:0.2;
  1500.     p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY] + Float:0.2;
  1501.     p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ] + Float:0.2;
  1502.     return SetPlayerPos(playerid, x, y, z);
  1503. }
  1504. #if defined _ALS_SetPlayerPos
  1505.     #undef SetPlayerPos
  1506. #else
  1507.     #define _ALS_SetPlayerPos
  1508. #endif
  1509. #define SetPlayerPos _SetPlayerPosEx
  1510.  
  1511. stock _SetPlayerPosFindZEx(playerid, Float:x, Float:y, Float:z) {
  1512.     p_AirBrkCheck[playerid][newX] = x;
  1513.     p_AirBrkCheck[playerid][newY] = y;
  1514.     p_AirBrkCheck[playerid][newZ] = z;
  1515.     p_AirBrkCheck[playerid][lastX] = p_AirBrkCheck[playerid][newX] + Float:0.2;
  1516.     p_AirBrkCheck[playerid][lastY] = p_AirBrkCheck[playerid][newY] + Float:0.2;
  1517.     p_AirBrkCheck[playerid][lastZ] = p_AirBrkCheck[playerid][newZ] + Float:0.2;
  1518.     return SetPlayerPosFindZ(playerid, x, y, z);
  1519. }
  1520. #if defined _ALS_SetPlayerPosFindZ
  1521.     #undef SetPlayerPosFindZ
  1522. #else
  1523.     #define _ALS_SetPlayerPosFindZ
  1524. #endif
  1525. #define SetPlayerPosFindZ _SetPlayerPosFindZEx
  1526.  
  1527. stock _SetVehiclePosEx(vehicleid, Float:x, Float:y, Float:z) {
  1528.     if(v_PlayerInVehicle[vehicleid] != (-1)) {
  1529.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newX] = x;
  1530.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newY] = y;
  1531.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newZ] = z;
  1532.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][lastX] = p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newX] + Float:0.2;
  1533.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][lastY] = p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newY] + Float:0.2;
  1534.         p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][lastZ] = p_AirBrkCheck[v_PlayerInVehicle[vehicleid]][newZ] + Float:0.2;
  1535.     }
  1536.     return SetVehiclePos(vehicleid, x, y, z);
  1537. }
  1538. #if defined _ALS_SetVehiclePos
  1539.     #undef SetVehiclePos
  1540. #else
  1541.     #define _ALS_SetVehiclePos
  1542. #endif
  1543. #define SetVehiclePos _SetVehiclePosEx
  1544.  
  1545. stock _GivePlayerWeaponEx(playerid, weaponid, ammo) {
  1546.     static
  1547.         strins_weap[13]
  1548.     ;
  1549.     format(strins_weap, sizeof(strins_weap), "weap%d", _GetWeaponSlotEx(weaponid));
  1550.     SetPVarInt(playerid, strins_weap, weaponid);
  1551.     return GivePlayerWeapon(playerid, weaponid, ammo);
  1552. }
  1553. #if defined _ALS_GivePlayerWeapon
  1554.     #undef GivePlayerWeapon
  1555. #else
  1556.     #define _ALS_GivePlayerWeapon
  1557. #endif
  1558. #define GivePlayerWeapon _GivePlayerWeaponEx
  1559.  
  1560. stock _ResetPlayerWeaponEx(playerid) {
  1561.     static
  1562.         str_weap[13]
  1563.     ;
  1564.     for(new x = 0; x < 13; x++) {
  1565.         format(str_weap, sizeof(str_weap), "weap%d", x);
  1566.         DeletePVar(playerid, str_weap);
  1567.     }
  1568.     return ResetPlayerWeapons(playerid);
  1569. }
  1570. #if defined _ALS_ResetPlayerWeapons
  1571.     #undef ResetPlayerWeapons
  1572. #else
  1573.     #define _ALS_ResetPlayerWeapons
  1574. #endif
  1575. #define ResetPlayerWeapons _ResetPlayerWeaponEx
  1576.  
  1577. stock _GetWeaponSlotEx(weaponid) { // By Hiddos
  1578.     static
  1579.         _slotEx
  1580.     ;
  1581.     switch(weaponid) {
  1582.         case 0, 1:          _slotEx = 0;
  1583.         case 2 .. 9:        _slotEx = 1;
  1584.         case 10 .. 15:      _slotEx = 10;
  1585.         case 16 .. 18, 39:  _slotEx = 8;
  1586.         case 22 .. 24:      _slotEx = 2;
  1587.         case 25 .. 27:      _slotEx = 3;
  1588.         case 28, 29, 32:    _slotEx = 4;
  1589.         case 30, 31:        _slotEx = 5;
  1590.         case 33, 34:        _slotEx = 6;
  1591.         case 35 .. 38:      _slotEx = 7;
  1592.         case 40:            _slotEx = 12;
  1593.         case 41 .. 43:      _slotEx = 9;
  1594.         case 44 .. 46:      _slotEx = 11;
  1595.     }
  1596.     return _slotEx;
  1597. }
  1598.  
  1599. stock _registerIPEx(playerid) {
  1600.     static
  1601.         getip[16]
  1602.     ;
  1603.     GetPlayerIp(playerid, getip, sizeof(getip));
  1604.     return getip;
  1605. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement