Создание Античита -
Jeka91 - 01.12.2009
Помогите сделать Античит для Ролеплей сервера на деньги, чтобы деньги уменьшались когда их пытаються начитерить!
Re: Создание Античита -
heufix - 01.12.2009
Что тебе мешает в строку
"Поиск" or
"Search" Ввести
"Anti money cheat" ?
Re: Создание Античита -
MX_Master - 02.12.2009
Самый простой античит на деньги - создать глобальный массив с кол-вом элементов, равным макс. кол-ву игроков. В нем будет хранится текущее кол-во денег каждого игрока. В моде при даче денег, нужно изменять/проверять значение денег для нужного игрока в этом массиве.
В качестве дополнения можно установить таймер на функцию, которая к примеру, каждые 5 сек, будет выставлять игроку его реальное кол-во денег, которое записано в глобальном массиве.
Re: Создание Античита -
MX_Master - 02.12.2009
может кто может и лучше, и меньше написать, не знаю, мой античит на деНги такой. НЕПРОВЕРЕНО ! (:
Код:
//
// вставить в начало мода
//
stock playerMoney[MAX_PLAYERS];
stock ac_GivePlayerMoney ( playerid, money )
{
playerMoney[playerid] += money;
ResetPlayerMoney(playerid);
GivePlayerMoney( playerid, playerMoney[playerid] );
}
stock ac_ResetPlayerMoney ( playerid )
{
playerMoney[playerid] = 0;
ResetPlayerMoney(playerid);
}
stock ac_GetPlayerMoney ( playerid )
{
return playerMoney[playerid];
}
forward updatePlayersMoney();
public updatePlayersMoney()
{
for ( new i = 0; i < MAX_PLAYERS; i++ )
if ( IsPlayerConnected(i) )
{
ResetPlayerMoney(i);
GivePlayerMoney( i, playerMoney[i] );
}
}
#define GivePlayerMoney ac_GivePlayerMoney
#define ResetPlayerMoney ac_ResetPlayerMoney
#define GetPlayerMoney ac_GetPlayerMoney
public OnGameModeInit ()
{
// каждые 10 сек каждому онлайн игроку будет выставлено его
// реальное кол-во денег, которое хранится на сервере
SetTimer( "updatePlayersMoney", 10000, 1 );
return 1;
}
Re: Создание Античита -
Serafim_sd - 02.12.2009
тоже самое и со здоровьем и бронью
массив здоровья и брони и функция на таймере которая проверяет кол-во здоровья и брони у игрока у игрока.
Если у игрока здоровья больше - присваивает значение из массива, если меньше (например поранился) то присваивает ячейке массива кол-во здоровья игрока.
НО этот метод не определит заморозку здоровья...
Re: Создание Античита -
MX_Master - 03.12.2009
все верно
также можно посоветовать вместо функций stock использовать макросы #define, т.к. это уменьшает скорость выполения действий
Re: Создание Античита -
Jeka91 - 03.12.2009
помогло то помогло вот токо когда я передаю деньги /pay тоже снимаються и зарплата и тд.
Помогите что делать
Re: Создание Античита -
Serafim_sd - 03.12.2009
ммм) ты должен будешь изменить функцию GivePlayerMoney) так чтобы эта функция не только давала денег игроку но и прибавляла их к числу в массиве)
Re: Создание Античита -
Jeka91 - 03.12.2009
есть Skype?обьясни плиз!
Re: Создание Античита -
MX_Master - 03.12.2009
Jeka91
уже все разжевали и подали на блюдечке. на лицо явное непонимание основ скриптинга.
Re: Создание Античита -
isan - 03.12.2009
в моем плагине встроеный античит на деньги
Re: Создание Античита -
heufix - 04.12.2009
Quote:
|
Originally Posted by mysan[playerid
; ]
в моем плагине встроеный античит на деньги 
|
Щяс напишет где скачать...
Re: Создание Античита -
MX_Master - 04.12.2009
Мне жаль тока, что сам самп клиент не мониторит изменение своих же переменных сторонними процессами. Было бы прикольно, если п клиент создавал резервные копии значений своих переменных постоянно в разных местах, чтобы собейты не могли уловить первоисточник.
Re: Создание Античита -
MX_Master - 04.12.2009
Quote:
|
Originally Posted by Serafim_sd
тоже самое и со здоровьем и бронью
массив здоровья и брони и функция на таймере которая проверяет кол-во здоровья и брони у игрока у игрока.
Если у игрока здоровья больше - присваивает значение из массива, если меньше (например поранился) то присваивает ячейке массива кол-во здоровья игрока.
НО этот метод не определит заморозку здоровья...
|
кста в моем примере, это скорее не античит на деньги, это вариант хранения клиентских переменных на сервере.
Я помню кто-то с инглиш форума подал идею отнимать у игрока 1.0 жизни и через короткое время снова проверять значение жизни игрока. Если оно увеличилось на 1.0 или больше, то это смахивает на годмод. НО в игре же полно всяких точек общепита, которые не контролируются сервом, что ЯВНО уменьшает шансы найти читера.
Re: Создание Античита -
Serafim_sd - 04.12.2009
ммм мысль) а если игрок тупо на Esc? у него же не отмимется... а точки общепита отсекаются как я писал выше, т.е. если у игрока больше здоровья то присваивается значение с сервера. а так можно например раз в минуту отнимать 1 жизни и смотреть какое значение вернется. так что точки общепита не уменьшают эти шансы)
Re: Создание Античита -
Riaz - 04.12.2009
Собейт устанавливает хп на определённое количество.
Re: Создание Античита -
MX_Master - 04.12.2009
чувствуется, что ты им пользовался (: вот скажи, как к примеру можно проверять игрока, чтобы спалить его с собейтом, да даже к примеру с годмодом?
Re: Создание Античита -
Serafim_sd - 04.12.2009
даже если и устанавливает... допустим на 78%, мы берем отнимаем 1%, проверяем сколько осталось, если меньше 78% (даже если не 77 а еще меньше, если например игрока ранят) то игрок не чит, а если стало вновь 78 то бан)
Re: Создание Античита -
CrunkBankS - 04.12.2009
А вы думали про то что деньги получить в казино можно или за трюки, вот как сделать анти чит чтоб эти деньги зачислялись? а то получается как за чит считает
Re: Создание Античита -
Serafim_sd - 04.12.2009
да никак, кореш) деньги за трюки банально отключить модом, а в казино деньги будут просто сбрасываться.
или же можно сделать исключение для казино (если игрок в интерьере то учитывать эти деньги) НО игрок сможет прокачать деньги атманью простой зайдя в казино.... можно вообще отключить входы в интерьеры а сделать их самому)