Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Не могу сделать проверку на администрацию в античите.

Статус
В этой теме нельзя размещать новые ответы.

Andrey008

Дебютант
PHP:
 public AntiCheat()
{
    new string[144], Keys, ud, lr;
 	/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    new Float: health, Float: arm;
  	/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
    foreach(new i : Player)
	{
	    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
	    if(!GetPVarInt(i, "IsAuthed")) return 1;
	    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
	    new vehicle = GetPlayerVehicleID(i);
	    /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// money hack
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		if(GetPlayerMoney(i) > PlayerInfo[i][pCash]) ResetPlayerMoney(i), GivePlayerMoney(i, PlayerInfo[i][pCash]);
		else PlayerInfo[i][pCash] = GetPlayerMoney(i);
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// health hack
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		GetPlayerHealth(i, health);
		if(PlayerHealth[i] < health) SetPlayerHealth(i, PlayerHealth[i]);
		else PlayerHealth[i] = health;
		if(arm > 100) GivePlayerHealthServer(i, 100);
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// armor hack
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		GetPlayerArmour(i, arm);
		if(arm < Armour[i]) Armour[i] = arm;
		if(arm > Armour[i]) Armour[i] = 0, SetPlayerArmour(i, 0), RemovePlayerAttachedObject(i, 3);
		if(arm > 100) GivePlayerArmorServer(i, 100);
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// AirBreak, teleport, fly, jail, rest in peace, jet pack
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
 		if(!IsPlayerInAnyVehicle(i))
		{
			if(TeleportTime[i] > 0) TeleportTime[i]--;
			GetPlayerPos(i, TelePos[i][3], TelePos[i][4], TelePos[i][5]);
			if(TelePos[i][5] > 550.0)
			{
				TelePos[i][0] = 0.0;
				TelePos[i][1] = 0.0;
			}
			if(TelePos[i][0] != 0.0)
			{
				new Float:xdist = TelePos[i][3]-TelePos[i][0];
				new Float:ydist = TelePos[i][4]-TelePos[i][1];
				new Float:sqxdist = xdist*xdist;
				new Float:sqydist = ydist*ydist;
				new Float:distance = (sqxdist+sqydist)/31;
				if(distance < 2000 && distance > 200 && TeleportTime[i] == 0 && realafk[i] == 0 && GetPlayerState(i) != PLAYER_STATE_SPECTATING)
				{
				    format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] использует fly (AirBreak)/SWIM без машины (%.0f mp/h)", getpl(i), i, distance);
				    ABroadCast(-1 ,string, 1);
				}
				if(distance > 2000 && TeleportTime[i] == 0 && realafk[i] == 0 && GetPlayerState(i) != PLAYER_STATE_SPECTATING)
				{
				    format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] использует teleport без машины (%.0f mp/h)", getpl(i), i, distance);
				    ABroadCast(-1, string, 1);
				}
				if(PlayerInfo[i][pJailed] == 1)
				{
					if(!IsPlayerInJail(i)) {
						format(string, sizeof(string), ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] подозрение на побег из тюрьмы. (оставшийся срок: %d секунд)-(%.0f mp/h).", getpl(i), i, PlayerInfo[i][pJailTime], distance);
						ABroadCast(-1, string, 1);
					}
				}
				if (GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)
				{
				    format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] использует JetPack cheat (%.0f mp/h)", getpl(i), i, distance);
				    ABroadCast(-1, string, 1);
				}
			}
			if(TelePos[i][5] < 550.0 && TelePos[i][3] != 0.0)
			{
				TelePos[i][0] = TelePos[i][3];
				TelePos[i][1] = TelePos[i][4];
			}
		}
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// speed-hack, tp in vehicle
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  		if(GetPlayerState(i) == 2)
  		{
			GetVehiclePos(vehicle, TelePos[i][3], TelePos[i][4], TelePos[i][5]);
			if(TelePos[i][5] > 550.0)
			{
				TelePos[i][0] = 0.0;
				TelePos[i][1] = 0.0;
			}
			if(TelePos[i][0] != 0.0)
			{
				new Float:xdist = TelePos[i][3]-TelePos[i][0];
				new Float:ydist = TelePos[i][4]-TelePos[i][1];
				new Float:sqxdist = xdist*xdist;
				new Float:sqydist = ydist*ydist;
				new Float:distance = (sqxdist+sqydist)/31;
				GetPlayerKeys(i, Keys, ud, lr);
				if(Keys & 4)
				{
					if(!IsAPlane(vehicle))
					{
						if(distance > 175.0)
						{
							format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] возможно использует speedhack (%.0f mp/h)", getpl(i), i, distance);
							ABroadCast(-1, string, 1);
						}
					}
				}
				if(distance > 8000 && Teleport[i] == 0)
				{
					if(!IsAPlane(vehicle))
					{
					    format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] использует teleport в машине (%.0f mp/h)", getpl(i), i, distance);
					    ABroadCast(-1, string, 1);
					}
				}
			}
			if(TelePos[i][5] < 550.0 && TelePos[i][3] != 0.0)
			{
				TelePos[i][0] = TelePos[i][3];
				TelePos[i][1] = TelePos[i][4];
			}
		}
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		// weapon hack
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  		new weap = GetPlayerWeapon(i);
		if(weap != 0 && !Weapons[i][weap] && weap != 40)
		{
		    if(!GetPVarInt(i, "AC_NoFloodMessage"))
		    {
			    format(string, 256, ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] — %s[%d], использует чит на оружые (Weapon cheat).", getpl(i), i, WeaponNames[weap], weap);
			    ABroadCast(-1, string, 1);
			    SetPVarInt(i, "AC_NoFloodMessage", 1);
		    }
		}
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
		/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
	}
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	printf("Component Added: %d", componentid);
    if(GetPlayerInterior(playerid) == 0)
    {
    	new string[144];
		format(string, sizeof(string), ""color_yellow"[***ANTI-CHEAT]: "color_white"%s[%d] подозрение на Tuning cheat.", getpl(playerid), playerid);
		ABroadCast(-1, string, 1), RemoveVehicleComponent(vehicleid, componentid);
	}
	return 1;
}

stock SpeedVehicle(playerid) 
{
    new Float:ST[4];
	if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid), ST[0], ST[1], ST[2]);
	else GetPlayerVelocity(playerid, ST[0], ST[1], ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 213.3;
    return floatround(ST[3]);
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу