• Страница 1 из 1
  • 1
Модератор форума: admin  
Форум » Pawno » Анти-читы » pawno урок анти-чит телепорт машин к себе с помощ1ю sobeit
pawno урок анти-чит телепорт машин к себе с помощ1ю sobeit
adminДата: Вторник, 11.06.2013, 01:05:45 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869

Всем привет. в этом уроке я вам расскажу как сделать анти-чит машин/тачек с помощью собейта.
Вверху мода

Код
new Float:VehPos[MAX_VEHICLES][4];
new bool: BanCar[MAX_VEHICLES];
new TimeUpdate[MAX_PLAYERS];

forward UpdateVehiclePos(vehicleid, type);

bool: UseCar(carid);
//bool: StopCar(carid);

После этого ищем
Код
public OnVehicleStreamIn
и туда вставляем
Код
UpdateVehiclePos(vehicleid, 0);

примерно так должен быть public OnVehicleStreamIn
Код
public OnVehicleStreamIn(vehicleid, forplayerid)
{
        UpdateVehiclePos(vehicleid, 0);
        return 1;
}

После этого ищем
Код
public OnPlayerStateChange
и туда вставляем:
Код
  if(newstate == PLAYER_STATE_DRIVER) SetPVarInt(playerid,"VehID",GetPlayerVehicleID(playerid));
        if(oldstate == PLAYER_STATE_DRIVER)
        {
            if(BanCar[GetPVarInt(playerid,"VehID")]) KillTimer(TimeUpdate[playerid]);
            TimeUpdate[playerid] = SetTimerEx("UpdateVehiclePos", 10000, false, "ii", GetPVarInt(playerid,"VehID"), 1);
            BanCar[GetPVarInt(playerid,"VehID")] = true;
        }

Примерно так должен быть
Код
public OnPlayerStateChange


Код
public OnPlayerStateChange(playerid, newstate, oldstate)
{
        if(newstate == PLAYER_STATE_DRIVER) SetPVarInt(playerid,"VehID",GetPlayerVehicleID(playerid));
        if(oldstate == PLAYER_STATE_DRIVER)
        {
            if(BanCar[GetPVarInt(playerid,"VehID")]) KillTimer(TimeUpdate[playerid]);
            TimeUpdate[playerid] = SetTimerEx("UpdateVehiclePos", 10000, false, "ii", GetPVarInt(playerid,"VehID"), 1);
            BanCar[GetPVarInt(playerid,"VehID")] = true;
        }
        return 1;
}


После этого в любое место вставляем функции:
Код
public UpdateVehiclePos(vehicleid, type)
{
        if(type == 1)
        {
            /*if(!StopCar(vehicleid))
            {
                SetTimerEx("UpdateVehiclePos", 10000, false, "ii", vehicleid, 1);
                return 1;
            }*/
            BanCar[vehicleid] = false;
        }
        GetVehiclePos(vehicleid, VehPos[vehicleid][0], VehPos[vehicleid][1], VehPos[vehicleid][2]);
        GetVehicleZAngle(vehicleid, VehPos[vehicleid][3]);
        return 1;
}

public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
        new Float:Pos[3];
        GetVehiclePos(vehicleid, Pos[0], Pos[1], Pos[2]);
        new Float:Count[2];
        Count[0] = Difference(Pos[0],VehPos[vehicleid][0]);
        Count[1] = Difference(Pos[1],VehPos[vehicleid][1]);
        switch(GetVehicleModel(vehicleid))
        {
            case 435, 450, 584, 591, 606..608, 610..611: goto UPDATE;
        }
        if((Count[0] > 5 || Count[1] > 5) && !UseCar(vehicleid) && !BanCar[vehicleid])
        {
            SetVehiclePos(vehicleid, VehPos[vehicleid][0], VehPos[vehicleid][1], VehPos[vehicleid][2]);
            SetVehicleZAngle(vehicleid, VehPos[vehicleid][3]);
        }
        else
        {
            UPDATE:
            UpdateVehiclePos(vehicleid, 0);
        }
        return 1;
}

stock Difference(Float:Value1, Float:Value2)
{
        return floatround((Value1 > Value2) ? (Value1 - Value2) : (Value2 - Value1));
}

stock bool: UseCar(carid)
{
        for(new i; i != GetMaxPlayers(); i++)
        {
            if(!IsPlayerConnected(i)) continue;
            if(IsPlayerInVehicle(i, carid)) return true;
        }
        return false;
}

stock SetVehiclePosition(vehicleid, Float:X, Float:Y, Float:Z)
{
        SetVehiclePos(vehicleid ,X,Y,Z);
        UpdateVehiclePos(vehicleid, 0);
}

/*stock bool: StopCar(carid)
{
        new Float:Pos[3];
        GetVehicleVelocity(carid, Pos[0], Pos[1], Pos[2]);
        if(Pos[0] == 0.0 && Pos[1] == 0.0 && Pos[2] == 0.0) return true;
        return false;
}*/


Автор:Games


zm-jail.ru

Разработка сайта samp-pawno.ru


 
Сообщение
Всем привет. в этом уроке я вам расскажу как сделать анти-чит машин/тачек с помощью собейта.
Вверху мода

