[FilterScript] [FS] Anti-Airbreak Proof of Concept ( Using MapAndreas plugin )
#1

This is a simple proof of concept anti-airbreak that I made. It works by getting the players Z position, and if it is a certain distance higher than the ground height, then you can do something.

An issue I couldn't figure out for the time, is that if a player goes off a massive jump, or jumps off a massivly high building, then they will be above the ground like a hacker would be. This issue makes this just a proof of concept.

Note: This filterscript requires the MapAndreas plugin. It also requires the foreach include.

Code:
//Simple Anti-Airbreak
//If the player is more than 10 meters above the ground, and not in a vehicle, then ban the player.
//(More than 100 meters off the ground for all non-planes/helis) - Player could go off jumps
#pragma tabsize 0

#include <a_samp>
#include <mapandreas>
#include <foreach> 	// ForEach Loop
#include "../include/gl_common.inc"

forward AirBreak();

public OnFilterScriptInit()
{
	print("\nAnti-AirBreak Loaded\n");
	MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
	SetTimer("AirBreak", 2900, true);
	return 1;
}

IsVehicleAir(playerid, vehicleid)
{
	vehicleid = GetPlayerVehicleID(playerid);
	switch(GetVehicleModel(vehicleid))
	{
		case 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513, 548, 425, 417, 487, 488, 498, 563, 447, 469: return true;
	}
	return false;
}

public AirBreak()
{
	foreach (Player, i)
	{
  		new Float:X, Float:Y, Float:Z, Float:ZM, Float:difference;
		GetPlayerPos(i,X,Y,Z); //Get the players position
	 	MapAndreas_FindZ_For2DCoord(X,Y,ZM); //Gets the max Z cord
		difference = Z-ZM;
		
	 	if(!IsVehicleAir(i, GetPlayerVehicleID(i)))
		{
  			if (difference > 100 && GetPlayerState(i) == PLAYER_STATE_PASSENGER || GetPlayerState(i) == PLAYER_STATE_DRIVER)
			{
				//Do something here, like send a warning to admins or ban the player
			}
			//If players Z cord is more than 100 meters above the ground
			if(difference > 10 && GetPlayerState(i) == PLAYER_STATE_ONFOOT)
			{
				//Do something here, like send a warning to admins or ban the playe
			}
		}
	}
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)