21.01.2012, 12:45
(
Last edited by Xa0s; 29/01/2012 at 08:22 AM.
)
Версия 2.0.
Что же содержит в себе эта версия?
Анти:
Xa0sAC быстрый:
Перед началом использования необходимо настроить его под себя:
Прочее:
Xa0sAC содержит в себе еще несколько простых функций которые вы можете использовать в своем моде
Что же содержит в себе эта версия?
Анти:
- JetPack,
- Низкий FPS(АнтиЛаггер),
- Высокий Ping,
- SpectateHack(Слежка читера за игроками),
- Разморозка,
- Оружие,
- Патроны,
- Запрещенное оружие(Если у игрока будет найдено запрещеное оружие он будет кикнут),
- AirBreak(Пешком и на ТС),
- SpeedHack,
- Деньги(Деньги из казино не считаются читом),
- Здоровье(Бургер, содовые и пикапы с хп не считает читом),
- Броня(Пикапы с броней не считает читом),
- Починка ТС(Починки и тюнинг-гаражи читом не считает),
- DriveBy,
- SpawnKill,
- SlideBug,
- CBug,
- TunningHack.
Xa0sAC быстрый:
- Обнаружит SpeedHack за 550-600 миллисекунд,
- Обнаружит AirBreak за 1 - 1,5 секунд,
- Остальное за 500-600 миллисекунд.
- Все в диалоговых окнах,
- Чтобы выключить АнтиЧит на что либо:
- Нужно ввести команду(/cfg) затем выбрать нужно и нажать Включить\Выключить.
- Чтобы изменить:
- Максимальный пинг,
- Максимальное здоровье игрока,
- Максимальное здоровье ТС,
- Максимальную броню.
- Нужно ввести команду (/changedata), выбрать нужное и ввести в диалог число.
- Разбан/Бан:
- При бане игрока его ник записывается в файл(BanLog.ini),
- Чтобы разбанить его нужно:
- Ввести команду(/unban),
- Ввести символ который присутсвует в нике игрока(Например: Ник Xa0s = Xa или Xa0 или s) чем больше символов тем лучше,
- Если совпадений меньше 19 вам их покажет ввиде диалога стиля LIST,
- Нажимаете на нужного и он удаляеться из файла(разбанивается).
Перед началом использования необходимо настроить его под себя:
- Открыть инклуд HeartAC через pawno. И настроить Все что находиться вверху инклуда.
- Прописать вверху мода #include <ConnectorAC>
- В xWeapons(строки от 170 до 190) введите ID's оружия через запятую, которые вы хотите запретить на сервере,
- Через /cfg и /changedata настроить Xa0sAC,
- Установить какое действие будет происходить если игрок использует какой либо чит, (В инклуде есть описание каждого действия)
- Вставить в OnGameModeInit() данную строку(Она выключает бонусы за стант.)
PHP Code:
EnableStuntBonusForAll(0);
- Вписать в свой мод команды(Можно поставить проверку на администратора):
PHP Code:
if(!strcmp(cmdtext, "/ban", true))
{
new Message[256];
new gMessage[256];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5)
{
SendClientMessage(playerid,COLOR_RED,"/ban [id] [Причина]");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage))
{
SendClientMessage(playerid,COLOR_RED,"/ban [id] [причина]");
return 1;
}
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid,COLOR_RED,"Игрок не найден");
return 1;
}
xBan(id,gMessage,1);
return 1;
}
if(!strcmp(cmdtext, "/kick", true))
{
new Message[256];
new gMessage[256];
tmp = strtok(cmdtext,idx);
if(!strlen(tmp) || strlen(tmp) > 5)
{
SendClientMessage(playerid,COLOR_RED,"/Kick [id] [причина]");
return 1;
}
new id = strval(tmp);
gMessage = strrest(cmdtext,idx);
if(!strlen(gMessage))
{
SendClientMessage(playerid,COLOR_RED,"/Kick [id] [причина]");
return 1;
}
if(!IsPlayerConnected(id))
{
SendClientMessage(playerid,COLOR_RED,"Игрок не найден");
return 1;
}
xKick(id,gMessage,1);
return 1;
}
if(!strcmp(cmdtext, "/unban", true))
{
ShowPlayerDialog(playerid,1250,DIALOG_STYLE_INPUT,"Разбан","Введите примерный ник игрока","Выбрать","Назад");
return 1;
}
if(!strcmp(cmdtext, "/changedata", true))
{
ShowPlayerDialog(playerid,1150,DIALOG_STYLE_LIST,"xAntiCheat данные","Максимальный пинг\nМаксимальное здоровье игрока\nМаксимальное здоровье ТС\nМаксимальное кол-во брони","Выбрать","Закрыть");
return 1;
}
if(!strcmp(cmdtext, "/cfg", true))
{
ShowPlayerDialog(playerid,1120,DIALOG_STYLE_LIST,"xAntiCheat конфигурации","АнтиЧиты\nАнтиБаги\nАнтиПрочее","Выбрать","Закрыть");
return 1;
}
- Если у вас выводит ошибку связанную с strrest вставте ниже следующий код:
PHP Code:
stock strrest(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[128];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
- Вписать в мод этот код (Он нужен для посылки докладов о том что игрок использует чит):
PHP Code:
xfunction ReportOnThePlayer(playerid, cheatid)
{
new Message[256];
switch(cheatid)
{
case 0:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на деньги. ",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 1:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на оружие. ",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 2:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на патроны.",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 4:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на скорость.",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 5:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал полет",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 6:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на здоровье.",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 7:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на броню.",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
case 11:
{
format(Message,sizeof(Message),"Игрок %s возможно использовал чит на починку ТС.",xPlayerName(playerid));
/*Тут то как вы отправляете сообщение SendClientMessage и тд*/
}
}
return 1;
}
Xa0sAC содержит в себе еще несколько простых функций которые вы можете использовать в своем моде
- Получение скорости игрока и его ТС xGetSpeed(playerid),
- Получение FPS игрока xGetPlayerFPS(playerid),
- Получение растояния между двумя точкам xGetPointDistToPoint(Float
1, Float:y1, Float
2, Float:y2),
- Получение инфо. в AFK игрок или нет xGetPlayerAFK(playerid),
- Получения слота оружия игрока xGetWeaponSlot(weaponid),
- Получение модели оружия(Для пикапа и т.д) xGetWeaponModel(weaponid).
- Изредка AntiAirBreak может лагать т.е у игрока сможет обнаружить AirBreak только через 10 секунд, но этот баг может появиться только если у игрока FPS < 10 поэтому AntiFPS лучше не выключать.
- Если вы нашли баг пишите мне в личные сообщения.
- Античит на патроны иногда не срабатывает и я незнаю почему это происходит. Если вы знаете напишите мне в Личные сообщения
- Splav- исправление бага,
- Stepashka - исправление ошибки в коде разбана,
- OKStyle - Anti SlideBug,
- Ym[0]n - Anti CBug,
- АнтиЧит JunkBuster - коды:
- AddPlayerClass, AddPlayerClassEx, SetSpawnInfo, AddStaticPickup, CreatePickup, DestroyPickup, т.е зате которые дают оружие, броню и здоровье
- Xa0s. - Всё остальное (HeartAC и ConnectorAC).
- Было исправлено множество багов. (около 7)
- Была улучшена система защиты сервера АнтиЧитом.
- Создан новый античит на тюннинг. (В стандартных тюннингах не срабатывает)
- Создано новое xAction действие(Вернее оно отключает xAction) но только для античитов на: Тюннинг. Здоровье, броню, здоровье ТС, Деньги.
- Убрано пару проверок так как они зря работали. И без них все тоже самое.
- Немного оптимизирован код.
- Созданы две команды для того что бы вы могли банить\кикать как сами так и что бы это делал античит.
- Теперь вы можете с легкостью указать собственный путь к файлу с забаненными редактировав #define BanFile
- По всем вопросам обращайтесь в icq 5033561
- По техническим причинам и нехваткой времени Skype не имею.