Niko™
Умник
Добрый вечер, уважаемые пользователи Pawno-info.ru
Сайчас я покажу вам как сделать меню для настройки АнтиЧита
Требуется настройка под ваш AntiCheat
Автор: >_<
Сайчас я покажу вам как сделать меню для настройки АнтиЧита
Требуется настройка под ваш AntiCheat
Автор: >_<
Ко всем командам добавим:
PHP:
CMD:acseting(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] == 6)
{
Acdialog(playerid);
}
}
Далее создадим Stock:
PHP:
stock Acdialog(playerid)
{
new listitems[] = "1. Античит на миниган\n2. Античит на ДБ\n3. Античит на собейт\n4. Античит на джетпак\n5. Античит на ТП по карте\n6. Античит на броню\n7. Античит на СпидХак\n8. Античит на оружие\n\
9. Античит на Fly\n10. Античит на Cleo TP\n11. Античит на ТП в Авто\n12. Античит на КарШот\n13. Античит на аирбрейк\n14. Античит на ограничение пинга\n\t\tANTICHEAT SYSTEM (C) ALTER-RP";
ShowPlayerDialogEx(playerid, ACS, DIALOG_STYLE_LIST, "Настройки античита", listitems, "Выбрать", "Закрыть");
return true;
}
Ко всем #define:
PHP:
#define ACS 9041
Далее создадим диалог:
PHP:
case ACS:
{
if(!response) return true;
switch(listitem)
{
case 0:
{
format(string, sizeof(string), "{ffffff}Античит на миниган. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aMinig]);
ShowPlayerDialogEx(playerid, ACS+1, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 1:
{
format(string, sizeof(string), "{ffffff}Античит на ДБ. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aDB]);
ShowPlayerDialogEx(playerid, ACS+2, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 2:
{
format(string, sizeof(string), "{ffffff}Античит на Собейт. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aSob]);
ShowPlayerDialogEx(playerid, ACS+3, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 3:
{
format(string, sizeof(string), "{ffffff}Античит на Джетпак. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aJet]);
ShowPlayerDialogEx(playerid, ACS+4, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 4:
{
format(string, sizeof(string), "{ffffff}Античит на ТП по карте. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aGO]);
ShowPlayerDialogEx(playerid, ACS+5, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 5:
{
format(string, sizeof(string), "{ffffff}Античит на броню. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aArmo]);
ShowPlayerDialogEx(playerid, ACS+6, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 6:
{
format(string, sizeof(string), "{ffffff}Античит на спидхак. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aSH]);
ShowPlayerDialogEx(playerid, ACS+7, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 7:
{
format(string, sizeof(string), "{ffffff}Античит на оружие. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aGun]);
ShowPlayerDialogEx(playerid, ACS+8, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 8:
{
format(string, sizeof(string), "{ffffff}Античит на fly. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aFly]);
ShowPlayerDialogEx(playerid, ACS+9, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 9:
{
format(string, sizeof(string), "{ffffff}Античит на CleoTP. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aTP]);
ShowPlayerDialogEx(playerid, ACS+10, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 10:
{
format(string, sizeof(string), "{ffffff}Античит на ТП в Авто. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aKCar]);
ShowPlayerDialogEx(playerid, ACS+11, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 11:
{
format(string, sizeof(string), "{ffffff}Античит на Carshot. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aShot]);
ShowPlayerDialogEx(playerid, ACS+12, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 12:
{
format(string, sizeof(string), "{ffffff}Античит на Аирбрейк. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aAir]);
ShowPlayerDialogEx(playerid, ACS+13, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
case 13:
{
format(string, sizeof(string), "{ffffff}Античит на Пинг. Состояние: {9ACD32}%d{ffffff}\n\n{9ACD32}1 {ffffff}включён. {9ACD32}0 {ffffff}выключен.",Ainfo[aPing]);
ShowPlayerDialogEx(playerid, ACS+14, DIALOG_STYLE_INPUT, "Античит", string, "Применить", "Назад");
}
}
}
case ACS+1:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aMinig",price);
Acdialog(playerid);
Ainfo[aMinig] = price;
}
else Acdialog(playerid);
}
case ACS+2:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aDB",price);
Acdialog(playerid);
Ainfo[aDB] = price;
}
else Acdialog(playerid);
}
case ACS+3:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aSob",price);
Acdialog(playerid);
Ainfo[aSob] = price;
}
else Acdialog(playerid);
}
case ACS+4:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aJet",price);
Acdialog(playerid);
Ainfo[aJet] = price;
}
else Acdialog(playerid);
}
case ACS+5:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aGO",price);
Acdialog(playerid);
Ainfo[aGO] = price;
}
else Acdialog(playerid);
}
case ACS+6:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aArmo",price);
Acdialog(playerid);
Ainfo[aArmo] = price;
}
else Acdialog(playerid);
}
case ACS+7:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aSH",price);
Acdialog(playerid);
Ainfo[aSH] = price;
}
else Acdialog(playerid);
}
case ACS+8:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aGun",price);
Acdialog(playerid);
Ainfo[aGun] = price;
}
else Acdialog(playerid);
}
case ACS+9:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aFly",price);
Acdialog(playerid);
Ainfo[aFly] = price;
}
else Acdialog(playerid);
}
case ACS+10:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aTP",price);
Acdialog(playerid);
Ainfo[aTP] = price;
}
else Acdialog(playerid);
}
case ACS+11:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aKCar",price);
Acdialog(playerid);
Ainfo[aKCar] = price;
}
else Acdialog(playerid);
}
case ACS+12:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aShot",price);
Acdialog(playerid);
Ainfo[aShot] = price;
}
else Acdialog(playerid);
}
case ACS+13:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aAir",price);
Acdialog(playerid);
Ainfo[aAir] = price;
}
else Acdialog(playerid);
}
case ACS+14:
{
if(response)
{
new price;
if(sscanf(inputtext, "i",price)) return true;
SetAnti("aPing",price);
Acdialog(playerid);
Ainfo[aPing] = price;
}
else Acdialog(playerid);
}
Далее создадим enum:
PHP:
enum antic
{
aMinig,
aDB,
aSob,
aJet,
aGO,
aArmo,
aSH,
aGun,
aFly,
aTP,
aKCar,
aShot,
aAir,
aPing
}
new Ainfo[antic];
Создадим stock:
PHP:
stock LoadAc()
{
new query[340];
new time = GetTickCount();
mysql_query("SELECT * FROM `"TABLE_ANTICHEAT"`");
mysql_store_result();
if(mysql_num_rows() > 0)
{
mysql_fetch_row(query);
sscanf(query, "p<|>dddddddddddddd",
Ainfo[aMinig],
Ainfo[aDB],
Ainfo[aSob],
Ainfo[aJet],
Ainfo[aGO],
Ainfo[aArmo],
Ainfo[aSH],
Ainfo[aGun],
Ainfo[aFly],
Ainfo[aTP],
Ainfo[aKCar],
Ainfo[aShot],
Ainfo[aAir],
Ainfo[aPing]);
}
mysql_free_result();
printf("[Загрузка мода]: Настройки античита загружены - потрачено %d (ms)",GetTickCount() - time);
return true;
}
Последнее редактирование:
