SA-MP Forums Archive
[Разработка] Anti Car Upgrade - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: [Разработка] Anti Car Upgrade (/showthread.php?tid=154540)



[Разработка] Anti Car Upgrade - RAEN - 14.06.2010

Финальная рабочая версия, пользуйтесь!
pawn Code:
public OnVehicleMod(playerid,vehicleid,componentid)
{
if(!(IsPlayerInRangeOfPoint(playerid,5.0,616.7820,-74.8151,997.6350) || IsPlayerInRangeOfPoint(playerid,5.0,615.2851,-124.2390,997.6350) ||
IsPlayerInRangeOfPoint(playerid,5.0,617.5380,-1.9900,1000.6829)) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new string[128];
GetPlayerName(playerid,string,MAX_PLAYER_NAME);
format(string, sizeof(string), "%s кикнут с сервера, причина: CarUpgradeHack",string);
SendClientMessageToAll(0xAA3333AA, string);
Kick(playerid);
}
return 1;
}
Приветствуется модернизация/доработка кода.


Re: [Античит] Anti Car Upgrade - Stepashka - 14.06.2010

pawn Code:
new string[128];
    GetPlayerName(playerid, string,MAX_PLAYER_NAME);
      format(string, sizeof(string), "%s кикнут с сервера, причина: CarUpgradeHack", string);
    SendClientMessageToAll(0xAA3333AA, string);
в сибирь лишние перееменные.
Quote:

if(!IsPlayerInRangeOfPoint(playerid,15.0,616.7820,-74.8151,997.6350) || !IsPlayerInRangeOfPoint(playerid,15.0,615.2851,-124.2390,997.6350) || !IsPlayerInRangeOfPoint(playerid,15.0,617.5380,-1.9900,1000.6829))

Находиться одновременно в 3х местах невозможно
Потом что мешает мне читерить заехав в салон апгрейда?
И вроде OnVehicleMod не вызывается от читов

pawn Code:
break;
можно использовать только в циклах!

pawn Code:
GetPlayerVehicleID(playerid) == vehicleid
удивлюсь если это будет не так


Re: [Античит] Anti Car Upgrade - Stepashka - 14.06.2010

В итоге имеем:
pawn Code:
public OnVehicleMod(playerid,vehicleid,componentid)
{
    if(!(IsPlayerInRangeOfPoint(playerid,15.0,616.7820,-74.8151,997.6350) ||
        IsPlayerInRangeOfPoint(playerid,15.0,615.2851,-124.2390,997.6350) ||
        IsPlayerInRangeOfPoint(playerid,15.0,617.5380,-1.9900,1000.6829)) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        new string[128];
        GetPlayerName(playerid,string,MAX_PLAYER_NAME);
        format(string, sizeof(string), "%s кикнут с сервера, причина: CarUpgradeHack",string);
        SendClientMessageToAll(0xAA3333AA, string);
        Kick(playerid);
    }
    return 1;
}



Re: [Античит] Anti Car Upgrade - RAEN - 14.06.2010

Quote:

Потом что мешает мне читерить заехав в салон апгрейда?

То, что при заезде в салон сразу снимает сумму денег (я так сделал), а там уже читери на него сколько хочешь, т.к. уже заплатил (да и смысл уже читерить отпадает).

Quote:

И вроде OnVehicleMod не вызывается от читов

Вызывается..проверял.

Да break; чет от фанаря толкнул...

Вообщем щас проверил, работает идеально, так что можно использовать


Re: [Античит] Anti Car Upgrade - RAEN - 14.06.2010

1 пост обновил!


Re: [Разработка] Anti Car Upgrade - OKStyle - 15.06.2010

Мой скрипт [AntiCheatStyle] содержит такой вот античит:
pawn Code:
public OnVehicleMod(playerid,vehicleid,componentid)
{
if(GetPlayerInterior(playerid) == 0) BanEx(playerid,"[ACS] anti-s0bеit tuning"); // или проверку на интерьры 1,2,3
}
И работает лучше любых швейцарских часов.


Re: [Разработка] Anti Car Upgrade - RAEN - 15.06.2010

OKStyle Если в чите нет ф-ции смены ид интерьера, то тогда можно воспользоваться и твоим более облегченным вариантом. Но только я сомневаюсь что такой ф-ции там нет (хотя до этого ещё нужно догадаться чтобы сменить интерьер перед тюном ).


Re: [Разработка] Anti Car Upgrade - slikki - 15.06.2010

Quote:
Originally Posted by RAEN
Вот решил сделать античит против апгрейда машин, в теории должен как часы работать (Координаты брал Modding shops)
Code:
public OnVehicleMod(playerid,vehicleid,componentid)
{
if(!(IsPlayerInRangeOfPoint(playerid,15.0,616.7820,-74.8151,997.6350) ||
!IsPlayerInRangeOfPoint(playerid,15.0,615.2851,-124.2390,997.6350) ||
!IsPlayerInRangeOfPoint(playerid,15.0,617.5380,-1.9900,1000.6829)) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new string[128];
GetPlayerName(playerid,string,MAX_PLAYER_NAME);
format(string, sizeof(string), "%s кикнут с сервера, причина: CarUpgradeHack",string);
SendClientMessageToAll(0xAA3333AA, string);
Kick(playerid);
}
return 1;
}
Приветствуется модернизация/доработка кода.
у тебя так получается
Code:
if(!(!IsPlayerInRangeOfPoint(playerid,15.0,615.2851,-124.2390,997.6350) ...



Re: [Разработка] Anti Car Upgrade - RAEN - 16.06.2010

slikki ок, обновил 1 поста!


Re: [Разработка] Anti Car Upgrade - HIDAN - 16.06.2010

Кстати, в этом античите ты учёл, что если две машины заедут в один и тот же тюнинг, то одна из них "отъедет" от изначальных координат, которые даются при входе в тюнинг?