2 posts in this topic

Доброго времени суток уважаемые пользователи pawno-rus решил выложить свою работу античита может кому пригодится. И так давайте начнем!
Ко всем new 

Спойлер

new ChekMoneyAntiCheat[MAX_PLAYERS];

В конце мода:

Спойлер

GiveMoney(playerid,money)//Выдаем деньги
{
    PlayerInfo[playerid][pMoney] += money;
    GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]-GetPlayerMoney(playerid));
}
GetMoney(playerid)//Узнаем деньги
{
    return PlayerInfo[playerid][pMoney];
}
ResetMoney(playerid)//Забираем деньги 
{
    PlayerInfo[playerid][pMoney] = 0;
    ResetPlayerMoney(playerid);
}

В public OnPlayerConnect:
 

Спойлер

PlayerInfo[playerid][pMoney] = 0;

ChekMoney[playerid] = SetTimer("ChekMoneyAntiCheat",1000,1);

Теперь создаем таймер:

Спойлер

ChekMoneyAntiCheat(playerid)//Таймер проверки
{
    GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]-GetPlayerMoney(playerid));
    if(GetPlayerMoney(playerid) != PlayerInfo[playerid][pMoney])
    {
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]);
    }
    else
    {
        PlayerInfo[playerid][pMoney] = GetPlayerMoney(playerid);
    }
    return 1;
}

Теперь заменяем все GivePlayerMoney,GetPlayerMoney,ResetPlayerMoney на GiveMoney,GetMoney,ResetMoney
ВАЖНО!
Здесь мы не чего не заменяем!

Спойлер

GiveMoney(playerid,money)//Выдаем деньги
{
    PlayerInfo[playerid][pMoney] += money;
    GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]-GetPlayerMoney(playerid));
}
GetMoney(playerid)//Узнаем деньги
{
    return PlayerInfo[playerid][pMoney];
}
ResetMoney(playerid)//Забираем деньги 
{
    PlayerInfo[playerid][pMoney] = 0;
    ResetPlayerMoney(playerid);
}

 

Share this post


Link to post
Share on other sites

Вот моя версия анти чита 

В конец мода:

stock hak_GivePlayerMoney(playerid, money, statis = 0)
{
	if(statis == 1) return GivePlayerMoney(playerid, money);
	if(money < 0) PlayerInfo[playerid][pMoney] = money;
	else if(money > 0) PlayerInfo[playerid][pMoney] += money;
	ResetPlayerMoney(playerid);
	return GivePlayerMoney(playerid, money);
}
#if defined _ALS_GivePlayerMoney
	#undef GivePlayerMoney
#else
	#define _ALS_GivePlayerMoney
#endif
#define GivePlayerMoney hak_GivePlayerMoney 

и в OnPlayerUpDate

if(IsPlayerConnected(playerid))
{
    if(PlayerInfo[playerid][pMoney] != GetPlayerMoney(playerid))
    {
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney], 1);
    }
}

Переменную PlayerInfo[playerid][pMoney] меняйте на свою

P.S На работу способность не проверял, но должно работать 

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   You have pasted content with formatting.   Remove formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • green177117
      By green177117
      Здравствуйте! Прошу вашей помощи,на форуме смотрел...Не нашел ответ на вопрос! Суть такова что в моде "SAMP" слетают дома/,бизнесы после рестарта! То есть купил дом.бизнес игрок и после рестарта сервера он слетает в госс...(ДОМ/Бизнес) В базе данных после рестарта тоже не сохраняет! Предоставлю код который нужно! Прошу помочь пожалуйста где и как что исправлять...Сам новичок в этом просто. Спасибо!
       
    • Sweet_Roza
      By Sweet_Roza
       
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(516) : warning 219: local variable "vel_x" shadows a variable at a preceding level
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(516) : warning 219: local variable "vel_y" shadows a variable at a preceding level
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(516) : warning 219: local variable "vel_z" shadows a variable at a preceding level
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(588) : error 017: undefined symbol "p_info"
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(588) : warning 215: expression has no effect
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(588) : error 001: expected token: ";", but found "]"
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(588) : error 029: invalid expression, assumed zero
      C:\Users\Kirillll\Desktop\hype rp\pawno\include\anticheat.inc(588) : fatal error 107: too many error messages on one line

      Compilation aborted.

      Pawn compiler 3.2.3664 Copyright © 1997-2017, ITB CompuPhase


      4 Errors.

      Хз уже 2 дня немогу понять из-за чего варнинги и ерроры если начинаю чтото исправлять то окно компиляцие просто пустое мод где-то на 51+-к строк
      кто знает и разберается помогите пожалуйста   вот код где ошибка    new g_organization[28][E_ORG_DATA] = { {"МВД Г. Южный", {2889.0100,1494.4646,1551.9464, 0.00}, 1, 0}, {"ФСБ", {2883.9924,2010.5411,2050.9980, 89.160011}, 1}, {"NONE", {725.909912, -1299.934326, 1102.000000, 85.492195}, 15, 3}, {"NONE", {1158.368408, -1336.018432, 4001.100097, 0.391671}, 1, 1}, {"Батыревская братва", {-1.6843,503.1978,1381.0022, 1.889998}, 1, 4}, {"Арзамаская ОПГ", {-1.6843,503.1978,1381.0022, 1.889998}, 1, 2}, {"Мэрия", {956.2804,9.3513,1381.0035, 310.307495}, 1, 1}, //meriazamn {"NONE", {000.000, 000.000, 000.000, 000.000}, -1, -1}, {"NONE", {000.000, 000.000, 000.000, 000.000}, -1, -1}, {"NONE", {225.164703, 121.044197, 999.078552, 89.073303}, 10, 0}, {"NONE", {-790.541198, 1555.099121, 1139.236938, 270.535888}, 1, 0}, {"NONE", {-61.298400, 1364.584716, 1080.210937, 100.000000}, 6, 34}, {"NONE", {303.630004, 309.250000, 999.148437, 263.049713}, 4, 75}, {"Лыткаринская ОПГ", {-1.6843,503.1978,1381.0022, 1.889998}, 1, 3}, {"NONE", {2496.012939, -1708.923217, 1014.742187, 0.191797}, 3, 1}, {"ТРК Ритм", {1981.1987,15.5430,1381.0035, -89.170898}, 1, 1}, {"NONE", {-49.755798, 1400.355346, 1084.429687, 90.424797}, 8, 36}, {"NONE", {-224.098907, 1410.445800, 27.773437, 89.287391}, 18, 63}, {"Армия Сухопутные войска", {2903.7275,1417.9414,1050.9978, 85.492195}, 1, 0}, {"NONE", {000.000, 000.000, 000.000, 000.000}, -1, -1}, {"NONE", {211.363601, 184.311294, 1003.031250, 174.357910}, 3, 122}, {"NONE", {000.000, 000.000, 000.000, 000.000}, -1, -1}, {"Хитманы", {-1.6843,503.1978,1381.0022, 89.666389}, 1, 1}, {"Стритрейсеры", {-227.4272,453.0845,12.8854, 316.816314}, 0, 0}, {"NONE", {211.786605, 142.404800, 1003.023437, 269.212799}, 3, 0}, {"NONE", {-806.013610, -672.316711, 4004.740478, 357.578186}, 1, 0}, {"NONE", {1950.792358, 1059.626098, 994.468750, 167.393981}, 10, 50}, {"NONE", {2151.969238, 1597.348266, 1006.176147, 359.832153}, 1, 51} };