Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Настройка AntiCheat через диалог MySql [ALL]

Статус
В этой теме нельзя размещать новые ответы.

Niko™

Умник
Добрый вечер, уважаемые пользователи Pawno-info.ru
Сайчас я покажу вам как сделать меню для настройки АнтиЧита
Требуется настройка под ваш 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;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу