Подсказка информации каждые 10 минут.

В теме 2 сообщения

Здравствуйте, дорогие друзья! Возможно, кому-то пригодится данная система.
Каждые 10 минут на сервере будет выводиться подсказка текста по очереди.

В начале мода.
 

#define publics:%0(%1)  forward %0(%1);public %0(%1)
#define MAX_TEXT 3 // Количество текстовых строк
#define MAX_TEXT_TIMES 10 // Интервал в минутах

new currentTextIndex = 0// Текущий индекс текста

new randomMessages[MAX_TEXT][128] =
{
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ",
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ",
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ"
};

В OnGameModeInit:
 

public OnGameModeInit()
{
   SetTimer("SendRandomMessage", MAX_TEXT_TIMES * 60 * 1000true);
   return 1;
}

В конце мода:
 

publics: SendRandomMessage()
{
    SendClientMessageToAll(-1, randomMessages[currentTextIndex]);

    currentTextIndex++;
    if (currentTextIndex >= MAX_TEXT)
    {
        currentTextIndex = 0;
    }

    return 1;
}

 

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


Ссылка на сообщение
Поделиться на другие сайты
Cawfee
Великий Гуру

@Vefang,

8 часов назад, Vefang сказал:

new currentTextIndex = 0// Текущий индекс текста

чем меньше глобальных переменных, тем код лучше со стороны его чистоты. Стоило рассмотреть применение локальной статической переменной.

 

8 часов назад, Vefang сказал:

if (currentTextIndex >= MAX_TEXT)

Ну, и в случае применения локальной переменной не имеет смысла проверять на больше или равно: достаточно лишь проверять на тождественность.

 

8 часов назад, Vefang сказал:

#define MAX_TEXT 3 // Количество текстовых строк

А для чего? Фактически сами увеличиваете затраты своего времени, возлагая на себя задачу, которую спокойно может выполнить компилятор.

 

Спойлер

#define publics:%0(%1)  forward %0(%1);public %0(%1)
#define MAX_TEXT_TIMES 10 // Интервал в минутах

new randomMessages[][128] =
{
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ",
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ",
    "{DC4747}[Подсказка]: СВОЙ ТЕКСТ"
};

const MAX_TEXT = sizeof(randomMessages); // Количество текстовых строк

publics: SendRandomMessage()
{
    static currentTextIndex = 0;
    SendClientMessageToAll(-1, randomMessages[currentTextIndex]);

    if (++currentTextIndex == MAX_TEXT)
    {
        currentTextIndex = 0;
    }

    return 1;
}

 

 

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • tomi
      От tomi
      cтолкнулся с ошибкой при запуске сервера
      Если поможете буду благодарен
      [OnQueryError] SQL ERROR. QUERY:
      0) OnQueryError | error: Table 'conveniencerp.apanel_settings' doesn't exist
      1) OnQueryError | callback: apanel_settings_loading
      2) OnQueryError | query: SELECT * FROM `apanel_settings`
      3) OnQueryError | errorid: 1146
    • flixees
      От flixees
      Здраствуйте увидел в интернете как люди совместили один проект с другим и хочу также сделать как? взяли один мод RADMIR RP и совместили всеми известный KAIF RP  и у них получился шедевр у них мод радмира но сборка кайф рп скрины ниже дам хочу сделать также у них буквально анлок сброка и мод радмира
       


    • JAFAR
      От JAFAR
      Мужики подскажите, раньше можно было подключать TextDraw через txt фаил дабы не было мусора в моде
      так вот скажите как вы это делаете так как я пытаюсь подключить TextDraw через мод у меня выскакивает ошибка:>
      warning 239: literal array/string passed to a non-const parameter
       
      Пример моего подключения TextDraw 
       
      В OnGameModeInit
          new Text:SuicideTD[41];
          SuicideTD[0] = TextDrawCreate(526.166687, 66.314811, "usebox");
          и.т.д
       
      не пойму в чём проблема?