Advertisement
Voke_Bass

Anti-Cheat Fly and Swim Hack [UPDATED 2020-12-17]

Jun 24th, 2019 (edited)
846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.29 KB | None | 0 0
  1. //Updated 2020-12-17 | Rewiews: 150
  2. //Created by Vok3 | more: https://pastebin.com/u/Voke_Bass
  3.  
  4. #define FlySpeed 40 //If it exceeds the speed
  5. #define FlyTimer 2 //Within a few seconds the player position is restored
  6.  
  7. new PlayerSwiming[MAX_PLAYERS];
  8. new Float:PlayerSwimPos[MAX_PLAYERS][3];
  9.  
  10. public OnPlayerSpawn(playerid)
  11. {
  12.     SetTimerEx("SetPlayerPosition", FlyTimer*1000, true, "i", playerid);
  13.     return 1;
  14. }
  15.  
  16. public OnPlayerUpdate(playerid)
  17. {
  18.     new PlayerAnimation = GetPlayerAnimationIndex(playerid);
  19.     new PlayerAnimationLib[30], PlayerAnimationName[30];
  20.  
  21.     GetAnimationName(PlayerAnimation, PlayerAnimationLib, sizeof(PlayerAnimationLib), PlayerAnimationName, sizeof(PlayerAnimationName));
  22.  
  23.     if(GetPlayerSpeed(playerid) > FlySpeed)
  24.     {
  25.         if(strcmp(PlayerAnimationLib, "PARACHUTE", true) == 0) { PlayerFlying(playerid); }
  26.         if(strcmp(PlayerAnimationLib, "SWIM", true) == 0) { PlayerSurfing(playerid); }
  27.         if(strcmp(PlayerAnimationLib, "SWIM_crawl", true) == 0) { PlayerSurfing(playerid); }
  28.     }
  29.     return 1;
  30. }
  31.  
  32. forward SetPlayerPosition(playerid);
  33. public SetPlayerPosition(playerid)
  34. {
  35.     new Float:Position[3];
  36.     GetPlayerPos(playerid, Position[0], Position[1], Position[2]);
  37.  
  38.     if(PlayerSwiming[playerid] == 2)
  39.     {
  40.         SetPlayerPos(playerid, PlayerSwimPos[playerid][0], PlayerSwimPos[playerid][1], PlayerSwimPos[playerid][2]);
  41.         PlayerSwiming[playerid] = 0;
  42.     }
  43.     if(PlayerSwiming[playerid] == 1)
  44.     {
  45.         PlayerSwimPos[playerid][0] = Position[0];
  46.         PlayerSwimPos[playerid][1] = Position[1];
  47.         PlayerSwimPos[playerid][2] = Position[2];
  48.         PlayerSwiming[playerid] = 2;
  49.     }
  50.     return 1;
  51. }
  52.  
  53. stock PlayerFlying(playerid)
  54. {
  55.     new Float:Position[3];
  56.     GetPlayerPos(playerid, Position[0], Position[1], Position[2]);
  57.     SetPlayerPos(playerid, Position[0], Position[1], Position[2]);
  58.     return 1;
  59. }
  60.  
  61. stock PlayerSurfing(playerid)
  62. {
  63.     if(PlayerSwiming[playerid]) return 1;
  64.     PlayerSwiming[playerid] = 1;
  65.     return 1;
  66. }
  67.  
  68. stock GetPlayerSpeed(playerid)
  69. {
  70.     new Float: Position[4];
  71.     GetPlayerVelocity(playerid, Position[0], Position[1], Position[2]);
  72.     Position[3] = floatsqroot(floatpower(floatabs(Position[0]), 2.0) + floatpower(floatabs(Position[1]), 2.0) + floatpower(floatabs(Position[2]), 2.0)) * 213.3;
  73.     return floatround(Position[3]);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement