SHARE
TWEET

Untitled

a guest Feb 16th, 2020 81 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //  Yo como tengo el GM modular está scripteado de una manera distinta.
  2. // > Expulsar por si el retrasado(no tiene otro nombre) comienza a usar la mierda, la manera más simple.
  3.  
  4. forward public Ac_OnPlayerStateChange(playerid, newstate, oldstate);
  5. public Ac_OnPlayerStateChange(playerid, newstate, oldstate)
  6. {
  7.     if(!Jugador[playerid][Admin])// > Si no es admin, para evitar cosas.
  8.     {
  9.         if(GetPVarInt(playerid, "AC_EnterVehicle") != GetPlayerVehicleID(playerid))
  10.         {
  11.             // > Acá le tengo un mensaje personalizado de que fue expulsado por el anticheat, tu ves que haces.
  12.             Kick(playerid);
  13.         }
  14.     }
  15.     return 1;
  16. }
  17.  
  18. public OnPlayerStateChange(playerid, newstate, oldstate)
  19. {
  20.     if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  21.     {
  22.         Ac_OnPlayerStateChange(playerid, newstate, oldstate);
  23.     }
  24.     return 1;
  25. }
  26.  
  27. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  28. {
  29.     SetPVarInt(playerid, "AC_EnterVehicle", vehicleid);
  30. }
  31.  
  32. public OnPlayerExitVehicle(playerid, vehicleid)
  33. {
  34.     DeletePVar(playerid, "AC_EnterVehicle");
  35. }
  36. ¡¡¡¡!IMPORTANTE!¡¡¡¡¡ CADA VEZ QUE USES "LinkVehicleToInterior" debes poner antes de dicha función; SetPVarInt(playerid, "AC_EnterVehicle", vehicleid); si no SERÁ EXPULSADO FALSAMENTE.
  37.  
  38. // > Ahora esto de acá es mágico, te devuelve los vehículos a su posición si los sacan a volar, así el cheater no puede joder.
  39.  
  40. AutoOcupado_(VehID)
  41. {
  42.      foreach(new Jugadores_: Player)
  43.      {
  44.           if(!IsPlayerConnected(Jugadores_)) continue;
  45.           if(GetPlayerVehicleID(Jugadores_) == VehID && GetPlayerState(Jugadores_) == PLAYER_STATE_DRIVER) return 1;
  46.      }
  47.      return 0;
  48. }
  49.  
  50. public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z)
  51. {
  52.     if(!IsValidVehicle(vehicleid)) return 0;
  53.     if(AutoOcupado_(vehicleid) == 1) return 0;
  54.     new Float:VehPos_X, Float:VehPos_Y, Float:VehPos_Z;
  55.     GetVehiclePos(vehicleid, VehPos_X, VehPos_Y, VehPos_Z);
  56.     if(GetVehicleDistanceFromPoint(vehicleid, new_x, new_y, new_z) > 5)
  57.     {
  58.         SetVehiclePos(vehicleid, VehPos_X, VehPos_Y, VehPos_Z);
  59.         return 0;
  60.     }
  61.     new Float:JugadorVelDis_;
  62.     JugadorVelDis_ = floatmul(floatsqroot(floatadd(floatadd(floatpower(vel_x, 2), floatpower(vel_y, 2)), floatpower(vel_z, 2))), 170.0);
  63.  
  64.     new Velocidad_ = floatround(JugadorVelDis_ * 1);
  65.     if(Velocidad_ > 5 && passenger_seat > 0)
  66.     {
  67.         SetVehiclePos(vehicleid, VehPos_X, VehPos_Y, VehPos_Z);
  68.         return 0;
  69.     }
  70.     if(passenger_seat == 0)
  71.     {
  72.         if(Velocidad_ > 25)
  73.         {
  74.             SetVehiclePos(vehicleid, VehPos_X, VehPos_Y, VehPos_Z);
  75.             return 0;
  76.         }
  77.     }
  78.     return 1;
  79. }
  80.  
  81. public OnTrailerUpdate(playerid, vehicleid)
  82. {
  83.     return 0;
  84. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top