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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 3 из 3
  1. #1
    Аватар для Simlish
    Пользователь

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

    Глобальные и индивидуальные ежесекундные оюновления

    Здравствуйте обитатели Pro-pawn.ru.

    Я не совсем уверен в практичности моих действий, а именно в обновлениях игрока. Вот что я сделал на данный момент. Вот таким образом я создал индивидуальные таймеры
    PHP код:
    enum PlayerInfo
    {
    // тут у меня и другое :D
        
    pTimer
    };
    new 
    pInfo[MAX_PLAYERS][PlayerInfo];

    public 
    OnPlayerConnect(playerid)
    {
    //
        
    pInfo[playerid][pTimer] = SetTimerEx("OnIndividualUpdate"2501"d"playerid);  
        return 
    true;
    }

    public 
    OnPlayerDisconnect(playeridreason)
    {
    //
        
    KillTimer(pInfo[playerid][pTimer]);  
        return 
    true;
    }

    forward OnIndividualUpdate(playerid);
    public 
    OnIndividualUpdate(playerid)
    {
        foreach(
    Playerp)
        {
            
    // бла бла бла
        
    }
        return 
    true;

    а таким глобальные
    PHP код:
    public OnGameModeInit()
    {
        
    SetTimer("OnGlobalUpdate"1000true);
        return 
    true;
    }

    forward OnGlobalUpdate();
    public 
    OnGlobalUpdate()
    {
        foreach(
    Playerp)
        {
            
    // asdasdas
        
    }
        return 
    true;

    Я правильно делаю? Или такой вариант не практичен в использовании + я не имею представления, что и когда использовать. :(

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

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Говорят, что индивидуальные таймеры лучше глобальных, хотя я не уверен..

    PHP код:
    forward OnIndividualUpdate(playerid);
    public 
    OnIndividualUpdate(playerid)
    {
        foreach(
    Playerp)
        {
            
    // бла бла бла
        
    }
        return 
    true;

    Здесь
    PHP код:
    foreach(Playerp
    лишний, т.к. таймер будет для каждого игрока создаваться и делать там цикл не нужно.
    Skype: vitya.saveliev


  3. Пользователь сказал cпасибо:
    Simlish (29.04.2015)
  4. #3
    Аватар для Simlish
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.04.2015
    Сообщений
    8
    Репутация:
    0 ±
    Спасибо. Доверюсь твоему предчувствию и буду юзать индивидуальные. Что мне в них нравится, что они при выходе игрока удаляются :)
    Hello World

 

 

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

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

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

Ваши права

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