Код
new Float:VehPos[MAX_VEHICLES][4];
new bool: BanCar[MAX_VEHICLES];
new TimeUpdate[MAX_PLAYERS];

forward UpdateVehiclePos(vehicleid, type);

bool: UseCar(carid);
//bool: StopCar(carid);

После этого ищем
Код
public OnVehicleStreamIn
и туда вставляем
Код
UpdateVehiclePos(vehicleid, 0);

примерно так должен быть public OnVehicleStreamIn
Код
public OnVehicleStreamIn(vehicleid, forplayerid)
{
        UpdateVehiclePos(vehicleid, 0);
        return 1;
}

После этого ищем
Код
public OnPlayerStateChange
и туда вставляем:
Код
  if(newstate == PLAYER_STATE_DRIVER) SetPVarInt(playerid,"VehID",GetPlayerVehicleID(playerid));
        if(oldstate == PLAYER_STATE_DRIVER)
        {
            if(BanCar[GetPVarInt(playerid,"VehID")]) KillTimer(TimeUpdate[playerid]);
            TimeUpdate[playerid] = SetTimerEx("UpdateVehiclePos", 10000, false, "ii", GetPVarInt(playerid,"VehID"), 1);
            BanCar[GetPVarInt(playerid,"VehID")] = true;
        }

Примерно так должен быть
Код
public OnPlayerStateChange


Код
public OnPlayerStateChange(playerid, newstate, oldstate)
{
        if(newstate == PLAYER_STATE_DRIVER) SetPVarInt(playerid,"VehID",GetPlayerVehicleID(playerid));
        if(oldstate == PLAYER_STATE_DRIVER)
        {
            if(BanCar[GetPVarInt(playerid,"VehID")]) KillTimer(TimeUpdate[playerid]);
            TimeUpdate[playerid] = SetTimerEx("UpdateVehiclePos", 10000, false, "ii", GetPVarInt(playerid,"VehID"), 1);
            BanCar[GetPVarInt(playerid,"VehID")] = true;
        }
        return 1;
}


После этого в любое место вставляем функции:
Код
public UpdateVehiclePos(vehicleid, type)
{
        if(type == 1)
        {
            /*if(!StopCar(vehicleid))
            {
                SetTimerEx("UpdateVehiclePos", 10000, false, "ii", vehicleid, 1);
                return 1;
            }*/
            BanCar[vehicleid] = false;
        }
        GetVehiclePos(vehicleid, VehPos[vehicleid][0], VehPos[vehicleid][1], VehPos[vehicleid][2]);
        GetVehicleZAngle(vehicleid, VehPos[vehicleid][3]);
        return 1;
}

public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
        new Float:Pos[3];
        GetVehiclePos(vehicleid, Pos[0], Pos[1], Pos[2]);
        new Float:Count[2];
        Count[0] = Difference(Pos[0],VehPos[vehicleid][0]);
        Count[1] = Difference(Pos[1],VehPos[vehicleid][1]);
        switch(GetVehicleModel(vehicleid))
        {
            case 435, 450, 584, 591, 606..608, 610..611: goto UPDATE;
        }
        if((Count[0] > 5 || Count[1] > 5) && !UseCar(vehicleid) && !BanCar[vehicleid])
        {
            SetVehiclePos(vehicleid, VehPos[vehicleid][0], VehPos[vehicleid][1], VehPos[vehicleid][2]);
            SetVehicleZAngle(vehicleid, VehPos[vehicleid][3]);
        }
        else
        {
            UPDATE:
            UpdateVehiclePos(vehicleid, 0);
        }
        return 1;
}

stock Difference(Float:Value1, Float:Value2)
{
        return floatround((Value1 > Value2) ? (Value1 - Value2) : (Value2 - Value1));
}

stock bool: UseCar(carid)
{
        for(new i; i != GetMaxPlayers(); i++)
        {
            if(!IsPlayerConnected(i)) continue;
            if(IsPlayerInVehicle(i, carid)) return true;
        }
        return false;
}

stock SetVehiclePosition(vehicleid, Float:X, Float:Y, Float:Z)
{
        SetVehiclePos(vehicleid ,X,Y,Z);
        UpdateVehiclePos(vehicleid, 0);
}

/*stock bool: StopCar(carid)
{
        new Float:Pos[3];
        GetVehicleVelocity(carid, Pos[0], Pos[1], Pos[2]);
        if(Pos[0] == 0.0 && Pos[1] == 0.0 && Pos[2] == 0.0) return true;
        return false;
}*/


Автор:Games

Автор - admin
Дата добавления - 11.06.2013 в 01:05:45
prodietherДата: Понедельник, 03.04.2017, 17:21:11 | Сообщение # 2

Группа: Пользователи
Сообщений: 3
Ох, кто нибудь ещё бы объеденил все античиты :D 
А так, спасибо)
 
СообщениеОх, кто нибудь ещё бы объеденил все античиты :D 
А так, спасибо)

Автор - prodiether
Дата добавления - 03.04.2017 в 17:21:11
Форум » Pawno » Анти-читы » pawno урок анти-чит телепорт машин к себе с помощ1ю sobeit
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
10:58:57
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2024

vkontakte :samp-pawno.ru: