- Сообщений: 173
- Спасибо получено: 6
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
[VX] Смена дня и ночи на всех картах сразу
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Могу предложить один дедовский способ. По сути, это создание таймера через переменные и ветвления условий.
Просто делаем переменную "секунды", к ней каждую секунду прибавляем единицу.
Далее делаем ветвление условий: если переменная «секунды» равна 60, то прибавляем единицу к переменной «минуты», а переменную «секунды» делаем равной нулю.
Таким же образом делаем и часы, и дни, и месяцы, и годы.
Всё это должно идти параллельным процессом в Common Events.
Таким образом, мы сделали таймер внутри игры.
Как их загнать в меню не знаю, но можно сделать вещь «часы», которая бы выводила значения переменных «минуты», «часы», «дни» на экран в виде текстового сообщения.
Псевдофилософ
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
и ещё что делать с локациями где исполюзуется своя освещённость ? (некоторые здания, локация кладбище которая открыта днём , но в ней темно как вечером)
to AnnTenna
Спасибо за статью многое из неё подметил собираюсь добавить в игру
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Сделаем так, чтобы ивент смены освещения включался переключателем, скажем, "свет".Scorpio пишет: Проблема в следующем заходя в другую локацию там или не меняется освещённость или она становится обычной - что может быть проблемой? кстате протестил скрипт Thomas Edison хорошая вещь , но сейчас не об этом
и ещё что делать с локациями где исполюзуется своя освещённость ? (некоторые здания, локация кладбище которая открыта днём , но в ней темно как вечером)
Теперь придётся сделать ужасную работу. В каждый телепорт вставить переключатель, который бы выключал событие "освещение" при входе на территорию с другой освещённостью и менял её на ту, которая нам нужна.
При выходе с этой территории в телепортах должен стоять этот же переключатель, только в положении включить.
Псевдофилософ
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
# The IDs of maps that have time (it is paused at night or day on other maps)
TIME_MAPS = [ 12, 38]
# first is the hour when it becomes day, the second is when it becomes night
PHASE_CHANGE_HRS = [6, 18]
# ID of the common event played when it becomes day
TO_DAY_CE_ID = 17
# ID of the common event played when it becomes night
TO_NIGHT_CE_ID = 18
end
class TimeSys
def initialize(start_times)
$time_frames = start_times[0]
$shown_secs = start_times[1]
$shown_mins = start_times[2]
$shown_hrs = start_times[3]
#$phase_hrs = start_times[4]
$day_phase = start_times[5]
$date = start_times[6]
#$ttl_secs = $time_frames/60
#$ttl_mins = $ttl_secs/60
#$ttl_hrs = $ttl_mins/60
#$day_phase = $ttl_hrs/60
#$shown_frames = shown_frames
end
def pause
$paused = true
end
def start
$paused = false
end
def update
unless $paused or !Mm12::TIME_MAPS.include?($game_map.map_id)
$time_frames += 1
if $time_frames >= 10
if Input.press?(Input::Alt)
$shown_mins += 2
end
$shown_mins += 1
$time_frames = 0
end
=begin
$shown_secs += 1
if $shown_secs >= 30
$shown_mins += 1
$shown_secs = 0
end
=end
if $shown_mins >= 60
$shown_hrs += 1
$shown_mins = 0
end
if Mm12::PHASE_CHANGE_HRS[0] == $shown_hrs and $day_phase != 0
$day_phase = 0
change_phase(0)
elsif Mm12::PHASE_CHANGE_HRS[1] == $shown_hrs and $day_phase != 1
$day_phase = 1
change_phase(1)
end
if $shown_hrs >= 24
$date += 1
$shown_hrs = 0
end
end
end
def change_phase(new_phase)
case new_phase
when 0
$game_temp.common_event_id = Mm12::TO_DAY_CE_ID
when 1
$game_temp.common_event_id = Mm12::TO_NIGHT_CE_ID
end
end
end
$timesys = TimeSys.new([0, 0, 0, 7, 0, 0, 1])
class Scene_Map
alias time_sys_update update unless $@
def update
time_sys_update
$timesys.update
if Input.press?(Input::Alt)
$time_frames += 2
#$timesys.update
end
end
end
def time_string
hrs = $shown_hrs.to_s
if $shown_mins < 10
mins = ":0" + $shown_mins.to_s
else
mins = ":" + $shown_mins.to_s
end
if $shown_secs < 10
secs = ":0" + $shown_secs.to_s
else
secs = ":" + $shown_secs.to_s
end
return hrs + mins
end
def become_day
$date += 1 if $shown_hrs >= 6
$time_frames = 0
$shown_secs = 0
$shown_mins = 0
$shown_hrs = 6
$day_phase = 0
$game_map.setup_fog
end
def become_night
$time_frames = 0
$shown_secs = 0
$shown_mins = 0
$shown_hrs = 18
$day_phase = 1
$game_map.setup_fog
end
class Game_Map
def autoplay
@map.bgm.play if @map.autoplay_bgm and ($day_phase == 0 or !Mm12::TIME_MAPS[@map_id])
@map.bgs.play if @map.autoplay_bgs
end
end
class Window_Message < Window_Selectable
alias mm12_time_sys_convert_special_characters convert_special_characters unless $@
#
# * Convert Special Characters
#
def convert_special_characters
mm12_time_sys_convert_special_characters
@text.gsub!(/\\time/) { time_string }
end
end
Принцип его работы не знаю, так как не планирую его использовать... Но если сам не разберешся, то пиши, поковыряюсь, хотя сложным он не должен быть...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Создаеш два общих события, например: Day и Night и указываеш их ID в пунктах TO_DAY_CE_ID = X и TO_NIGHT_CE_ID = X...
А вот уже в самих событиях прописываеш условия, которые будут происходить днем и ночью...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- SaretOdin-Sol
-
- Не в сети
- Давно я тут
-
- Жизнь - не игра...Хотя кого это колышет?
- Сообщений: 475
- Спасибо получено: 77
Попробуй этот скрипт.
Этот скриптец поприличней выглядит чем вышенаписанный.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
