New cheat (can't be detected)
#1

New cheat do respawn cars, but OnVehicleDeath and OnUnoccupiedVehicleUpdate is not called. How to fix it?

sorry for my english
Reply
#2

Up..
Reply
#3

More Information maybe? Like when/how did you experience this, what happened, etc.
Reply
#4

And are we meant to guess the code?
Reply
#5

Quote:
Originally Posted by Jawz
Посмотреть сообщение
And are we meant to guess the code?
This is getting old. Also, he said is a new Cheat.
Reply
#6

Quote:
Originally Posted by Abagail
Посмотреть сообщение
More Information maybe? Like when/how did you experience this, what happened, etc.
I tested this cheat. Just respawn vehicles without OnVehicleDeath, OnUnoccupiedVehicleUpdate etc. calling
i can give this cheat to beta testers
Reply
#7

If the vehicle respawns, then it would probably call OnVehicleSpawn, not OnVehicleDeath.
Reply
#8

Quote:
Originally Posted by Emmet_
Посмотреть сообщение
If the vehicle respawns, then it would probably call OnVehicleSpawn, not OnVehicleDeath.
And? I can respawn all cars on server, if car occupied even
Reply
#9

That's not a new cheat. I've faced those hackers since 2013, and possibly that cheating tool is older than that. Just what Emmet mentioned, OnVehicleDeath is only called when vehicle health is in exploding situation (burning engine) or already exploded and OnVehicleSpawn is called when the vehicle is re-spawned (it doesn't calls if the vehicle spawns). You can script it quite easily.
Reply
#10

Quote:
Originally Posted by iZN
Посмотреть сообщение
That's not a new cheat. I've faced those hackers since 2013, and possibly that cheating tool is older than that. Just what Emmet mentioned, OnVehicleDeath is only called when vehicle health is in exploding situation (burning engine) or already exploded and OnVehicleSpawn is called when the vehicle is re-spawned (it doesn't calls if the vehicle spawns). You can script it quite easily.
Agreed
Reply
#11

Quote:
Originally Posted by iZN
View Post
That's not a new cheat. I've faced those hackers since 2013, and possibly that cheating tool is older than that. Just what Emmet mentioned, OnVehicleDeath is only called when vehicle health is in exploding situation (burning engine) or already exploded and OnVehicleSpawn is called when the vehicle is re-spawned (it doesn't calls if the vehicle spawns). You can script it quite easily.
Onvehicledeath is called in water too. How to detect this cheat?
Reply
#12

I think maybe TheKillZone is good.
Reply
#13

It's definitely possible to detect this cheat, just like money hacks. If you're using vars correctly you will be able to prevent this. Use a var if you are teleporting a vehicle yourself (like SetVehiclePos) and setting vehicle health, and reset that var after that. Meanwhile, run a timer that checks huge distances between vehicle respawns, and if the var is 0, put the car back to old position.

It's not 100% accurate but you will definitely be able to prevent this cheat a lot.
Reply
#14

Detecing it is just partially useful, as you cant find the player who caused it.
I would constantly store the position and velocity of vehicles, and use a flag that indicates a valid respawn (via script or vehicle death). If position changed with the flag not set, the hack was probably used. Then just restore the old position and velocity, so the effect for the driver and the other players is at least reduced.
If the hack doesnt have much impact on the server, hackers might lose interest in it.
Reply
#15

I think there is a way to detect it but it's heavy and can't detect who is using it (can only alert staff that there is someone using it so they can investigate :/ )

pawn Code:
native IsValidVehicle(vehicleid);// it's better to write this in the a_samp library

enum E_VehInfosFields
{
      bool:IsRespawning,
      //The idea is to integrate this "system" to your current vehicles info' array  :)
}

new gVehInfos[MAX_VEHICLES][E_VehInfosFields],

stock SetVehicleToRespawn_EX(vehID)
{
     if(!IsValidVehicle(vehID))
           return 1;
   
     gVehInfos[vehID][IsRespawning] = true;
     SetVehicleToRespawn(vehID);
     return 0;
}

public OnVehicleSpawn(vehicleid)
{
     if(!gVehInfos[vehID][IsRespawning])
     {
          print("[Anti-Cheat] Vehicle respawn cheat detected");
          //Alert the admins that there is someone cheating - Do it how you want :)
     }
     else
          gVehInfos[vehID][IsRespawning] = false;

     return 1;
}

#define SetVehicleToRespawn(%1) SetVehicleToRespawn_EX(%1)
At least, it can help modos/admins investigating because it's a proof a cheat was used and it give the exact hour the cheat was used.

PS: Sorry for the bad intention but u typed the scripted directly in my web browser to post it
Reply


Forum Jump:


Users browsing this thread: 7 Guest(s)