Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9

Тема: AirBreak Detect

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

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    35
    Репутация:
    7 ±

    AirBreak Detect

    PHP код:
    static
        
    Float:sync_fPosition[MAX_PLAYERS][3],
        
    sync_summ[MAX_PLAYERS],
        
    bool:sync_pos[MAX_PLAYERS],
            
    Tick[MAX_PLAYERS];

    public 
    OnPlayerUpdate(playerid)
    {
        if(
    sync_fPosition[playerid][0]==0.0 && sync_fPosition[playerid][1]==0.0 && sync_fPosition[playerid][2]==0.0)
            return 
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);

       new 
    distance=floatround(GetPlayerDistanceFromPoint(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]));

       new 
    get_tick=GetTickCount()-Tick[playerid];
       new 
    MAX_DISTANCE=2000/get_tick;

        if(
    distance>MAX_DISTANCE)
        {
            
    sync_pos[playerid]=false;
            
    SetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
            
    sync_summ[playerid]++;
            if(++
    sync_summ[playerid]>49<<3/10)
            {
                
    sync_summ[playerid]=0;
                
    sync_fPosition[playerid][0]=0;
                
    sync_fPosition[playerid][1]=0;
                
    sync_fPosition[playerid][2]=0;
                 
    Kick(playerid);
                 return 
    0;
            }
            
    sync_summ[playerid]--;
        }
        else if(!
    sync_pos[playerid])
            
    sync_pos[playerid]=true;
        if(
    sync_pos[playerid])
            
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]),Tick[playerid]=GetTickCount();
        return 
    1;

    Последний раз редактировалось Valera_Trefilov; 11.02.2015 в 18:44.

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    if(++sync_summ[playerid]>49<<3/10
    wtf?!

  3. #3
    Аватар для Brendan
    Новичок

    Статус
    Оффлайн
    Регистрация
    25.02.2014
    Адрес
    Russia | Kirov
    Сообщений
    21
    Репутация:
    3 ±
    Лол, что за ерунда?
    Протестировал он появляется под фермой и так пока не кикнет...

    - - - Добавлено - - -

    И что if(++sync_summ[playerid]>49<<3/10) - это означает?

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

    Статус
    Оффлайн
    Регистрация
    10.12.2013
    Сообщений
    35
    Репутация:
    7 ±
    Цитата Сообщение от Brendan Посмотреть сообщение
    Лол, что за ерунда?
    Протестировал он появляется под фермой и так пока не кикнет...

    - - - Добавлено - - -

    И что if(++sync_summ[playerid]>49<<3/10) - это означает?
    это логический алгоритм просчета NOP SetPlayerPos

    насчет бага с тп. вот фикс:

    PHP код:
    forward AC_SetPlayerPos (playerid,Float:X,Float:Y,Float:Z);
    public 
    AC_SetPlayerPos (playerid,Float:X,Float:Y,Float:Z)
    {
           
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
           return 
    SetPlayerPos(playerid,X,Y,Z);
    }

    forward AC_SetVehiclePos (vehicleid,Float:X,Float:Y,Float:Z);
    public 
    AC_SetVehiclePos (vehicleid,Float:X,Float:Y,Float:Z)
    {
           for new 
    playerid=0;playerid!=MAX_PLAYERS;playerid++ do
           {
                   if(
    vehicleid!=GetPlayerVehicleID(playerid))
                      continue;
                   
    GetPlayerPos(playerid,sync_fPosition[playerid][0],sync_fPosition[playerid][1],sync_fPosition[playerid][2]);
           }
           return 
    SetVehiclePos(vehicleid,X,Y,Z);
    }
    #define SetPlayerPos AC_SetPlayerPos
    #define SetVehiclePos AC_SetVehiclePos 
    Последний раз редактировалось Valera_Trefilov; 11.02.2015 в 18:36.

  5. #5
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Может Вы подскажите как его высчитали?

  6. #6
    Аватар для TekVak
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.11.2014
    Сообщений
    6
    Репутация:
    0 ±
    Даже не работает...

  7. #7
    Аватар для [P-P]ColoradoRP
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    06.02.2015
    Сообщений
    25
    Репутация:
    4 ±
    Не пашет

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

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    258
    Репутация:
    6 ±
    Цитата Сообщение от TekVak Посмотреть сообщение
    Даже не работает...
    Могу дать который есть у меня, но там не работает в тачке)

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

    Статус
    Оффлайн
    Регистрация
    03.11.2014
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от Maks5 Посмотреть сообщение
    Могу дать который есть у меня, но там не работает в тачке)
    Давай! Буду благодарен! Прошу в скайп: flikzet

 

 

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

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

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

Ваши права

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