Доступ к готовым решениям

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

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

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

Анти GM + HP + Броня + Сохранение жизней

Dezmont_Mailz

Умник
Что делает данный античит он защищает вас от GodMode так же если игрок сделал себе здоровье или броню его выкинет с сервера,так же работает от NOP SetPlayerHealth и Armour
Так же прикрывает NOP OnPlayerGiveDamage (( работает только в том случае если стреляют в игрока ))
Как бы смысл в том если включить GM и совместить чит с NOP OnPlayerGiveDamage NOP SetPlayerHealth то здоровье не будет у игрока отниматься но его выкинет с сервера
Так же здоровье будет остоваться тем которое было при заходе на сервер
Не работает чит Новый Anti GM для самп 0.3.7

в pInfo добовляем

PHP:
pHealth,
    pArmour,
AntiHPBron,

В секндный таймер (( таймер который обновляется каждую секунду )) добовляем

PHP:
if(GetPlayerState(i) != PLAYER_STATE_SPECTATING)
		{
			if(health > PlayerInfo[i][pHealth] && gettime() > PlayerInfo[i][AntiHPBron])
			{
				KickEx(i,COLOR_LIGHTRED,"Вы были кикнуты по подозрению в читерстве");
				return 1;
			}
			else
			{
			    PlayerInfo[i][pHealth] = floatround(health, floatround_round);
				if(PlayerInfo[i][pHealth] > 100) PlayerInfo[i][pHealth] = 100;
				else if(PlayerInfo[i][pHealth] < 0) PlayerInfo[i][pHealth] = 0;
			}
			if(Armour > PlayerInfo[i][pArmour] && gettime() > PlayerInfo[i][AntiHPBron])
			{
				KickEx(i,COLOR_LIGHTRED,"Вы были кикнуты по подозрению в читерстве");
				return 1;
			}
			else
			{
			    PlayerInfo[i][pArmour] = floatround(Armour, floatround_round);
				if(PlayerInfo[i][pArmour] > 100) PlayerInfo[i][pArmour] = 100;
				else if(PlayerInfo[i][pArmour] < 0) PlayerInfo[i][pArmour] = 0;
			}
   		}
в OnPlayerConnect добовляем

PHP:
PlayerInfo[playerid][pHealth] = 100;
    PlayerInfo[playerid][pArmour] = 0;
для сохранения (( если Mysql то делаем под себя ))

PHP:
ini_setInteger(iniFile, "Heal", PlayerInfo[playerid][pHealth]);
ini_setInteger(iniFile, "Arma", PlayerInfo[playerid][pArmour]);
для загрузки (( если Mysql то делаем под себя ))

PHP:
ini_getInteger(iniFile, "Heal", PlayerInfo[playerid][pHealth]);
ini_getInteger(iniFile, "Arma", PlayerInfo[playerid][pArmour]);
SetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
	SetPlayerArmour(playerid,PlayerInfo[playerid][pArmour]);
далее в колбек

PHP:
public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid)
{
    new string[8];
	if(PlayerInfo[damagedid][pArmour] > 0)
	{
	    if(amount > PlayerInfo[damagedid][pArmour])
	    {
	        new Float:dmg = amount - PlayerInfo[damagedid][pArmour];
			PlayerInfo[damagedid][pHealth] -= dmg;
            SetPlayerArmorAC(damagedid, 0.0);
            SetPlayerHealthAC(damagedid, PlayerInfo[damagedid][pHealth]);
			format(string, sizeof(string), "- %.0f hp",dmg);
			SetPlayerChatBubble(damagedid, string, -1, 30.0, 5000);
            return 1;
        }
        PlayerInfo[damagedid][pArmour] -= amount;
        SetPlayerArmorAC(damagedid, PlayerInfo[damagedid][pArmour]);
 	}
 	else
 	{
 	    PlayerInfo[damagedid][pHealth] -= amount;
		SetPlayerHealthAC(damagedid, PlayerInfo[damagedid][pHealth]);
		format(string, sizeof(string), "- %.0f hp", amount);
		SetPlayerChatBubble(damagedid, string, -1, 30.0, 5000);
	}
	return 1;
}
в конец мода
PHP:
stock SetPlayerHealthAC(playerid,Float:Health)
{
    HPTime(playerid,3);
    PlayerInfo[playerid][pHealth] = floatround(Health, floatround_round);
	SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
	return 1;
}
stock SetPlayerArmorAC(playerid,Float:Armor)
{
    HPTime(playerid,3);
    PlayerInfo[playerid][pArmour] = floatround(Armor, floatround_round);
	SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
	return 1;
}
stock HPTime(playerid,extra)
{
    PlayerInfo[playerid][AntiHPBron]=gettime()+extra;
    return 1;
}

А теперь все SetPlayerHealth и SetPlayerArmour меняем на SetPlayerHealthAC и SetPlayerArmorAC остовляем только в паблике для логина где я написал выше для загрузки

Работает без ложных всё нормально так же совмещали GM + NOP SetPlayerHealth + NOP OnPlayerGiveDamage жизни не отнимаются при совмещение но кикает с сервера
Тестировали совместно с NOP SetPlayerHealth + GM здоровье не уходит но кикает с сервера
Тестировали совместно c NOP OnPlayerGiveDamage + GM здоровье полностью уходит
Тестировали не совмещая все 3 чита а по отдельности не одна из NOP не спасает и GM не работает,здоровье полностью уходит
Тестировали на новом Anti GM для samp 0.3.7 здоровье не уходит но кикает с сервера

в самп 0.3.7 есть чит Новый анти GM
Так вот в этом чите и есть функции NOP OnPlayerGiveDamage + NOP SetPlayerHealth + NOP SetPlayerArmour + обычный GM
Но не волнуйтесь как я писал выше он выкинет игрока по которому стреляют и у него не уходят жизни так что будет работать против нового Анти ГМ
Смысл в том что было тяжело совмещать раньше НОПЫ с обычным ГМ поэтому они придумали просто чит Новый от Anti GM который кокраз и закрывает за одно нажатия 3 функции что бы не искать НОП
да и я предупреждаю с этим античитом стрельба будет по скину а не по пингу
 
Последнее редактирование:
Сверху Снизу