Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 21 по 30 из 32
  1. #21
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от Flime Посмотреть сообщение
    Для проверки на НОП нужно выделять таймер. Т.к. из-за пинга телепортация проходит не моментально.
    + Я бы использовал тут не
    PHP код:
    GetPlayerDistanceFromPoint 
    , а собственные вычисления.
    Т.к. это исключит ложные срабатывания с парашютом.
    Вот что-то типо того:
    PHP код:
    new Float:Pos[3];
    GetPlayerPos(playeridPos[0], Pos[1], Pos[2]);
    new 
    _сount0 floatround((Pos[0] > player__pos[playerid][0]) ? (Pos[0] - player__pos[playerid][0]) : (player__pos[playerid][0] - Pos[0]));
    new 
    _сount1 floatround((Pos[1] > player__pos[playerid][1]) ? (Pos[1] - player__pos[playerid][1]) : (player__pos[playerid][1] - Pos[1]));
    if((
    _сount0 10 || _сount1 10)
    ... 
    + я бы убрал двойную проверку на координаты.
    Смысл?
    Лучше добавить этот античит в 250 млсек таймер и увеличить чувствительность.
    При использовании 250 млсек таймера и хорошо настроенном античите кикать за полеты на парашюте не будет.

    +Я бы добавил проверку на
    PHP код:
    GetPlayerSurfingVehicleID 

    Полеты на парашюте вроде-бы и сейчас позволяет. Что касаемо собственных расчетов, согласен, так будет точнее.

  2. #22
    Аватар для Valera_Trefilov
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    35
    Репутация:
    7 ±
    PHP код:
    static Float:sync_fPosition[MAX_PLAYERS][3];
    public 
    OnPlayerUpdate(playerid)
    {
        new 
    Float:NewPos[3];
        
    GetPlayerPos(playerid,NewPos[0],NewPos[1],NewPos[2]);
        if(
    GetPlayerDistanceFromPoint(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2])>5.0 &&
        
    sync_fPosition[playerid][0]!=0.0&&sync_fPosition[playerid][1]!=0.0&&sync_fPosition[playerid][2]!=0.0)
        {
            
    SetPVarInt(playerid,"POS",1);
             
    SetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        }
        else if(
    GetPVarInt(playerid,"POS")!=0)
            
    DeletePVar(playerid,"POS");
        if(
    GetPVarInt(playerid,"POS")==0)
            
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        return 
    1;


  3. #23
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от Valera_Trefilov Посмотреть сообщение
    PHP код:
    static Float:sync_fPosition[MAX_PLAYERS][3];
    public 
    OnPlayerUpdate(playerid)
    {
        new 
    Float:NewPos[3];
        
    GetPlayerPos(playerid,NewPos[0],NewPos[1],NewPos[2]);
        if(
    GetPlayerDistanceFromPoint(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2])>5.0 &&
        
    sync_fPosition[playerid][0]!=0.0&&sync_fPosition[playerid][1]!=0.0&&sync_fPosition[playerid][2]!=0.0)
        {
            
    SetPVarInt(playerid,"POS",1);
             
    SetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        }
        else if(
    GetPVarInt(playerid,"POS")!=0)
            
    DeletePVar(playerid,"POS");
        if(
    GetPVarInt(playerid,"POS")==0)
            
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        return 
    1;

    чёт не фурычит

  4. Пользователь сказал cпасибо:
    Unreal (19.09.2015)
  5. #24
    Аватар для SonyDeathRu
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.05.2015
    Адрес
    Пятигорск
    Сообщений
    4
    Репутация:
    0 ±
    Ложные срабатывния есть *__*

  6. #25
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    Цитата Сообщение от SonyDeathRu Посмотреть сообщение
    Ложные срабатывния есть *__*
    ok, спасибо. Только забыл рассказать какие и в какой ситуации, а так полезный пост =)

  7. #26
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Цитата Сообщение от Valera_Trefilov Посмотреть сообщение
    PHP код:
    static Float:sync_fPosition[MAX_PLAYERS][3];
    public 
    OnPlayerUpdate(playerid)
    {
        new 
    Float:NewPos[3];
        
    GetPlayerPos(playerid,NewPos[0],NewPos[1],NewPos[2]);
        if(
    GetPlayerDistanceFromPoint(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2])>5.0 &&
        
    sync_fPosition[playerid][0]!=0.0&&sync_fPosition[playerid][1]!=0.0&&sync_fPosition[playerid][2]!=0.0)
        {
            
    SetPVarInt(playerid,"POS",1);
             
    SetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        }
        else if(
    GetPVarInt(playerid,"POS")!=0)
            
    DeletePVar(playerid,"POS");
        if(
    GetPVarInt(playerid,"POS")==0)
            
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
        return 
    1;

    AirBreak блокирует SetPlayerPos
    Skype: vitya.saveliev


  8. #27
    Аватар для Kurbanoff
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2015
    Сообщений
    73
    Репутация:
    2 ±
    До тех пор этот античит (на AirBreak) работает? кто нибудь может одобрять?
    level in scripting: beginner

  9. #28
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    А от падение не будут ложные срабатывание? Это учтено?
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  10. #29
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    stock WAC_SetPlayerPos(playeridFloat:x,Float:y,Float:z)
    {
        
    Player_Pos[0][playerid] = x;
        
    Player_Pos[1][playerid] = y;
        
    Player_Pos[2][playerid] = z;
        
        
    #if defined SetPlayerPos
            #undef SetPlayerPos
        #endif
        
    SetPlayerPos(playeridx,y,z);
        
    #define SetPlayerPos WAC_SetPlayerPos
            
    Player_Off_Protect[playerid] = 2;
            if(!
    IsPlayerInRangeOfPoint(playerid10.0x,y,z)) return Kick(playerid); // NOP 
        
    return 1;

    Если мэн уйдёт в афк и его тпнут то на него сработает кик в таком варианте)))
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  11. #30
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    PHP код:
    stock WAC_SetPlayerPos(playeridFloat:x,Float:y,Float:z)
    {
        
    Player_Pos[0][playerid] = x;
        
    Player_Pos[1][playerid] = y;
        
    Player_Pos[2][playerid] = z;
        
        
    #if defined SetPlayerPos
            #undef SetPlayerPos
        #endif
        
    SetPlayerPos(playeridx,y,z);
        
    #define SetPlayerPos WAC_SetPlayerPos
            
    Player_Off_Protect[playerid] = 2;
            if(!
    IsPlayerInRangeOfPoint(playerid10.0x,y,z)) return Kick(playerid); // NOP 
        
    return 1;

    Если мэн уйдёт в афк и его тпнут то на него сработает кик в таком варианте)))
    А разве это не сработает в любом случае? Попробуйте тпхунть кого-либо более чем на 10 метров (даже не в афк).
    Ведь существует пинг, и только по его прошествию клиент применит позицию и отошлёт обратно, мол, он там где и должен быть.
    В коде же выше такое не учитывается.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

 

 
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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