Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для AlexDizaro
    Пользователь

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

    Нужен перевод.

    Нужно перевести на более "простой" язык). Речь идет про индивидуальные таймеры для каждого игрока ( PlayerUpdate ).
    OnPlayerDisconnect не вызывается при дудосе, ох уж эти дудосиры...

    PHP код:
    отсальное обновляй через
    типа
    static tick_timer[MAX_PLAYERS];

    if 
    tick_timer(source) < 4
    tick_timer
    (source) += 1
    if tick
    и так до 4х
    обновляем то что нужно обновить за секунду
    но
    анти
    -читы туда не пихаем
    это раз
    в начале лучше делать проверку на коннект
    если её нет
    обнуляем все переменные
    и убиваем таймер
    таймер лучше создать через пвар
    пример
    SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer","d",playerid));
    убивать такKillTimer(GetPVarInt(playerid,"SourceTimer"));
    что ещё может освободить память в стеке 
    Особо интересны вот эти моменты :
    tick_timer(source)

    таймер лучше создать через пвар
    пример: SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer","d",playerid));
    убивать так: KillTimer(GetPVarInt(playerid,"SourceTimer"));
    Последний раз редактировалось AlexDizaro; 26.08.2015 в 23:31.

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

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    "Простой" - язык Pawn?

    В начало мода:
    PHP код:
    static tick_timer[MAX_PLAYERS]; 
    В OnPlayerConnect
    PHP код:
    SetPVarInt(playerid,"SourceTimer",SetTimerEx("UpdatePlayer"250true"i"playerid)); 
    PHP код:
    public UpdatePlayer(playerid)
    {
       if(!
    IsPlayerConnected(playerid)) return KillTimer(GetPVarInt(playerid,"SourceTimer"));
       if(
    tick_timer[playerid] < 4tick_timer[playerid]++; 
       else if(
    tick_timer[playerid] >= 4)
       {
           
    tick_timer[playerid] = 0;
             
    //Твой код
       
    }
       return 
    1;

    Skype: vitya.saveliev


 

 

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

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

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

Ваши права

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