16.01.2015, 23:08
(
Last edited by Matite; 29/01/2015 at 09:17 AM.
Reason: Added more info
)
"Vehicle component crasher" = Add code to OnVehicleMod to check if the component being synced is not valid for the vehicle (return 0 if it is bad). Look for a post by JernejL with this code.
"Bullet crasher (Player)" = Add code to OnPlayerWeaponShot to check the type of shot. If the player is shooting themselves (not possible) then do not sync it (return 0). If the bullet hit location is outside what would be considered a normal range then do not sync it (return 0). If the bullet hit location is INF or NaN then kick/ban and do not sync it (return 0). Look for code on the forum to do this if you need more help.
"Bullet crasher (Vehicle)" = Same as above for "Bullet crasher (Weapon)".
"Train crasher" = Add code to OnPlayerUpdate or a timer that checks the train and trams Z position. If it is outside the range of -10 to 100 then it is not valid. In OnPlayerUpdate you could de-sync this data (return 0) or in a timer you could alert admins and kick/ban the player.
"Attached object crasher" = Add code to OnPlayerEditAttachedObject to check the model ID returned is valid. You should not attach an object in this callback using the model ID that is returned... it should be stored in a variable elsewhere when the player first starts editing the attached object.
Update 1:
"Weapon crasher" = Use GetPlayerCameraPos to check the Z value when aiming or shooting. If it is really high or low then kick/ban the player.
"Train crasher v2" = Check the velocity of the train/tram is not really high.
Update 2:
"Bike crasher v2" = Use OnPlayerStateChange to detect rapid changes from on foot to driver and driver to on foot. Credit to Tamer.
As Kalcor mentioned in his announcement thread these exploits are all patched in SA-MP 0.3.7.
"Bullet crasher (Player)" = Add code to OnPlayerWeaponShot to check the type of shot. If the player is shooting themselves (not possible) then do not sync it (return 0). If the bullet hit location is outside what would be considered a normal range then do not sync it (return 0). If the bullet hit location is INF or NaN then kick/ban and do not sync it (return 0). Look for code on the forum to do this if you need more help.
"Bullet crasher (Vehicle)" = Same as above for "Bullet crasher (Weapon)".
"Train crasher" = Add code to OnPlayerUpdate or a timer that checks the train and trams Z position. If it is outside the range of -10 to 100 then it is not valid. In OnPlayerUpdate you could de-sync this data (return 0) or in a timer you could alert admins and kick/ban the player.
"Attached object crasher" = Add code to OnPlayerEditAttachedObject to check the model ID returned is valid. You should not attach an object in this callback using the model ID that is returned... it should be stored in a variable elsewhere when the player first starts editing the attached object.
Update 1:
"Weapon crasher" = Use GetPlayerCameraPos to check the Z value when aiming or shooting. If it is really high or low then kick/ban the player.
"Train crasher v2" = Check the velocity of the train/tram is not really high.
Update 2:
"Bike crasher v2" = Use OnPlayerStateChange to detect rapid changes from on foot to driver and driver to on foot. Credit to Tamer.
As Kalcor mentioned in his announcement thread these exploits are all patched in SA-MP 0.3.7.