Вопросы

Здравствуйте. Когда игрок нажимает на паузу, АФК работает, а когда просто играет, то у него над головой висит таймер с 0 минутами и 1 секундой.

 

Спойлер

new PlayerAFK[MAX_PLAYERS];

public OnGameModeInit()
{
    SetTimer("SecondUpdate"1000true);
    return 1;
}

public OnPlayerUpdate(playerid)
{
    PlayerAFK[playerid] = 0;
    return 1;
}

forward SecondUpdate(playerid);
public SecondUpdate(playerid)
{
    foreach(new i:Player)
    {
        PlayerAFK[i]++;
        if(PlayerAFK[i] >= 1)
        {
            new string[256] = "{FFFFFF}AFK";
            if(PlayerAFK[i] > 60)
            {
                format(string, sizeof(string), "%s%d ñåê.", string, PlayerAFK[i]);
            }
            else
            {
                new minute = floatround(PlayerAFK[i]/60, floatround_floor);
                new second = PlayerAFK[i] % 60;
                format(string, sizeof(string), "%s%d ìèí. %d ñåê.", string, minute, second);
            }
            SetPlayerChatBubble(i, string, -1201000);
        }
    }
    return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

@Tookie Johnson, каждую секунду у всс срабатывает таймер, в котором вы устанавливаете счетчик отсутствия в единицу. А далее проверяете, больше ли или раве этот счетчик единице (очевидно, это условие всегда истинно, потому что выше вы же этот счетчик и установили в единицу. И, поскольку условие истинно, на 1 секунду отображается текст над головой с информацией об AFK в течение секунды (ведь этот счетчик равен единице, значит игррк отсутствует одну секунду).

 

В условии просто возьмите запас: значение счетчика должно быть не больше или равно единице, а больше-равно двум или трем.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Cawfee @Cawfee,  доброе утро. Можете написать мне эту строчку с запасом? Просто я пока что не очень по тексту понимаю.

Поделиться сообщением


Ссылка на сообщение
  • 0
56 минут назад, Tookie Johnson сказал:

if(PlayerAFK >= 1)

 

38 минут назад, Cawfee сказал:

В условии просто возьмите запас: значение счетчика должно быть не больше или равно единице, а больше-равно двум или трем.

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Cawfee , ах, так вот как. Спасибо, я вас понял. Как проверю - сообщу. Я вам благодарен <3.

Заметка от Cawfee , создано

Сначала проверяйте, потом пишите результат. Сообщения в стиле "Сейчас проверю – отпишу" ни к чему.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Cawfee, error 033: array must be indexed (variable "PlayerAFK"). Падает на эту строку.

Поделиться сообщением


Ссылка на сообщение
  • 0

Смог сделать. Закрыто.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Angel69
      От Angel69
      Как изменить зарплаты в моде? 
      Грузчик-1.000.000 за раз, шахта-100.000 за кг,завод-1.000.000 за раз,лесорубка- 1.000.000 за раз
       
      main.pwn