public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
if( hittype != BULLET_HIT_TYPE_NONE ) // Bullet Crashing uses just this hittype
{
if( !( -1000.0 <= fX <= 1000.0 ) || !( -1000.0 <= fY <= 1000.0 ) || !( -1000.0 <= fZ <= 1000.0 ) ) // a valid offset, it's impossible that a offset bigger than 1000 is legit (also less than -1000.0 is impossible, not used by this hack, but still, let's check for it, just for the future, who knows what hacks will appear). The object with biggest offset is having ~700-800 radius.
{
BanExWithMessage(playerid, 0xFF0000FF, "You have been banned!", "Crashing");
return 0; // let's desynchronize that bullet, so players won't crash
}
}
return 1;
}
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
if(hittype != BULLET_HIT_TYPE_NONE) {
if((fX <= -1000.0 || fX >= 1000.0) || (fY <= -1000.0 || fY >= 1000.0) || (fZ <= -1000.0 || fZ >= 1000.0) || (hittype < 0 || hittype > 4)) {
return Kick(playerid);
}
}
else {
if (weaponid <= 0 || weaponid > 46) return 0; // Kick(playerid);
}
return 1;
}
#include <a_samp> public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) { if(!((22 <= weaponid <= 34) || weaponid == 38)) Kick(playerid); return 1; }
Код:
#include <a_samp> public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) { if(!((22 <= weaponid <= 34) || weaponid == 38)) Kick(playerid); return 1; } |