Вопросы

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

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

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

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


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

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

  • 0

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

 

"%d:%d"

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

"%02d:%02d"

 

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


Ссылка на сообщение
  • 0
  В 5/15/2022 в 17:42, 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 пользователей онлайн

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

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

    • whccompany
      От whccompany
      Rostov Role Play | Rostov RP | CRMP Mobile Project объявляет набор людей в свою команду: Нам требуются:
       
      1. Маппера:
      Сдельная оплата труда от 250 до 3000 рублей/ за 1 работу
       
      2. Специалист по Text Draw:
      Сдельная оплата труда от 400 до 3500 рублей/ за одну работу
       
      3. Pawn разработчик:
      Заработная плата от 10 000 рублей/месяц
       
      4. Программист для создания лаунчера и сайта UCP с автодонатом:
      Заработная плата от 10 000 рублей/месяц
       
      Контакты для связи:
       
      ВКонтакте
       
      Telegram
       
    • Talex
      От Talex
      Игровой сервер Life Game RolePlay
      Скачать файл Игровой сервер Life Game RolePlay
      Добавил Talex Добавлено 28.01.2024 Категория Моды Автор Неизвестно  
    • Talex
      От Talex
      Игровой сервер Life Game RolePlay
    • Владислав2
      От Владислав2
      Здравствуйте, при компиляции появляется ошибка,

      Ошибка:
      error 017: undefined symbol "REP_KUZIA_TD"

      Строки:
       
          REP_KUZIA_TD[0] = TextDrawCreate(7.499990, 314.444396, "REP: 1");
          TextDrawLetterSize(REP_KUZIA_TD[0], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[0], 1);
          TextDrawColor(REP_KUZIA_TD[0], -1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          TextDrawSetOutline(REP_KUZIA_TD[0], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[0], 255);
          TextDrawFont(REP_KUZIA_TD[0], 1);
          TextDrawSetProportional(REP_KUZIA_TD[0], 1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          REP_KUZIA_TD[1] = TextDrawCreate(6.249957, 330.518493, "ASK: 0");
          TextDrawLetterSize(REP_KUZIA_TD[1], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[1], 1);
          TextDrawColor(REP_KUZIA_TD[1], -1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          TextDrawSetOutline(REP_KUZIA_TD[1], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[1], 255);
          TextDrawFont(REP_KUZIA_TD[1], 1);
          TextDrawSetProportional(REP_KUZIA_TD[1], 1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          return 1;
      }

      Буду рад если кто-то поможет