- Сообщений: 3147
- Спасибо получено: 2651
[VX Ace] Шаблонные события
9 года 5 мес. назад - 9 года 4 мес. назад #95211
от DeadElf79
Информация:
Автор: DeadElf79
Версия скрипта: 1.0
Версия мейкера: VX Ace
Описание:
У вас есть множество совершенно одинаковых событий, которые вам надоело копировать с карты на карту? Поставьте этот скрипт, вынесите повторяющееся событие на отдельную карту и затем создавайте в нужных местах пустые ивенты, которые при запуске карты скрипт заполнит содержимым исходного события!
Установка:
1. Качаем и устанавливаем скрипт, как обычно . Настроек нет.
2. Создаем карту и называем ее "TEMPLATES" (без кавычек!)
3. Создаем на ней событие и даем ему уникальное имя (допустим, "YesIamIncrediblyUnique"), пишем туда какие-нибудь условия, ставим графику и всё такое.
4. Копируем имя этого события.
5. Идем на карту, где это событие нам нужно применять.
6. Создаем пустое событие и вставляем ему имя, скопированное на шаг 4.
7. (опционально) Берем это пустое событие и копипастой размазываем его по всей карте.
8. Запускаем игру, переходим на карту, куда мы помещали события. Все пустые ивенты стали копиями того самого события с карты TEMPLATES!
ВАЖНОЕ ЗАМЕЧАНИЕ!
От автора:
Демо:
Добавлю сюда ссылку, как только подготовлю.
Код:
DeadElf79 создал тему: [VX Ace] Шаблонные события
Шаблонные события
Template Events
Template Events
Информация:
Автор: DeadElf79
Версия скрипта: 1.0
Версия мейкера: VX Ace
Описание:
У вас есть множество совершенно одинаковых событий, которые вам надоело копировать с карты на карту? Поставьте этот скрипт, вынесите повторяющееся событие на отдельную карту и затем создавайте в нужных местах пустые ивенты, которые при запуске карты скрипт заполнит содержимым исходного события!
Установка:
1. Качаем и устанавливаем скрипт, как обычно . Настроек нет.
2. Создаем карту и называем ее "TEMPLATES" (без кавычек!)
3. Создаем на ней событие и даем ему уникальное имя (допустим, "YesIamIncrediblyUnique"), пишем туда какие-нибудь условия, ставим графику и всё такое.
4. Копируем имя этого события.
5. Идем на карту, где это событие нам нужно применять.
6. Создаем пустое событие и вставляем ему имя, скопированное на шаг 4.
7. (опционально) Берем это пустое событие и копипастой размазываем его по всей карте.
8. Запускаем игру, переходим на карту, куда мы помещали события. Все пустые ивенты стали копиями того самого события с карты TEMPLATES!
ВАЖНОЕ ЗАМЕЧАНИЕ!
ВНИМАНИЕ: Спойлер!
Скрипт влияет на порядок загрузки событий карты.
Стандартная загрузка карты происходит так:
1. Загружается файл карты
2. Загружается графоний
3. Загружаются события и сразу на исполнение ставятся те, которые имеют Trigger равный Autorun. "Условие запуска" -"Автозапуск" в русской версии (наверное, не проверял, у меня английская версия редактора).
Как происходит загрузка после установки скрипта:
1. Загружается файл карты
2. Загружается графоний
3. Копируются события с карты шаблонов
4. Загружаются события и исполняются автораны
На что это влияет, спросите вы? А я вам отвечу: вы можете создать в качестве шаблонного события даже "автораны". Мало ли зачем вам это будет нужно, главное, что вы можете это сделать.
Стандартная загрузка карты происходит так:
1. Загружается файл карты
2. Загружается графоний
3. Загружаются события и сразу на исполнение ставятся те, которые имеют Trigger равный Autorun. "Условие запуска" -"Автозапуск" в русской версии (наверное, не проверял, у меня английская версия редактора).
Как происходит загрузка после установки скрипта:
1. Загружается файл карты
2. Загружается графоний
3. Копируются события с карты шаблонов
4. Загружаются события и исполняются автораны
На что это влияет, спросите вы? А я вам отвечу: вы можете создать в качестве шаблонного события даже "автораны". Мало ли зачем вам это будет нужно, главное, что вы можете это сделать.
От автора:
ВНИМАНИЕ: Спойлер!
Да, я знаю, что Амфи сделал
фабрику событий
. Мой скрипт лежал в одном заброшенном проекте неизвестно сколько времени, я просто решил его опубликовать, мало ли кому понадобится плодить ивенты с одинаковым поведением одними лишь именами безо всяких тегов и команд (как в вышеупомянутой фабрике).
Демо:
Добавлю сюда ссылку, как только подготовлю.
Код:
Code:
#==============================================================================
# Template Events
# Version 1.1
# by DeadElf79
#
# Version history:
# ⇒ 1.1
# → added settings module
# → added method for addons
# ⇒ 1.0
# → release
#==============================================================================
module De79TemplateEvents
REGEXP_TEMPLATE_MAP_NAME = /templates/i
end
#==============================================================================
# ** Game_Event
#==============================================================================
class Game_Event < Game_Character
def name
@event.name
end
def pages
@event.pages unless @event.nil?
end
def pages=(new_pages)
@event.pages = new_pages
end
end
#==============================================================================
# ** Game_Map
#==============================================================================
class Game_Map
def setup_events_only(map_id)
@map_id = map_id
@map = load_data(sprintf("Data/Map%03d.rvdata2", @map_id))
setup_events
end
end
#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map < Scene_Base
attr_reader :template_map
def start
super
SceneManager.clear
$game_player.straighten
$game_map.refresh
$game_message.visible = false
load_elf
create_spriteset
create_all_windows
@menu_calling = false
end
def perform_transfer
pre_transfer
$game_player.perform_transfer
load_elf
post_transfer
end
def load_elf
load_all_templates
ask_every_event
ask_every_te_addon
end
def load_all_templates
@template_map = nil
@infos = load_data('data/MapInfos.rvdata2')
@infos.each do |map|
if map[1].name=~De79TemplateEvents::REGEXP_TEMPLATE_MAP_NAME
@template_map = Game_Map.new
@template_map.setup_events_only(map[0])
end
end
@template_map
end
def ask_every_event
return if @template_map.nil?
$game_map.events.values.each do |event|
@template_map.events.values.each do |temp_event|
if temp_event.name.downcase == event.name.downcase
event.pages = temp_event.pages
event.refresh
end
end
end
end
def ask_every_te_addon
end
end
Последнее редактирование: 9 года 4 мес. назад пользователем DeadElf79.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 5 мес. назад - 9 года 5 мес. назад #95212
от DeadElf79
DeadElf79 ответил в теме [VX Ace] Шаблонные события
Кстати, совместимость фабрики событий и шаблонных событий проверена мною лично. Так что, чтобы не путаться, на ту же карту TEMPLATES можно помещать и события, которые будут использованы фабрикой (допустим, события, которые нужно будет спавнить на карту в нужный момент времени).
И еще один вопрос, который мне задавали, на всякий случай тоже отвечу, мало ли кто чего не поймет: размер карты TEMPLATES ни на что не влияет. Количество событий на ней - тоже.*
*
И еще один вопрос, который мне задавали, на всякий случай тоже отвечу, мало ли кто чего не поймет: размер карты TEMPLATES ни на что не влияет. Количество событий на ней - тоже.*
*
ВНИМАНИЕ: Спойлер!
Вернее, количество событий на карте шаблонов повлияет на время поиска события-шаблона. Но повлияет настолько незначительно, что, если вы не загоняеетесь пересчитыванием каждой миллисекунды, то и не заметите разницы.
Последнее редактирование: 9 года 5 мес. назад пользователем DeadElf79.
Спасибо сказали: Amphilohiy
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 5 мес. назад #95218
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме [VX Ace] Шаблонные события
Хмм, мой скрипт примерно так же умеет, но это немного другая история
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Спасибо сказали: DeadElf79
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 4 мес. назад #95317
от DeadElf79
DeadElf79 ответил в теме [VX Ace] Шаблонные события
Написал небольшой аддон к этому скрипту, планирую опубликовать его отдельно, потому что он добавляет фичу, которая не обязательно будет полезна всем, кто использует данный конкретный скрипт.
Аддон позволяет автоматически на этапе загрузки карты и сразу после расстановки по местам шаблонных событий сливать воедино несколько непустых одностраничных параллельных событий. Пока не тестировал, не знаю, будет ли оно работать так, как мне нужно.
Поэтому просто оповещаю и кидаю ссылку на код аддона:
pastebin.com/WqScVpCv
Также я сейчас обновлю код скрипта в первом посту, потому что я сделал маленькое дополнение к нему, позволяющее писать аддоны без долгого и нудно переписывания.
Аддон позволяет автоматически на этапе загрузки карты и сразу после расстановки по местам шаблонных событий сливать воедино несколько непустых одностраничных параллельных событий. Пока не тестировал, не знаю, будет ли оно работать так, как мне нужно.
Поэтому просто оповещаю и кидаю ссылку на код аддона:
pastebin.com/WqScVpCv
Также я сейчас обновлю код скрипта в первом посту, потому что я сделал маленькое дополнение к нему, позволяющее писать аддоны без долгого и нудно переписывания.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 4 мес. назад #95319
от Paranoid
Paranoid ответил в теме [VX Ace] Шаблонные события
А как это работает? Если на карте есть несколько параллельных ивентов, он делает из них один и все обрабатывается одновременно?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 4 мес. назад - 9 года 4 мес. назад #95327
от DeadElf79
DeadElf79 ответил в теме [VX Ace] Шаблонные события
Да, аддон должен будет работать именно таким образом. Я пока его не проверял, потому что пока что пилю карты, на которых буду это делать. Если все будет работать, сделаю демку с использованием шаблонов. Конечно, можно было бы использовать в качестве такой демки Розу, но кто-то на нейтралке вскрывал проект и не смог осилить.
Последнее редактирование: 9 года 4 мес. назад пользователем DeadElf79.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 4 мес. назад #95328
от Paranoid
Paranoid ответил в теме [VX Ace] Шаблонные события
Может тогда сделать эту штуку не аддоном? Ибо мне кажется она будет полезна, для сокращения событий в игре.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
9 года 4 мес. назад #95331
от DeadElf79
DeadElf79 ответил в теме [VX Ace] Шаблонные события
Пар, я сделал аддоном, потому что пока не тестировал и не уверен, что это действительно поможет.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.107 секунд
