Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement