(Ace) ARK Game Time RGSS3

Больше
12 года 7 мес. назад - 12 года 7 мес. назад #65172 от Arykray
Arykray создал тему: (Ace) ARK Game Time RGSS3
ARK Game Time RGSS3

Автор: Arykray
Версия: 1.0.0
Дата: 07.10.2013
Версия мейкера: RPG Maker ACE 1.02a
Демо: Скачать
Скриншот:


Описание:
Скрипт позволяет создавать и редактировать игровую дату, то есть год, месяц, день, а также время. Добавляет в меню окно отображающее вышеуказанные данные.
Фактически является доработанной и дополнений версией скрипта (XP) ARK Game Time

Настройки скрипта:
В скрипте имеются несколько переменных отвечающих за настройку:
$tspeed - скорость течения времени варьируется от 1 - до 60 1- медленно 60 - быстро
$year - стартовый год игры
$month - стартовый месяц игры
$day - стартовый день игры
$hour - стартовый час игры
$min - стартовая минута игры

При помощи скриптов в событиях можно изменить дату
Изменение любой из переменной к примеру $year = $year + 1 или $year = 750 приведет к изменению года, + 1 к текущему году или установить 750 год текущим соответственно.

Также в событиях можно скриптом вызвать метод data_change(год, месяц, день, час, минута) все переменные обязательны для заполнения, только числами иначе мейкер выдаст ошибку.

Если кому лень качать демо, вот листинг, ставится в скрипты до main.

Скрипт:
Листинг кода

Скрипт будет дорабатываться и дополнятся, в планах реализация времени суток и сезонов.
Сразу оговорюсь, я четыре года не брался за Ruby, вспоминаю постепенно...
Приветствуются любые комментарии, и предложения, а так же критика ну как-же без нее)))

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 12 года 7 мес. назад пользователем Arykray.
Спасибо сказали: sinder, Amphilohiy, SailorSaturn, Yros, aval__

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
12 года 7 мес. назад #65173 от Lekste
Lekste ответил в теме (Ace) ARK Game Time RGSS3
Круто. Но лучше бы число дней в месяце сделал массивом и брал нужное значение по номеру месяца.
Так же и с годами Високосный/Не високосный

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65174 от DarkKel
DarkKel ответил в теме (Ace) ARK Game Time RGSS3
Скорость течения времени в чем измеряется ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад - 12 года 7 мес. назад #65175 от Arykray
Arykray ответил в теме (Ace) ARK Game Time RGSS3
Дело в том, что скрипт позволяет менят количество дней в месяце а также количество самих месяцев. В скором обновлении стандартных месяце не останется, месяца будут вроде: Месяц Двух Лун, Месяц Красных Закатов, месяц Урожая и будет их не 12.

Скорость времени измеряется в данном скрипте количеством сенунд в минуте.
$tspeed - это делитель количества секунд @sm = sec / $tspeed.
Чем больше значение $tspeed, тем меньше.

P.S. Сейчас окончательно проснусь, раскажу понятней, мозг до конца еще не включился)))

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 12 года 7 мес. назад пользователем Arykray.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65176 от Dprizrak1
Dprizrak1 ответил в теме (Ace) ARK Game Time RGSS3
А время, дата, месяц, год делается с помощью переменных?

(^_^)
Этот форум слишком умный для меня

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад - 12 года 7 мес. назад #65177 от Arykray
Arykray ответил в теме (Ace) ARK Game Time RGSS3
В принципе да, в скрипте изменить значения переменных для стортовых даты и времени.
Или же на карте создать событие, вставить туда скрипт с кодом: data_change(год, месяц, день, час, минута)
Пример: data_change(3765, 04, 29, 15, 00) - после вызова события дата будет установлена на 29 Апреля 3765 года, а время будет 15:00.

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 12 года 7 мес. назад пользователем Arykray.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65180 от DarkKel
DarkKel ответил в теме (Ace) ARK Game Time RGSS3
Т.е. если в скорости стоит 60 - то 1 игровая минута=1 реальная минута ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65181 от Arykray
Arykray ответил в теме (Ace) ARK Game Time RGSS3
Наоборот, если в скорости 1 то минута примерно равна реальной минуте.
1-медлено 60-быстро
Скорость 60 примерно равно 16.5 милисекунд

Чем сложнее задача - тем проще ее не решать.

[img

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65184 от Dprizrak1
Dprizrak1 ответил в теме (Ace) ARK Game Time RGSS3
Спасибо за такой скрипт))

