Sign in to follow this  
Followers 0
Vefang

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

2 posts in this topic

Здравствуйте, дорогие друзья! Возможно, кому-то пригодится данная система.
Каждые 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;
}

 

Share this post


Link to post
Share on other sites

@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;
}

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Vanilin
      By Vanilin
      Я установил клиент и сервер сампа 0.3.8 , поставил новые скины в папку models и сделал команду для смены скинов. Но когда захожу на сервер и изменяю скин на тот который в models мне изменяет скин на какой то другой. После вообще ломается смена скинов и практически все скины приобретают вид того скина, который я пытался установить, а нулевой скин( т е скин сиджея) меняется на другой. Я пробывал несколько раз переустанавливать и сам самп(включая устоновку более старых версий rc3, rc2) и гта в целом, но не помогает.
       
      P.S. При заходе на сервер скины подгружались нормально и в models/artconfig они пописаны
       
      *ссылка на фрапс*



    • RaymondVercetti
      By RaymondVercetti
      Я чайник конкретный в PAWNO, поставил мод и после перезахода на сервер слетает игровой уровень и ставится 0.
      В чём может быть проблема? (SAMP)
    • Missafe
      By Missafe
      Нужно разработать мобильное приложение – лаунчер SA:MP Mobile, на примере других мобильных лаунчеров SAMP. Можно по шаблону (если вы найдете), но он должен быть с уникальными элементами. Он будет содержать: панель новостей (вверху), кнопку запуска (снизу в центре), ссылку на соц. сети (снизу слева) и настройки (снизу справа), по углам форум и донат. В настройках нужны функции: поставить никнейм Nick_Name, переустановить игру. Со стороны лаунчеру нужно снять ограничение на машины и объекты. Фронт у нас на Figma