[INC] Самый дерзкий анти деньги чит хД -
lost13 - 13.05.2010
Анти-чит на деньги
ВНИМАНИЕ!: Скрипт не будет корректно работать со сторонними фильтрскриптами в которых даются или отнимаются деньги! следует добавить этот скрипт во все сторонние фильтрскрипты!
и так начнём урок создание простейшего и эффективного анти чита на деньги.
создадим переменную в которой будем хранить денежки игроков:
Code:
new playersmoneys[MAX_PLAYERS];
Далее в OnPlayerDisConnect засунем
playersmoneys[playerid] = 0;
Потом (можно в самом низу мода) создаём свои функции денег:
stock GiveServerMoney(playerid,amout)//дает деньги от сервера
{
GivePlayerMoney(playerid,amout);
playersmoneys[playerid] = GetPlayerMoney(playerid);//сохраняем деньги в нашу переменную
return 1;
}
stock ResetServerMoney(playerid)//отбирает деньги
{
GivePlayerMoney(playerid,-GetPlayerMoney(playerid));
playersmoneys[playerid] = GetPlayerMoney(playerid);//сохраняем деньги в нашу переменную
return 1;
}
Дальше заменяем GivePlayerMoney и ResetPlayerMoney на новые функции
Далее создаём таймер или вставляем этот код в OnPlayerUpdate:
Code:
if(GetPlayerMoney(playerid) > playersmoneys[playerid]/* && !IsPlayerAdmin(playerid)*/)//раскомментируйте если нехотите чтобы кикало админов
{
ResetPlayerMoney(playerid);
GiveServerMoney(playerid,playersmoneys[playerid]);
for(new i; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && playerid != i){
format(str,sizeof(str),"\"%s\" был кикнут администратором \"Server\". (Причина: Денежный чит)",GetName(playerid));
SendClientMessage(i,red,str);}
SendClientMessage(playerid,red,"Вы были кикнуты администратором \"Server\". (Причина: Денежный чит)");
TogglePlayerControllable(playerid,0);
Kick(playerid);//если хотите чтобы банило замените на Ban(playerid);
return 1;
}
Всё античит готов, урок закончен всем спасибо
P.S. Античит проверен пицотраз рабочий 100% если у вас есть какие то ошибки(которых быть не может) то, попробуйте всё сделать руками!
Re: Самый дерзкий анти деньги чит хД -
lost13 - 13.05.2010
тьфу забыл написать [урок] модераторы не злитесь =)
Re: Самый дерзкий анти деньги чит хД -
ZiGGi - 13.05.2010
stock ResetServerMoney(playerid)//отбирает деньги
{
GivePlayerMoney(playerid,-GetPlayerMoney(playerid));
playersmoneys[playerid] = GetPlayerMoney(playerid);//сохраняем деньги в нашу переменную
return 1;
}
lol
stock ResetServerMoney(playerid)
{
ResetPlayerMoney(playerid);
playersmoneys[playerid] = 0;
return 1;
}
кикать - глупо, проще просто отбирать
if(GetPlayerMoney(playerid) > playersmoneys[playerid])
{
ResetServerMoney(playerid);
GiveServerMoney(playerid,playersmoneys[playerid]);
return 1;
}
где lostmoneys в GiveServerMoney(playerid,lostmoneys[playerid]);
)))
Re: Самый дерзкий анти деньги чит хД -
lost13 - 13.05.2010
выкладывал на одном сайте, сделал playersmoneys а для себя делал lostmoneys забыл поменять
Re: Самый дерзкий анти деньги чит хД -
[Saint] - 13.05.2010
Quote:
Originally Posted by ZiGGi
кикать - глупо, проще просто отбирать
|
может конечно отбирать и проще, но я не думаю, что кик это очень глупо т.к. при игре если кто-то начитит денег, то его кикнет
и все кто есть на сервере увидят что этот игрок читер, и отношение у всех к нему сразу изменится, а если у него деньги просто
отнимутся этот момент может остаться тайным так и будут читеры играть
з.ы. оформление топика просто жесть
Re: Самый дерзкий анти деньги чит хД -
^Woozie^ - 13.05.2010
Напиши в поиске по этому форуму "INC Money Anticheat" и ты увидишь нормальный античит, а не эту ересь.
я не спорь что он будет работать, но косяки в некоторых моментах будут. где именно узнаешь когда перестанешь плагиатить чужие исходные коды и что-то сделаешь сам.
Re: Самый дерзкий анти деньги чит хД -
Walk_M4n - 13.05.2010
У кого руки не из жопы и кому надо было — тот себе так давным давно сделал. Некоторые даже продумали данный скрипт и сделали кое-какие исключения (Pay'n'spray, Sprunk и пр.)
Re: Самый дерзкий анти деньги чит хД -
^Woozie^ - 13.05.2010
На заметку. Такое устройство античита придумали не буржуи, а русский программист [TDH]Boss сразу после релиза 01б. И система как Yagu Race уже была на сервере GTA.ru в 2006ом году, только чеки не гоночные.
Так что не всё мы воруем (
Re: Самый дерзкий анти деньги чит хД -
JesterX - 14.05.2010
Чем проще код - тем быстрее работает? Неправда ли?
new global_money[max_players];
#define setPlayerMoney(%0, %1) global_money[%0]=(%1)
#define getPlayerMoney(%0) global_money[%0]
#define givePlayerMoney(%0, %1) global_money[%0]+=(%1)
OnPlayerConnect:
setPlayerMoney(playerid, 0);
OnPlayerUpdate:
if(global_money[playerid] != GetPlayerMoney(playerid)) {
GivePlayerMoney(playerid, (global_money[playerid] - GetPlayerMoney(playerid)));
}
:P Всё гениальное - просто.
Re: Самый дерзкий анти деньги чит хД -
JesterX - 14.05.2010
Как ни странно, но набрав в поиске "INC Money Anticheat", результатов не было. И даже "Money Anticheat" - ничего не выдал.
^Psy, Будь аккуратнее