SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian > Релизы/Releases

Reply
 
Thread Tools Display Modes
Old 03/01/2010, 10:32 AM   #1
^Woozie^
Gangsta
 
^Woozie^'s Avatar
 
Join Date: Jul 2007
Posts: 716
Reputation: 15
Default [INC] Money Anticheat

90% античитов на деньги обходятся по такой схеме. В этом античите такое не пройдёт.

Инсталляция:

Difference - это отличие между суммой, которую игроку дало скриптом и которая у него на руках. Если эта сумма отличается более чем на 15$ его кикнет. Для стант-серверов рекомендуется сделать побольше, но в пределах нормы.

Ставим в TOP
pawn Code:
#define DIFFERENCE 15
new PlayerMoney[MAX_PLAYERS];

Ставим отдельно:
pawn Code:
//-----------------------------------------------------------------------------------------------------

public OnPlayerConnect(playerid)
{
PlayerMoney[playerid] = 0;
return 1;
}

//-----------------------------------------------------------------------------------------------------

stock GivePlayerMoneyUAC(playerid,money)
{
MoneyAntiCheat(playerid);
PlayerMoney[playerid]+=money;
GivePlayerMoney(playerid,money);
return 1;
}

//-----------------------------------------------------------------------------------------------------

stock SetPlayerMoneyUAC(playerid,money)
{
MoneyAntiCheat(playerid);
PlayerMoney[playerid] = money;
SetPlayerMoney(playerid,money);
return 1;
}

//-----------------------------------------------------------------------------------------------------

stock GetPlayerMoneyUAC(playerid)
{
MoneyAntiCheat(playerid);
return PlayerWant[playerid][playermoneyuac];
}


//-----------------------------------------------------------------------------------------------------

stock ResetPlayerMoneyUAC(playerid)
{
MoneyAntiCheat(playerid);
PlayerMoney[playerid] = 0;
ResetPlayerMoney(playerid);
return 1;
}

//-----------------------------------------------------------------------------------------------------

forward MoneyAntiCheat(playerid);
public MoneyAntiCheat(playerid)
{
new string[128];
new cash = GetPlayerMoney(playerid);
if(cash > playermoneyuac[playerid])
{
if ((cash-playermoneyuac[playerid]) > DIFFERENCE)
{
new hacked = cash - playermoneyuac[playerid];
GivePlayerMoney(playerid, -hacked);
format(string,128, "%s (%d) кикнут с сервера. Причина: Читерство на деньги (%d),GetName(playerid),playerid,hacked);
SendClientMessageToAll(COLOR_RED,string);
Kick(playerid);
}
}
return 1;
}


//-----------------------------------------------------------------------------------------------------

stock GetName(playerid)
{
new Name[256];
GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
return Name;
}

//-----------------------------------------------------------------------------------------------------

stock MoneyLove(playerid)
{
new cash = GetPlayerMoney(playerid);
if(cash > playermoneyuac[playerid])
{
if ((cash-playermoneyuac[playerid]) > DIFFERENCE)
{
playermoneyuac[playerid] = GetPlayerMoney(playerid);
}else{
MoneyAntiCheat(playerid);
}
}
return 1;
}

//-----------------------------------------------------------------------------------------------------

public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
{
if(GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 438)
{
MoneyLove(playerid);
}
return 1;
}


//-----------------------------------------------------------------------------------------------------

Не забудьте заменить функции GetPlayerMoney GivePlayerMoney SetPlayerMoney на мои!
^Woozie^ is offline   Reply With Quote
Old 03/01/2010, 11:14 AM   #2
MX_Master
High-roller
 
Join Date: Jul 2007
Posts: 1,427
Reputation: 9
Default Re: [INC] Money Anticheat

вроде, уже многие сошлись во мнении, что для серва античит на бапки как таковой не нужен. всего лишь нужно кол-во денег игрока всегда хранить в серверных переменных и только када нада - обновлять значение денег в клиенте игрока. серверные бапки также не подходят для стант модов.
MX_Master is offline   Reply With Quote
Old 03/01/2010, 11:16 AM   #3
[Saint]
Gangsta
 
Join Date: Sep 2009
Posts: 771
Reputation: 23
Default Re: [INC] Money Anticheat

Каждый решает сам, что ему использовать....
[Saint] is offline   Reply With Quote
Old 03/01/2010, 12:43 PM   #4
MX_Master
High-roller
 
Join Date: Jul 2007
Posts: 1,427
Reputation: 9
Default Re: [INC] Money Anticheat

спору нет, но ты будешь такой античит использовать? если нет, то почему? какие минусы/плюсы?
MX_Master is offline   Reply With Quote
Old 03/01/2010, 02:28 PM   #5
^Woozie^
Gangsta
 
^Woozie^'s Avatar
 
Join Date: Jul 2007
Posts: 716
Reputation: 15
Default Re: [INC] Money Anticheat

Quote:
вроде, уже многие сошлись во мнении, что для серва античит на бапки как таковой не нужен. всего лишь нужно кол-во денег игрока всегда хранить в серверных переменных и только када нада - обновлять значение денег в клиенте игрока. серверные бапки также не подходят для стант модов.
что за тупизм. Все аналоги этого античита обходились, когда между таймером игрок читерил и ему давалось лаве скриптовой функцией или путем GetPlayerMoney, особенно в командах с подачей денег. Вот и всё, по крайней мере я так обошёл несколько античитов в начале лета. Сейчас может другие авторы поняли свои косяки, но эту уязвимость я уже заметил давно, руки не доходили выложить.
^Woozie^ is offline   Reply With Quote
Old 03/01/2010, 03:11 PM   #6
Zeex
Guest
 
Posts: n/a
Default Re: [INC] Money Anticheat

А если на сервере 2 игрока с ид 2 и 3, что будет делать данный античит? А я скажу что - ничего он не сделает, т.к. даже проверять их не станет... (даю подсказку - КОТОК)))
Кстати что значит КОТОК? Любопытно даже стало
  Reply With Quote
