Вопросы

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

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

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

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


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

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

  • 0

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

 

"%d:%d"

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

"%02d:%02d"

 

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


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

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

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

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


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

@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

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

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


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

@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 А как сделать что бы обновлялось?

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


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

@Mason, в моде есть минутный таймер? Секундный?

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


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

@Cawfee Это как?

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


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

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

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


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

@Cawfee Не знаю

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


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

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

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


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

@Cawfee Нет нету

@Cawfee Но установить этот параметр туда можно

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


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

@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

@Cawfee А как это сделать?

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


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

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

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


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

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

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

    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
    • Redmondd
      От Redmondd
      Когда в игре ввожу команду /gps, нажимаю на Важные места то окно просто закрывается, так же с Государственными организациями и Вокзалами