Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: Система игрового времени [VXA]

Система игрового времени [VXA] 10 года 10 мес. назад #60787

  • MDiS
  • MDiS аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 27
  • Спасибо получено: 2
Требуется скрипт на создание внутри-игрового времени. Не обязательно Часы:Минуты, важнее День:Месяц:Год. И что бы можно было настраивать что при переходе с локации на локацию проходило какое-то время.
Если уже есть скрипт то пожалуйста ссыль на бэтту. А если можно в ручную то объясните как.
Заранее спасибо.
Администратор запретил публиковать записи гостям.

Система игрового времени [VXA] 10 года 10 мес. назад #60792

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • 3 местоОрганизатор конкурсовПроект месяца 2 местоПобедитель Сбитой кодировкиПисатель 3 местоПроект месяца 3 место2 место Сбитая кодировкаПроект месяца 1 место3 место Готв2 место
Такой вопрос: где должно проявляться это самое время? Потому что у меня стойкое ощущение, что это совершенно реально сделать эвентами, если не требовать каких-то сильно нестандартных вещей типа его вывода в обычном меню.
Как это делается. Заводите три переменные (день/месяц/год соответственно). При переходе - прибавляете n дней. В параллельном событии - проверяете, не вышел ли день за границу месяца, если да - сдвигаете месяц; если месяц вышел за границу года - сдвигаете год. Ну и реакцию вводить в зависимости от значений этих переменных. Немного абстрактно, кажется, рассказал, но при небольшом знакомстве с переменными, по идее, должно быть понятно. Жду уточняющих вопросов, если что :)
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Система игрового времени [VXA] 10 года 10 мес. назад #60797

  • MDiS
  • MDiS аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 27
  • Спасибо получено: 2
Время должно появляться так же как и название локации. То есть при входе на локацию высветилось к примеру:
Город 10/02/999.
Но самое главное время должно меняться только если ты из одной локации в другую перешёл, а не вышел вошёл, а уже завтра.
Администратор запретил публиковать записи гостям.

Система игрового времени [VXA] 10 года 10 мес. назад #60798

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • 3 местоОрганизатор конкурсовПроект месяца 2 местоПобедитель Сбитой кодировкиПисатель 3 местоПроект месяца 3 место2 место Сбитая кодировкаПроект месяца 1 место3 место Готв2 место
Скрипт на смену названия локации:
class Game_System
 
  alias orig_init initialize
 
  def initialize
    @names = []
    orig_init
  end
 
  def setname(name, id)
    @names[id] = name
  end
 
  def getname(id)
    @names[id]
  end
end
 
class Game_Map
 
  alias orig_setup setup
 
  def setup(map_id)
    orig_setup(map_id)
    if $game_system.getname(map_id) != nil
      @map.display_name = $game_system.getname(map_id)
    end
  end
 
  def setname(name)
    $game_system.setname(name, map_id)
    if name != nil
      @map.display_name = name
    end
  end
end
Вызов: $game_map.setname(новое-имя), где новое-имя - либо строка в кавычках, либо переменная.
Сгенерировать имя с переменными: sprintf("Город %d-%d-%d", $game_variables[day], $game_variables[month], $game_variables[year]), где day, month, year - номера соответствующих переменных (вместо "города" подставите нужное название).
То есть, смена имени выглядит так: $game_map.setname(sprintf("Имя-локации %d-%d-%d", $game_variables[day], $game_variables[month], $game_variables[year])).
Если не очень понятно - попробую сварганить демку.
По идее, этого должно быть достаточно. Насчёт "самого главного" - не совсем понял проблему, если честно.
Жуть болотная, на лапках, в тапках и с пулемётом...
Администратор запретил публиковать записи гостям.

Система игрового времени [VXA] 10 года 10 мес. назад #60800

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • 1 место в ГотвПроект месяца 1 местоУчительВетеранПрограммист Ruby3 местоОрганизатор конкурсовПроект месяца 2 местоПисатель 3 место
автор, вообще можно сделать иначе - поставить систему смены дня и ночи, которая будет меняться автоматом со временем и плавными переходами от одного к другому. а потом, когда ночью в гостинице какой-нибудь ляжешь спать, выставить время утра и как будто уже день прошел.
не говорю, что это решение, но я пытался понять, что ты имел ввиду под самым главным.
Администратор запретил публиковать записи гостям.

Система игрового времени [VXA] 10 года 10 мес. назад #60803

  • MDiS
  • MDiS аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 27
  • Спасибо получено: 2
Спасибо за помощь.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.175 секунд