Что делает данный античит он защищает вас от GodMode так же если игрок сделал себе здоровье или броню его выкинет с сервера,так же работает от NOP SetPlayerHealth и Armour
Так же прикрывает NOP OnPlayerGiveDamage (( работает только в том случае если стреляют в игрока ))
Как бы смысл в том если включить GM и совместить чит с NOP OnPlayerGiveDamage NOP SetPlayerHealth то здоровье не будет у игрока отниматься но его выкинет с сервера
Так же здоровье будет оставаться тем которое было при заходе на сервер
Не работает чит Новый Anti GM для самп 0.3.7
в pInfo добавляем
Код
pHealth,
pArmour,
AntiHPBron,
В секундный таймер (( таймер который обновляется каждую секунду )) добавляем
Код
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 добавляем
Код
PlayerInfo[playerid][pHealth] = 100;
PlayerInfo[playerid][pArmour] = 0;
для сохранения (( если Mysql то делаем под себя ))
Код
ini_setInteger(iniFile, "Heal", PlayerInfo[playerid][pHealth]);
ini_setInteger(iniFile, "Arma", PlayerInfo[playerid][pArmour]);
для загрузки (( если Mysql то делаем под себя ))
Код
ini_getInteger(iniFile, "Heal", PlayerInfo[playerid][pHealth]);
ini_getInteger(iniFile, "Arma", PlayerInfo[playerid][pArmour]);
SetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
SetPlayerArmour(playerid,PlayerInfo[playerid][pArmour]);
далее в колбек
Код
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;
}
в конец мода
Код
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 функции что бы не искать НОП
да и я предупреждаю с этим античитом стрельба будет по скину а не по пингу