Old 03/01/2010, 04:48 PM   #7
MX_Master
High-roller
 
Join Date: Jul 2007
Posts: 1,427
Reputation: 9
Default Re: [INC] Money Anticheat

автор
Quote:
Originally Posted by ^Psycho^
Quote:
вроде, уже многие сошлись во мнении, что для серва античит на бапки как таковой не нужен. всего лишь нужно кол-во денег игрока всегда хранить в серверных переменных и только када нада - обновлять значение денег в клиенте игрока. серверные бапки также не подходят для стант модов.
что за тупизм. Все аналоги этого античита обходились, когда между таймером игрок читерил и ему давалось лаве скриптовой функцией или путем GetPlayerMoney, особенно в командах с подачей денег. Вот и всё, по крайней мере я так обошёл несколько античитов в начале лета. Сейчас может другие авторы поняли свои косяки, но эту уязвимость я уже заметил давно, руки не доходили выложить.
тупизмом можно назвать твой античит недописанный.
выдрал куски из общего какого-то кода и с довольным лицом создал релиз (:
могу пожелать только удачи в исправлениях
MX_Master is offline   Reply With Quote
Old 03/01/2010, 06:02 PM   #8
Serafim_sd
Big Clucker
 
Join Date: Jul 2008
Posts: 198
Reputation: 10
Default Re: [INC] Money Anticheat

Quote:
Originally Posted by ^Psycho^
Code:
stock PlayerCounter()
{
new c;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i)) { c++;}
}
return c;
}
Допустим у нас 10 игроков с ид от 0 до 9, игрок с ид 5 вышел и твоя функция вернет 9 игроков. это верно, но тогда цикл
Code:
for(new i = 0; i < KOTOK; i++)
{
MoneyAntiCheat(i);
}
забудет о игроке с ид 9...

ЗЫ парень наверно на КОТОК торопился) а вообще это очень забавно - докапываться до названий переменных)))
Serafim_sd is offline   Reply With Quote
Old 03/01/2010, 06:06 PM   #9
Serafim_sd
Big Clucker
 
Join Date: Jul 2008
Posts: 198
Reputation: 10
Default Re: [INC] Money Anticheat

и зачем вообще нужен был коток? можно ведь
Code:
for(new i = 0; i < PlayerCounter(); i++)
Serafim_sd is offline   Reply With Quote
Old 03/01/2010, 06:28 PM   #10
Zeex
Guest
 
Posts: n/a
Default Re: [INC] Money Anticheat

Quote:
Originally Posted by Serafim_sd
и зачем вообще нужен был коток? можно ведь
Code:
for(new i = 0; i < PlayerCounter(); i++)
Ну условие цикла ведь проверяется/вычисляется на каждой итерации - получился бы цикл в цикле
  Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Include] Server-sided Money - Stop money hackers! NEW RELEASE(v6) x-cutter Includes 107 30/08/2011 07:56 PM
[FilterScript] [FS] Money Cheat Detector || Stop money cheaters! Luka P. Filterscripts 22 05/09/2010 12:22 AM
[Include] [INC] Money Protect v1.1 (Anti Money Hack) ashiuashiu Includes 13 15/03/2010 02:37 AM
AntiCheat problem (money) Fen1x Help Archive 2 19/02/2009 03:34 PM


All times are GMT. The time now is 05:23 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.