[VX Ace] Шаблонные события

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 5 мес. назад - 9 года 4 мес. назад #95211 от DeadElf79
Шаблонные события
Template Events

Информация:
Автор: DeadElf79
Версия скрипта: 1.0
Версия мейкера: VX Ace
Список дополнений к этому скрипту:


Описание:
У вас есть множество совершенно одинаковых событий, которые вам надоело копировать с карты на карту? Поставьте этот скрипт, вынесите повторяющееся событие на отдельную карту и затем создавайте в нужных местах пустые ивенты, которые при запуске карты скрипт заполнит содержимым исходного события!

Установка:
1. Качаем и устанавливаем скрипт, как обычно . Настроек нет.
2. Создаем карту и называем ее "TEMPLATES" (без кавычек!)
3. Создаем на ней событие и даем ему уникальное имя (допустим, "YesIamIncrediblyUnique"), пишем туда какие-нибудь условия, ставим графику и всё такое.
4. Копируем имя этого события.
5. Идем на карту, где это событие нам нужно применять.
6. Создаем пустое событие и вставляем ему имя, скопированное на шаг 4.
7. (опционально) Берем это пустое событие и копипастой размазываем его по всей карте.
8. Запускаем игру, переходим на карту, куда мы помещали события. Все пустые ивенты стали копиями того самого события с карты TEMPLATES!

ВАЖНОЕ ЗАМЕЧАНИЕ!
ВНИМАНИЕ: Спойлер!


От автора:
ВНИМАНИЕ: Спойлер!


Демо:
Добавлю сюда ссылку, как только подготовлю.

Код:
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.
Спасибо сказали: Paranoid, VarVarKa, Lepsion

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 5 мес. назад - 9 года 5 мес. назад #95212 от DeadElf79
Кстати, совместимость фабрики событий и шаблонных событий проверена мною лично. Так что, чтобы не путаться, на ту же карту TEMPLATES можно помещать и события, которые будут использованы фабрикой (допустим, события, которые нужно будет спавнить на карту в нужный момент времени).

И еще один вопрос, который мне задавали, на всякий случай тоже отвечу, мало ли кто чего не поймет: размер карты TEMPLATES ни на что не влияет. Количество событий на ней - тоже.*
*
ВНИМАНИЕ: Спойлер!
Последнее редактирование: 9 года 5 мес. назад пользователем DeadElf79.
Спасибо сказали: Amphilohiy

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

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95218 от Amphilohiy
Хмм, мой скрипт примерно так же умеет, но это немного другая история =P

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

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад #95317 от DeadElf79
Написал небольшой аддон к этому скрипту, планирую опубликовать его отдельно, потому что он добавляет фичу, которая не обязательно будет полезна всем, кто использует данный конкретный скрипт.

Аддон позволяет автоматически на этапе загрузки карты и сразу после расстановки по местам шаблонных событий сливать воедино несколько непустых одностраничных параллельных событий. Пока не тестировал, не знаю, будет ли оно работать так, как мне нужно.

Поэтому просто оповещаю и кидаю ссылку на код аддона:
pastebin.com/WqScVpCv

Также я сейчас обновлю код скрипта в первом посту, потому что я сделал маленькое дополнение к нему, позволяющее писать аддоны без долгого и нудно переписывания.

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

Больше
9 года 4 мес. назад #95319 от Paranoid
А как это работает? Если на карте есть несколько параллельных ивентов, он делает из них один и все обрабатывается одновременно?

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад - 9 года 4 мес. назад #95327 от DeadElf79
Да, аддон должен будет работать именно таким образом. Я пока его не проверял, потому что пока что пилю карты, на которых буду это делать. Если все будет работать, сделаю демку с использованием шаблонов. Конечно, можно было бы использовать в качестве такой демки Розу, но кто-то на нейтралке вскрывал проект и не смог осилить.
Последнее редактирование: 9 года 4 мес. назад пользователем DeadElf79.

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

Больше
9 года 4 мес. назад #95328 от Paranoid
Может тогда сделать эту штуку не аддоном? Ибо мне кажется она будет полезна, для сокращения событий в игре.

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад #95331 от DeadElf79
Пар, я сделал аддоном, потому что пока не тестировал и не уверен, что это действительно поможет.

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

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