(^_^)
Этот форум слишком умный для меня

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад #65186 от DarkKel
DarkKel ответил в теме (Ace) ARK Game Time RGSS3
А может все таки свести значения скорости к реальному времени ? )
Для более "точных" настроек.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 7 мес. назад - 9 года 3 мес. назад #65187 от Arykray
Arykray ответил в теме (Ace) ARK Game Time RGSS3
Я уже думал над этим, есть пару вещей которые заставили отказаться от этой идеи.
1. Хотя в мейкере и присутствует встроенный клас Time.now - способный показать текущую локальную дату,
производить вычисление времени с его помощью, довольно неудобно, особенно если стартовая дата в игре может меняться, или к примеру число месяцев в году не равно 12.

2. Все временные события в мейкере считаются путем деления Graphics.frame_count на Graphics.frame_rate
Graphics.frame_rate - Количество кадров в секунду по умолчанию = 60
Graphics.frame_count - Счетчик частоты обновления экрана по умолчанию = 0
При снандартных установках 1 секунда = Graphics.frame_count / Graphics.frame_rate - что не совсем верно, если мейкер будет подвисать, из-за событий к примеру, то частота обновления экрана снижается, что приводит к замедлению времени. В любом случае скорость течения времени, период в 1 секунду в игре, будет отличатся от 1 реальной секунды.

Если уж на то пошло установите в переменную $speed = 1 - значение по умолчанию. Скорость времени будет почти эквивалентна настоящему. Заменить 121 строку в скрипте на text = sprint("%02d:%02d:%02d", hour, min, sec) для отображения секунд.
Кажется как-то так.

P.S. Скрипт писался в основном для фэнтези игр где и сутки короче, и год меньше, и месяца называются не так, а не для исторических, это просто излишки производства.

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 9 года 3 мес. назад пользователем Arykray.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Готв Программист JavaScript Разработчик Проект месяца 2 место 2 место Готв
Больше
12 года 6 мес. назад #65233 от sinder
sinder ответил в теме (Ace) ARK Game Time RGSS3
А можно пихнуть сюда не только отображение часа и минуты, а и секунд? Еще было бы круто, вызывать эти часы не только в меню, для себя это я и сам могу сделать, но все же. Так же я бы не отказался от возможности ставить часы на паузу.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
12 года 6 мес. назад #65235 от Cerberus
Cerberus ответил в теме (Ace) ARK Game Time RGSS3
Из предыдущего сообщения:

Arykray пишет: Замениту 121 сктроку в скрипте на text = sprintf("%02d:%02d:%02d", hour, min, sec) для отображеня секунд.


Жуть болотная, на лапках, в тапках и с пулемётом...
Спасибо сказали: sinder

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место Готв Программист JavaScript Разработчик Проект месяца 2 место 2 место Готв
Больше
12 года 6 мес. назад #65236 от sinder
sinder ответил в теме (Ace) ARK Game Time RGSS3
Ок спасибо, завтыкал, но мне больше пауза нужна)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
12 года 6 мес. назад - 12 года 6 мес. назад #65243 от DeadElf79
DeadElf79 ответил в теме (Ace) ARK Game Time RGSS3
[qoute]Месяц Двух Лун, Месяц Красных Закатов, месяц Урожая[/quote]
Месяц Спать, Месяц Работать... *красные глаза*

Интересная вещь, хотя и не пригодится мне. Спасибо за труды :laugh:
Последнее редактирование: 12 года 6 мес. назад пользователем DeadElf79.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
12 года 3 мес. назад #67667 от Amphilohiy
Amphilohiy ответил в теме (Ace) ARK Game Time RGSS3
По неким остоятельствам прошелся по скрипту, ну и думаю дать пару советов/замечаний.
1) Посмотреть текущую дату с помощью скрипта сложно (например поставив в событие условие скриптом, то я бы сказал нереально, считай все в ручную считать)
2) Нет псевдонимов (alias), ни в модуле DataManager, ни в классе Scene_Menu. То бишь совместимость тут сильно прихрамывает.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
12 года 2 мес. назад - 12 года 2 мес. назад #68063 от yuryol
yuryol ответил в теме (Ace) ARK Game Time RGSS3
можно ли с помощью этого скрипта сделать условие в духе "если такой-то день такого-то года,то тебе даются деньги/оружие/вещи"?
Последнее редактирование: 12 года 2 мес. назад пользователем yuryol.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 1 мес. назад #68133 от Arykray
Arykray ответил в теме (Ace) ARK Game Time RGSS3
Думаю вполне, по проверке условий.
Извиняйте, комп продал, у меня сейчас камменный век, проц на 950 ГЦ, только читать и писать могу)))

Чем сложнее задача - тем проще ее не решать.

[img

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.138 секунд
Работает на Kunena форум