do onplayerupdate
if(GetPlayerCameraMode(playerid) == 53)
{
new Float:kLibPos[3];
GetPlayerCameraPos(playerid, kLibPos[0], kLibPos[1], kLibPos[2]);
if ( kLibPos[2] < -50000.0 || kLibPos[2] > 50000.0 )
{
BanAc(playerid, -1, "AntyCheat : Invalid aim data");
return 0;
}
}
do onvehiclemod
switch(componentid)
{
case 1008..1010:
{
if(IsPlayerInInvalidNosVehicle(playerid))
{
RemoveVehicleComponent(vehicleid, componentid);
BanAc(playerid, -1, sprintf("Invalid NOS (compid:%d, vid: %d)", componentid, vehicleid));
}
}
}
if(!IsComponentidCompatible(GetVehicleModel(vehicleid), componentid))
{
RemoveVehicleComponent(vehicleid, componentid);
BanAc(playerid, -1, sprintf("Invalid component (compid:%d, vid: %d)", componentid, vehicleid));
}
BanAc(playerid, -1, "Force mod shop tune");
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
BanAc(playerid, -1, "Force paintjob");
DeleteVehicle(vehicleid, false);
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
BanAc(playerid, -1, "Force color change");
DeleteVehicle(vehicleid, false);
return 1;
}
onplayerweaponshot
if(!IsPlayerInAnyVehicle(playerid))
{
if(weaponid != 0 && GetPlayerWeapon(playerid) != GetPVarInt(playerid, "weaping") && !pInfo[playerid][player_shooting] || GetPVarInt(playerid, "weaping") == 0 && weaponid != 0 && !pInfo[playerid][player_shooting])
{
format(String, sizeof(String), "No item shot (w: %d)", weaponid);
KickAc(playerid, -1, String);
return 1;
}
}
if(weaponid == 38 || weaponid == 37 || weaponid == 36 || weaponid == 39 || weaponid == 35)
{
format(String, sizeof(String), "Restricted weap shot (w: %d)", weaponid);
BanAc(playerid, -1, String);
return 1;
}
new String[64];
if( hittype != BULLET_HIT_TYPE_NONE )
{
if( !( -20.0 <= fX <= 20.0 ) || !( -20.0 <= fY <= 20.0 ) || !( -20.0 <= fZ <= 20.0 ) )
{
KickAc(playerid, -1, "Invalid bullet");
return 0;
}
if( !( -1000.0 <= fX <= 1000.0 ) || !( -1000.0 <= fY <= 1000.0 ) || !( -1000.0 <= fZ <= 1000.0 ) )
{
KickAc(playerid, -1, "Invalid bullet (second)");
return 0;
}
}
if(Vehicle[vehicleid][vehicle_damaged] == false && Vehicle[vehicleid][vehicle_occupants] == 0 && Vehicle[vehicleid][vehicle_last_used] == 0)
{
if(killerid != INVALID_PLAYER_ID)
{
KickAc(killerid, -1, "Vehicle killer");
Vehicle[vehicleid][vehicle_health] = 1000.0;
SetVehicleHealth(vehicleid, 1000);
return 1;
}
}
onplayertakedmg
if(issuerid != INVALID_PLAYER_ID)
{
if(pInfo[playerid][player_parachute] == 0 && GetPlayerWeapon(issuerid) != 0 && GetPlayerWeapon(issuerid) != GetPVarInt(issuerid, "weaping") || pInfo[playerid][player_parachute] == 0 && GetPVarInt(issuerid, "weaping") == 0 && GetPlayerWeapon(issuerid) != 0)
{
if(GetPlayerWeaponAmmo(issuerid, weaponid)==0)
{
SetPVarInt(issuerid, "weaping", 0);
SetPVarInt(issuerid, "taser", 0);
return 0;
}
new String[64];
format(String, sizeof(String), "AntyCheat: invalid weapon damage (w: %d)", GetPlayerWeapon(issuerid));
KickAc(issuerid, -1, String);
return 0;
}
if(GetPlayerVehicleSeat(issuerid) == 1 || GetPlayerVehicleSeat(issuerid) == 2 || GetPlayerVehicleSeat(issuerid) == 3)
{
new wslots = GetWeaponSlot(weaponid);
if(wslots != -1)
{
if(issuerid != INVALID_PLAYER_ID)
{
if(pWeapon[issuerid][wslots][pw_itemid] == -1 )
{
new String[64];
format(String, sizeof(String), "AntyCheat: No item DB (w: %d, seat: %d)", GetPlayerWeapon(issuerid), GetPlayerVehicleSeat(issuerid));
KickAc(issuerid, -1, String);
return 0;
}
}
}
}
}
onplayerstatechange
if(GetVehicleDriver(vid) == INVALID_PLAYER_ID || GetVehicleDriver(vid) == playerid)
{
KickAc(playerid, -1, "Nieautoryzowane wejscie (force)");
}