Вопросы

Mason
Постоянный

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

SetDynamicObjectMaterialText(mapping, 0"%d:%d"130"Tahoma"19000xFFFFFFFFFF00FF0001);

Как сделать так чтобы в тексте было время по москве?

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


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

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

  • 0
Cawfee
Великий Гуру

@Mason, если в настройках системы, на которой вы запускаете сервер, установлено московское время, тогда и функция gettime будет возвращать московское время.

 

"%d:%d"

Если, скажем, будет 2 часа ночи и 5 минут, тогда отображаемое время будет выглядеть примерно так: "2:5". Наверное, лучше требовать вывод чисел в двузначном виде с ведущими нулями.

"%02d:%02d"

 

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


Ссылка на сообщение
  • 0
Mason
Постоянный
  В 5/15/2022 в 17:42, Cawfee сказал:

@Mason, если в настройках системы, на которой вы запускаете сервер, установлено московское время, тогда и функция gettime будет возвращать московское время.

Читать далее...  

Ага а как сделать так чтобы это отображалось в тексте маппинга?

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, никогда не работал ни с маппингом, ни с текстурами, включая функции их редактирования. Как вариант, возьмите какой-нибудь готовый пример, где это используется, и играйтесь на нем.

 

Вот, например, рекламный щит.

new object = CreateObject(7910, -1933.23560.3441.20,   0.000.00180.00);   
SetObjectMaterialText(MyobjectObj, "некоторый текст"0, OBJECT_MATERIAL_SIZE_512x512,   
"Tahoma"3510xFFFF00000xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);

Создайте его, заменив текст на свой, а также перейдите по координатам этого щита, чтобы посмотреть, корректно ли отображается текст. Если все хорошо, тогда уже можно двигаться дальше – создавать своеобразный контроллер времени на этом объекте, чтобы отображаемое время синхронизировалось с реальным.

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


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee У меня уже есть готовая надпись и я задаюсь только одним вопросом как сделать так чтобы отображалось время чтобы задействовать %d и всунуть туда параметр для %d чтобы время отображалось если я его ввожу pawno %d в этом коде он воспринимает его как текст и он отображается на сервере

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason

new hour, minute; // объявление переменных для хранения времени
gettime(hour, minute, _); // вызов функции gettime, которая запишет часы в hour и минуты в minute

new string[10];
format(string, sizeof string, "%02d:%02d", hour, minute); // формирование строки для представления часов и минут в нужном виде

SetDynamicObjectMaterialText(mapping, 0, string, 130"Tahoma"19000xFFFFFFFFFF00FF0001);

Каждую минуту в каком-нибудь таймере (секундный, минутный) нужно будет проделывать эти действия, чтобы синхронизировать время. Позаботьтесь о сохранении идентификатора этого объекта карты в глобальной области видимости (в сегменте данных), чтобы иметь возможность обратиться к нему извне.

 

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, таймер, вызывающийся с интервалом в секунду (каждую секунду) или в минуту (каждую минуту). Обычно используется для всяких бонусов, а-ля PayDay.

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, имеет смысл посмотреть в OnGameModeInit на предмет существования там функций SetTimer.

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, добавьте в OnGameModeInit:

SetTimer("@MinuteTimer"1000*60true);

И куда-нибудь в игровом моде:

@MinuteTimer();
@MinuteTimer() {
    new hour, minute; // объявление переменных для хранения времени
    gettime(hour, minute, _); // вызов функции gettime, которая запишет часы в hour и минуты в minute

    new string[10];
    format(string, sizeof string, "%02d:%02d", hour, minute);

    SetDynamicObjectMaterialText(mapping, 0, string, 130"Tahoma"19000xFFFFFFFFFF00FF0001);
}

Переменную mapping вынесите в глобальную область видимости (и было бы неплохо переименовать ее).

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


Ссылка на сообщение
  • 0
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

@Mason, что тебе еще сделать надо? Мод за тебя написать? Тебе уже дали готовый вариант, в чем твоя проблема?

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


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

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

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

    • S.S.
      От S.S.
      Здрасвуйте, хочу спросить как делают свои лаунчеры с загрузкой даных от сервера (Свои скины, авто и т.д.). Много искал в интернете и ничего не нашел. Кто что знает? Где можно об этом почитать?