19.09.2010, 19:59
I've seen in some servers the automatic detection of airbreak.. I wonder how to do it..
Thanks guys
Thanks guys
//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(); 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 } } } }