Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

На тп машины

Dezmont_Mailz

Умник
Данный античит я настроил так что бы не кикало а просто машина возвращалсь в исходное положение и так начнём

ко всем переменным
PHP:
enum vInfo
{,
    Float:AntiVehPos[4],
    bool:AntiPropalCar
};
new pCars[MAX_VEHICLES][vInfo];
В секундный таймер
PHP:
	for(new c=0;c<MAX_VEHICLES+1;c++)
	{
	    if(GetVehicleDistanceFromPoint(c,pCars[c][AntiVehPos][0],pCars[c][AntiVehPos][1],pCars[c][AntiVehPos][2]) > 2 && !UseCar(c))
	    {
	        SetVehiclePosEx(c,pCars[c][AntiVehPos][0],pCars[c][AntiVehPos][1],pCars[c][AntiVehPos][2],pCars[c][AntiVehPos][3]);
	    }
	}
в паблик
PHP:
public OnGameMode()
{
    for(new car=0;car<MAX_VEHICLES+1;car++)
	{
	    GetVehiclePos(car,pCars[car][AntiVehPos][0],pCars[car][AntiVehPos][1],pCars[car][AntiVehPos][2]);
	    GetVehicleZAngle(car,pCars[car][AntiVehPos][3]);
		pCars[car][AntiPropalCar] = false;
	}
}
дальше
PHP:
public OnVehicleSpawn(vehicleid)
{
    if(pCars[vehicleid][AntiPropalCar] == false)
	{
	    SetVehiclePosEx(vehicleid,pCars[vehicleid][AntiVehPos][0],pCars[vehicleid][AntiVehPos][1],pCars[vehicleid][AntiVehPos][2],pCars[vehicleid][AntiVehPos][3]);
		return 1;
	}
	pCars[vehicleid][AntiPropalCar] = false;
	return 1;
}
и в паблик
PHP:
public OnPlayerUpdate(playerid)
{
    if(GetPlayerState(playerid) == 2)
    {
        GetVehiclePos(carid,pCars[carid][AntiVehPos][0],pCars[carid][AntiVehPos][1],pCars[carid][AntiVehPos][2]);
	    GetVehicleZAngle(carid,pCars[carid][AntiVehPos][3]);
    }
}
В конец мода
PHP:
stock UseCar(vehicleid)
{
    for(new i = GetMaxPlayers() - 1; i != -1; i--)
 	{
		if(!IsPlayerConnected(i) || IsPlayerNPC(i) || !IsPlayerInVehicle(i, vehicleid)) continue;
		return 1;
	}
	return 0;
}
stock SetVehiclePosEx(vehicleid,Float:X,Float:Y,Float:Z,Float:AngleS = 0.0)
{
    pCars[vehicleid][AntiVehPos][0] = X;
    pCars[vehicleid][AntiVehPos][1] = Y;
    pCars[vehicleid][AntiVehPos][2] = Z;
    pCars[vehicleid][AntiVehPos][3] = AngleS;
    SetVehiclePos(vehicleid,X,Y,Z);
    SetVehicleZAngle(vehicleid,AngleS);
    return 1;
}
stock SetVehicleToRespawnEx(vehicleid)
{
    pCars[vehicleid][AntiPropalCar] = true;
    SetVehicleToRespawn(vehicleid);
    GetVehiclePos(vehicleid,pCars[vehicleid][AntiVehPos][0],pCars[vehicleid][AntiVehPos][1],pCars[vehicleid][AntiVehPos][2]);
	GetVehicleZAngle(vehicleid,pCars[vehicleid][AntiVehPos][3]);
	return 1;
}
А теперь разберём в чём смысл где минусы а где плюсы

Минус:
1) если игрок выпрыгнет из машины,машина встанет на то место за 2 метра от него где он выпрыгнул (не знаю как доработать)
2) Если есть водитель а его машину тп читом то античит не сработает иза того что есть за рулём водитель (поже доработаю)

Плюсы:
1) машину не возможно тп к себе или респавнить её читом
2) игрока невозможно будет столкнуть в воду если он сидит на пассажирском сидении а водителя нету
3) машину вобще нельзя стронуть с места если нету водителя
4) Если есть водитель а его машину респавнили то она вернёться и встанет рядом с ним


эта переменная
PHP:
pCars[vehicleid][AntiPropalCar]
она для того что бы если читом заспавнили машину то не срабатывал OnVehicleSpawn к примеру если у вас фермы а читом заспавнили машину то пикап и т.д. ничего не произойдёт и нечего не исчезнет а машина вернётся туда где она была

Можно ещё настроить античит что бы игрок не мог сесть в машину за 2-5 метров это на случай если он её заморозит для себя но это уже думаю не тупые сделаете сами

SetVehicleToRespawn меняем на SetVehicleToRespawnEx
SetVehicleSpawn меняем на SetVehicleSpawnEx

Данный античит спасёт от тп машин а особенно от респавна выручит дальнобойщиков над этой профессией читеры оч.любят издеваться спавнив кар дольнобойщика но с этим античитом дальнобойщик вылетит из машины но машина вернётся на место и груз не пропадёт
 
Последнее редактирование:
Сверху Снизу