Автор: strelokhalfer
Версия скрипта: 1.0
Версия мейкера: VX Ace
Тип: Позволяет переместить графику тайлсетов в подпапки, упрощая навигацию.
Условия использования/Лицензия: Любой проект, только укажите меня в благодарностях.
Описание:
Лично меня напрягает, что ресурсы в мукере не могут лежать в подпапках. Теперь тайлсеты могут.
Настройки:
Файлы в папке тайлсетов должны называться по шаблону:
[id][папка][тип тайла].png
id - номер тайлсета в базе данных
папка - имя папки для тайлсета
тип тайла - Тип вкладки тайлсета(например A1, C, E)
Запустите проект и скрипт переместит файлы в папки,
обновив пути в файле тайлсета. Если вы запустили проект через
редактор, перезапустите его, если спросит сохранить проект - Нет.
После, вы можете спокойно редактировать базу данных
(кроме графики, так как придется повторять процедуру)
Вы можете поместить файлы тайлсета в разные папки
(например, если файл используется в нескольких тайлсетах)
Пример:
[2][Exterior][A1].png
Файл будет перемещен в подпапку Exterior и переименован в A1.
%Q{╔═══════════════════════════════════════════════════════════════════════════╗
╔══╝ Tileset organizer | Тайлсет-организатор ║
╠══════════════════════════════════════════════════════════════════════════════╣
║ ┌───────────────────────────┬──────────────────────────────────────────────┐ ║
║ │ Author | Автор │ strelokhalfer │ ║
║ ├───────────────────────────┼──────────────────────────────────────────────┤ ║
║ │ Contacts | Связь │ │ ║
║ ├───────────────────────────┘ │ ║
║ │ E-mail: strelokhalfer@gmail.com │ ║
║ │ Site | Сайт: rm-dev.info │ ║
║ ├───────────────────────────┬──────────────────────────────────────────────┤ ║
║ │ Version | Версия │ │ ║
║ ├───────────────────────────┘ │ ║
║ │ 1.0 - Release | Релиз │ ║
║ ├───────────────────────────┬──────────────────────────────────────────────┤ ║
║ │ License | Лицензия │ │ ║
║ ├───────────────────────────┘ │ ║
║ │ You can | Вы можете │ ║
║ │ Use this script in free/commercial project │ ║
║ │ Использовать скрипт в бесплатных и коммерческих проектах │ ║
║ │ Edit this script if you need │ ║
║ │ Изменять скрипт, если нужно │ ║
║ │ Distribute anywhere │ ║
║ │ Распространять где хотите │ ║
║ │ │ ║
║ │ You CANT | Вы НЕ можете │ ║
║ │ Cut this license │ ║
║ │ Удалять эту лицензию │ ║
║ │ Sell this script │ ║
║ │ Продавать этот скрипт │ ║
║ │ │ ║
║ │ You must | Вы ДОЛЖНЫ │ ║
║ │ Credit me(strelokhalfer) │ ║
║ │ Указать меня(strelokhalfer) в благодарностях │ ║
║ ├───────────────────────────┬──────────────────────────────────────────────┤ ║
║ │ How to | Как использовать │ │ ║
║ ├───────────────────────────┘ │ ║
║ │ Files in the Tileset folder should be named by template: │ ║
║ │ [id][folder][tile type].png │ ║
║ │ id - tileset number in Database │ ║
║ │ folder - folder name for tileset │ ║
║ │ tile type - tile tab name(like A1, C, E) │ ║
║ │ Файлы в папке тайлсетов должны называться по шаблону: │ ║
║ │ [id][папка][тип тайла].png │ ║
║ │ id - номер тайлсета в базе данных │ ║
║ │ папка - имя папки для тайлсета │ ║
║ │ тип тайла - Тип вкладки тайлсета(например A1, C, E) │ ║
║ │ │ ║
║ │ Just run project and files will moved to folders, │ ║
║ │ tileset data will be updated. If you run project from Editor, │ ║
║ │ close them without saving, and restart. │ ║
║ │ You can free edit Database and even Tilesets, exept tileset files. │ ║
║ │ You can store one tileset in different folders. │ ║
║ │ │ ║
║ │ Запустите проект и скрипт переместит файлы в папки, │ ║
║ │ обновив пути в файле тайлсета. Если вы запустили проект через │ ║
║ │ редактор, перезапустите его, если спросит сохранить проект - Нет. │ ║
║ │ После, вы можете спокойно редактировать базу данных и тайлсеты │ ║
║ │ (кроме графики, так как придется повторять процедуру) │ ║
║ │ Вы можете поместить файлы тайлсета в разные папки │ ║
║ │ (например, если файл используется в нескольких тайлсетах) │ ║
║ │ ┌┘ ║
║ └─────────────────────────────────────────────────────────────────────────┘ ╔╝
╚═════════════════════════════════════════════════════════════════════════════╝}
module Halfer
TileTypes = [:A1, :A2, :A3, :A4, :A5, :B, :C, :D, :E]
end
tilehash = {}
Dir["Graphics/Tilesets/*.png"].each{|file|
file.slice!("Graphics/Tilesets/")
file.sub(/\[(\d+)\]\[(\w+)\]\[(\w+)\]/){|str|
if Halfer::TileTypes.include?($3.upcase.to_sym)
tilehash[$1.to_i] ||= {}
tilehash[$1.to_i][$3.upcase.to_sym] = $2.to_sym
Dir.mkdir "Graphics/Tilesets/#{$2}"
File.rename("Graphics/Tilesets/#{file}", "Graphics/Tilesets/#{$2}/#{$3.upcase}.png")
end
}
}
if !tilehash.empty?
tilesets = load_data("Data/Tilesets.rvdata2")
tilehash.each_pair{ |key, value|
value.each_pair{ |type, folder|
tilesets[key].tileset_names[Halfer::TileTypes.index(type)] = "#{folder}/#{type}"
}
}
save_data(tilesets, "Data/Tilesets.rvdata2")
tilesets = nil
tilehash = nil
end