Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Панелька античита v0.1 - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Панелька античита v0.1 Античит от nex-ac Оценка: -----

#1
Пользователь офлайн   killerpawn 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию


Приветствую уважаемые скриптеры!
Выкладываю свою первую работу - "Панель настройки античита"




И так, после того как подключили Nex-AC

Вставляем где находятся все переменные:

const 
    MAX_ANTICHEAT_STRLEAN = 45,      // Максимальная длина названия чита.
    MAX_ANTICHEAT_COUNT = 53;        // Максимальное кол-во античитов.

static 
    nameAntiCheat[][MAX_ANTICHEAT_STRLEAN] = 
    {
        {"AirBreak (onfoot)"},{"AirBreak (in vehicle)"},{"Teleport hack (onfoot)"},{"Teleport hack (in vehicle)"},{"Teleport hack (into/between vehicles)"},
	{"Teleport hack (vehicle to player)"},{"Teleport hack (pickups)"},{"FlyHack (onfoot)"},{"FlyHack (in vehicle)"},
	{"SpeedHack (onfoot)"},{"SpeedHack (in vehicle)"},{"Health hack (in vehicle)"},{"Health hack (onfoot)"},{"Armour hack"},{"Money hack"},
	{"Weapon hack"},{"Ammo hack (add)"},{"Ammo hack (infinite)"},{"Special actions hack"},{"GodMode from bullets (onfoot)"},
	{"GodMode from bullets (in vehicle)"},{"Invisible hack"},{"Lagcomp-spoof"},{"Tuning hack"},{"Parkour mod"},{"Quick turn"},
	{"Rapid fire"},{"FakeSpawn"},{"FakeKill"},{"Pro Aim"},{"CJ run"},{"CarShot"},{"CarJack"},{"UnFreeze"},{"
AFK Ghost"},{"Full Aiming"},
	{"Fake NPC"},{"Reconnect"},{"High ping"},{"Dialog hack"},{"Protection from sandbox"},{"Protection from invalid version"},
	{"Rcon hack"},{"Tuning crasher"},{"Invalid seat crasher"},{"Dialog crasher"},{"Attached object crasher"},{"Weapon Crasher"},
	{"Protection from connection flood in one slot"},{"Callback functions flood"},{"Flood by seat changing"},{"DoS"},{"NOPs"}
    };




Создаем новый паблик:

forward OnCheatDetected(playerid, ip_address[], type, code);
public OnCheatDetected(playerid, ip_address[], type, code)
{
    if type *then
    {
        #if defined BlockIpAddress
            BlockIpAddress(ip_address, 0);
	#else
	    static ac_strtmp[32];
	    format(ac_strtmp, sizeof ac_strtmp, "banip %s", ip_address);
	    SendRconCommand(ac_strtmp);
        #endif
    }
    else
    {
        switch(code)
	{
            case 40: SendClientMessage(playerid, AC_DEFAULT_COLOR, MAX_CONNECTS_MSG);
	    case 41: SendClientMessage(playerid, AC_DEFAULT_COLOR, UNKNOWN_CLIENT_MSG);
	    default:
	    {
	        static const 
	            s_kick[] = "Вы были кикнуты за использование: %s {afafaf}[Code: #%03i]";

	        new 
		    format_kick[sizeof s_kick + (-2+MAX_ANTICHEAT_STRLEAN) + (-2+5)];

		format(format_kick, sizeof format_kick, s_kick, nameAntiCheat[code], code);

		SendClientMessage(playerid, 0xe3734bFF, format_kick);
		SendClientMessage(playerid, 0x5bd4a5FF, !"Если Вас кикнуло по ошибке, сообщите нам forum.test-rp.ru");
	    }
        }
	AntiCheatKickWithDesync(playerid, code);
    }
    return 1;
}



В паблик OnDialogResponse добавляем:

        case 11111:
        {
	    if !response *then
	        return 1;

	    return 
	        IsAntiCheatEnabled(listitem) ? EnableAntiCheat(listitem, false) : EnableAntiCheat(listitem, true),
		ShowSettingAntiCheat(playerid);
	}



Создаем команду:

cmd:anticheat(playerid)
    return ShowSettingAntiCheat(playerid);



Создаем новый сток:

stock ShowSettingAntiCheat(playerid)
{
    new 
        str[(32 + (-2+MAX_ANTICHEAT_STRLEAN) + (-2+18))*MAX_ANTICHEAT_COUNT];

    for(new i; i < MAX_ANTICHEAT_COUNT; i++)
        format(
            str, 
            sizeof str, 
            "\
                %s{e3734b}[%i] {ffffff}%s  %s\n\
            ",
            str,
            i, 
            nameAntiCheat[i],
            IsAntiCheatEnabled(i) ? ("{87b565}[Включен]") : ("{c7511a}[Выключен]")
        );

    return 
        ShowPlayerDialog(playerid, 11111, DIALOG_STYLE_LIST, !"{e3734b}Настройки античита", str, !"Изменить", !"Закрыть");
}


Скриншот:
Изображение


Сообщение отредактировал killerpawn: 16 мая 2021 - 19:38

6

#2
Пользователь офлайн   Maks5 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
Здравствуйте, у вас ошибка в названии константы:
MAX_ANTICHEAT_STRLEAN
Должно быть:
MAX_ANTICHEAT_STRLEN

Также, вместо типа диалога DIALOG_STYLE_LIST я бы рекомендовал использовать DIALOG_STYLE_TABLIST либо DIALOG_STYLE_TABLIST_HEADERS.

Сообщение отредактировал Maks5: 17 мая 2021 - 07:21

1

#3
Пользователь офлайн   Aspects 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Щас поставлю, попробую +rep
0

#4
Пользователь офлайн   Aspects 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Знатоки подскажите что делать
"Из логов сервера"
[debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[debug] Stack pointer (STK) is 0x1C15BF4, heap pointer (HEA) is 0x1C1677C
[debug] AMX backtrace:
[debug] #0 007a646c in main (playerid=0, 29452152) at C:\Users\Дмитрий\Desktop\Aspects Rolelplay\gamemodes\aspects.pwn:53468

Строка 53468

cmd:anticheat(playerid)
{
if(pData[playerid][pAdmin] < 7) return 1;
return ShowSettingAntiCheat(playerid); <---- Строка 53468
}

0

#5
Пользователь офлайн   zazais 

  • Знаток
  • Вставить ник
  • Раскрыть информацию
Не удаляйте плиз я пойже это заберу себе, выглядит топово
0

#6
Пользователь офлайн   wenstony 

  • Местный
  • Вставить ник
  • Раскрыть информацию
Хорошая работа, Олег
0

#7
Пользователь офлайн   MDarklight 

  • Местный
  • Вставить ник
  • Раскрыть информацию
А сохраняться оно как будет? Некс вроде не сохраняет настройки. Самому сохранение башлять?
0

#8
Пользователь офлайн   Romzes 

  • © Pawn-Wiki.Ru
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияMDarklight (19 мая 2021 - 21:03) писал:

А сохраняться оно как будет? Некс вроде не сохраняет настройки. Самому сохранение башлять?


Сохранение нужно делать отдельно
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика