[Include] [INC] Weapon Anticheat
#1

Посмотрел я тут другие форумы и убедился. 99% Античитов здесь - фекалии.

Вот нормально, хоть и частично работающий античит на оружие. На патроны сделаете сами, кому надо. На патроны не делал, т.к код будет содержать много лишнего.


Добавляем переменные. MP - предполагаемое количество игроков на сервере.

Код:
#define MP 5

new PlayerWeapons[MP][46];
new iPlayerWeapon[MP];
new iNewPlayerWeapon[MP];
new iPlayerAmmo[MP];
new iNewPlayerAmmo[MP];
Добавляем функции куда-нибудь.
Код:
//---------------------------------------------------------------------------------------------

GivePlayerWeaponUAC(playerid,id,ammo)
{
PlayerWeapons[playerid][0] = 1;
PlayerWeapons[playerid][id] = 1;
if(id == 39) { PlayerWeapons[playerid][40] = 1; }
GivePlayerWeapon(playerid,id,ammo);
return 1;
}

//---------------------------------------------------------------------------------------------

ResetPlayerWeaponsUAC(playerid)
{
for(new i = 0; i < 46; i++)
{
PlayerWeapons[playerid][i] = 0;
}
PlayerWeapons[playerid][0] = 1;
ResetPlayerWeapons(playerid);
return 1;
}

//---------------------------------------------------------------------------------------------
Меняем все функции выдачи и сброса оружий на мои аналоги.
Также в конец OnPlayerDisconnect и в начало OnPlayerSpawn и OnPlayerDeath добавляем

Код:
ResetPlayerWeaponsUAC(playerid);
Заменяем функцию OnPlayerUpdate

Код:
public OnPlayerUpdate(playerid)
{
if(IsPlayerConnected(playerid))
{
iNewPlayerAmmo[playerid] = GetPlayerAmmo(playerid);
if(iNewPlayerAmmo[playerid] != iPlayerAmmo[playerid])
{
OnPlayerAmmoChange(playerid, iNewPlayerAmmo[playerid], iPlayerAmmo[playerid]);
iPlayerAmmo[playerid] = iNewPlayerAmmo[playerid];
}
iNewPlayerWeapon[playerid] = GetPlayerWeapon(playerid);
if(iNewPlayerWeapon[playerid] != iPlayerWeapon[playerid])
{
OnPlayerWeaponChange(playerid, iNewPlayerWeapon[playerid], iPlayerWeapon[playerid]);
iPlayerWeapon[playerid] = iNewPlayerWeapon[playerid];
}
}
return 1;
}
Добавляем функции:

Код:
forward OnPlayerAmmoChange(playerid, newammo, oldammo);
public OnPlayerAmmoChange(playerid, newammo, oldammo)
{
if(newammo == 0)
{
PlayerWeapons[playerid][GetPlayerWeapon(playerid)] = 0;
}
return 1;
}

//---------------------------------------------------------------------------------------------

forward OnPlayerWeaponChange(playerid, newweapon, oldweapon);
public OnPlayerWeaponChange(playerid, newweapon, oldweapon)
{
new string[128];
if(PlayerWeapons[playerid][newweapon] == 0 && GetPlayerWeapon(playerid) != 0)
{
format(string,128, "%s (%d) был кикнут. Читерство на оружие - %s.",GetName(playerid),playerid,aWeaponNames[newweapon]);
SendClientMessageToAll(COLOR_RED,string);
Kick(playerid);
}
return 1;
}
Массив aWeaponsNames возьмите из фильтрскрипта debug. Функцию GetName найдите тоже где нибудь.

Внимание! Этот античит прокатит только на те моды, где есть своя система аммуниций. Но по мне, ради такого стоит её сделать. Свою не даю, потому что я жид. И при подборе пикапа с оружием, выдавайте игроку тоже оружие что он подбирает, но только с нулём патронов.
Reply


Messages In This Thread
[INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 11:57
Re: [INC] Weapon Anticheat - by ONIXS - 26.03.2010, 14:58
Re: [INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 15:06
Re: [INC] Weapon Anticheat - by ONIXS - 26.03.2010, 15:33
Re: [INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 16:19
Re: [INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 16:53
Re: [INC] Weapon Anticheat - by slikki - 26.03.2010, 20:26
Re: [INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 21:11
Re: [INC] Weapon Anticheat - by ONIXS - 26.03.2010, 21:23
Re: [INC] Weapon Anticheat - by slikki - 26.03.2010, 21:42
Re: [INC] Weapon Anticheat - by ^Woozie^ - 26.03.2010, 22:39
Re: [INC] Weapon Anticheat - by ONIXS - 26.03.2010, 23:42
Re: [INC] Weapon Anticheat - by Manyack - 09.07.2010, 10:59
Re: [INC] Weapon Anticheat - by Manyack - 10.07.2010, 10:45
Re: [INC] Weapon Anticheat - by Maggi - 10.07.2010, 11:11
Re: [INC] Weapon Anticheat - by DANGER1979 - 14.07.2010, 12:58
Re: [INC] Weapon Anticheat - by slikki - 14.07.2010, 15:12
Re: [INC] Weapon Anticheat - by Maggi - 17.07.2010, 18:01
Re: [INC] Weapon Anticheat - by Stepashka - 17.07.2010, 18:06
Re: [INC] Weapon Anticheat - by Romanius - 17.07.2010, 18:38
Re: [INC] Weapon Anticheat - by Maggi - 19.07.2010, 08:14
Re: [INC] Weapon Anticheat - by Maggi - 22.07.2010, 22:34
Re: [INC] Weapon Anticheat - by [Saint] - 23.07.2010, 03:55
Re: [INC] Weapon Anticheat - by Maggi - 23.07.2010, 10:09

Forum Jump:


Users browsing this thread: 4 Guest(s)