[Include] Anti Armour Cheat
#1

подключение необходимых инклудов для работы анти чита

pawn Code:
#include <a_samp>
#include <a_players>
#include <time>
создаём новую переменную

pawn Code:
new Float: PlayerArmour[MAX_PLAYERS]; // переменная в которой хранится бронь
создаём новые функции

pawn Code:
stock SetPlayerArmourAC(playerid, Float:armour)
{
    PlayerArmour[playerid] = armour;
    SetPlayerArmour(playerid, armour);
    return 1;
}

stock GetPlayerArmourAC(playerid, &Float:armour)
{
    armour = PlayerArmour[playerid];
    return 1;
}
функция анти чита

pawn Code:
stock AntiArmourCheat()
{
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
        if (IsPlayerConnected(i) && !IsPlayerNPC(i))
        {
            new Float: arm;
            GetPlayerArmour(i, arm);
            if (arm < PlayerArmour[i]) return SetPlayerArmourAC(i, arm);
            if (arm > PlayerArmour[i])
            {
                new string[256];
                new year, month,day;
                getdate(year, month, day);
                new hour, minuite, second;
                gettime(hour, minuite, second);
                new name[MAX_PLAYER_NAME];
                GetPlayerName(playerid, name, sizeof(name));
                format(string, sizeof(string), "SERVER: %s был вышвырнут с сервера! Причина: Использование Читов: Armour! | [%d/%d/%d | %d:%d]", name, day, month, year, hour, minuite);
                SendClientMessageToAll(0xFF0000FF, string);
                Kick(i);
            }
        }
    }
    return 1;
}
анти чит готов, теперь осталось подключить его в ваш мод и настроить.

в налало мода для замены всех стандартных функций на новые из анти чита.
pawn Code:
#define SetPlayerArmour SetPlayerArmourAC
#define GetPlayerArmour GetPlayerArmourAC
cоздаём новый секундный, повторяющийся таймер в OnGameModeInit для работы анти чита
pawn Code:
SetTimer("AntiCheat", 1000, 1);
создаём новый public который запускается таймером, в него потом вы можете добавлять другие анти читы.
pawn Code:
forward AntiCheat();
public AntiCheat()
{
    AntiArmourCheat();
}
теперь анти чит полностью работоспособен осталось настроить,
в игре есть такой момент, когда игрок садится в полицейский фургон (енфорсер) на место водителя ему даётся броне жилет, чтобы анти чит не посчитал это за чит вам необходимо использовать данный код:

pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if (newstate == PLAYER_STATE_DRIVER)
    {
        if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 427)
        {
            SetPlayerArmour(playerid, 100.0);
        }
    }
...
теперь о пиках брони.
как создавать пикапы чтобы анти чит не считал их читом.

новая переменная(массив, если пикап не 1) для пикапов....
pawn Code:
new ArmourPickup[3];
pawn Code:
ArmourPickup[0] = CreatePickup(1242, 19, PosX, PosY, PosZ, -1); // обязательно 2й параметр должен быть 19
ArmourPickup[1] = CreatePickup(1242, 19, PosX, PosY, PosZ, -1);
ArmourPickup[2] = CreatePickup(1242, 19, PosX, PosY, PosZ, -1);
подбор пикапов игроком
pawn Code:
public OnPlayerPickUpPickup(playerid, pickupid)
{
    if (pickupid >= ArmourPickup[0] && pickupid <= ArmourPickup[2])
    {
        SetPlayerArmour(playerid, 100.0);
    }
...
ну вот вроде и всё =)
Reply


Messages In This Thread
Anti Armour Cheat - by [Saint] - 22.07.2010, 15:59
Re: Anti Armour Cheat - by Romanius - 22.07.2010, 17:19
Re: Anti Armour Cheat - by [Saint] - 22.07.2010, 17:31
Re: Anti Armour Cheat - by Romanius - 22.07.2010, 17:40
Re: Anti Armour Cheat - by [Saint] - 22.07.2010, 17:44
Re: Anti Armour Cheat - by Romanius - 22.07.2010, 17:52
Re: Anti Armour Cheat - by [Saint] - 22.07.2010, 18:04
Re: Anti Armour Cheat - by DANGER1979 - 23.07.2010, 06:41
Re: Anti Armour Cheat - by ZiGGi - 23.07.2010, 06:44
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 09:01
Re: Anti Armour Cheat - by Romanius - 23.07.2010, 09:05
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 09:08
Re: Anti Armour Cheat - by DANGER1979 - 23.07.2010, 10:33
Re: Anti Armour Cheat - by MX_Master - 23.07.2010, 15:48
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 16:22
Re: Anti Armour Cheat - by MX_Master - 23.07.2010, 16:33
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 16:41
Re: Anti Armour Cheat - by MX_Master - 23.07.2010, 17:37
Re: Anti Armour Cheat - by ZiGGi - 23.07.2010, 18:26
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 18:32
Re: Anti Armour Cheat - by MX_Master - 23.07.2010, 18:39
Re: Anti Armour Cheat - by [Saint] - 23.07.2010, 18:46
Re: Anti Armour Cheat - by MX_Master - 23.07.2010, 19:19
Re: Anti Armour Cheat - by ZiGGi - 24.07.2010, 04:23
Re: Anti Armour Cheat - by Shurik01 - 15.09.2010, 21:20
Re: Anti Armour Cheat - by lost13 - 21.09.2010, 09:53
Re: Anti Armour Cheat - by dimonml - 21.09.2010, 11:53

Forum Jump:


Users browsing this thread: 3 Guest(s)