ГлавнаяФорумRPG MakerСкрипты/ПлагиныRPG Maker VX ACEУлучшающие или добавляющее новое скриптыResource Checker [VX ACE]
Войти на сайт
×
|
ТЕМА: Resource Checker [VX ACE]
Resource Checker [VX ACE] 11 года 4 мес. назад #62704
|
По подкинутой Мертвым Эльфом идее нарисовал скрипт, который проверяет существование в папках проекта звуковых и графических ресурсов, используемых в игре, а также проверяет наличие неиспользуемых ресурсов.
Полезно: - при отвязке проекта от rtp и распространении игры на те компы, где он не установлен - для уменьшения лучей ненависти на Светлой по отношению к новичкам, выложившим очередной проект с забытым фейсом или музыкой - для уменьшения веса проекта путем избавления его от лишних ненужных файлов Скрипт, кроме БД проекта, просматривает все общие события, а также карты (батлбеки, параллакс файл, BGS, BGM) и все события карт, которые могут задействовать ресурсы, типа Change Actor Graphic, Show Picture или Play SE (где-то с десяток видов), а также два события изменения ресурсов внутри Set Move Route. Описание настроек скрипта внутри его. По умолчанию он встраивается пунктом "Настройки->Проверить" в титульное меню, для самой игры этот пункт @do_title_debug можно отключить. Результат проверки выкидывается в файл check.txt или uncheck.txt в корне проекта. Сам сприпт: ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] Настройки и встраивание в меню (поперты из эльфовского экспортера текстов) #===============================================================================
=begin
Resource Checker
Скрипт проверяет наличие всех используемых ресурсов в игре.
Автор: caveman
Версия: 1.1
Изменения: 1.1
- добавлена возможность проверки наличия лишних ресурсов
- добавлено несколько забытых проверок в чекер (титульник и графика евента)
=end
#===============================================================================
class Checker
def initialize
#==========МЕНЯЕМ ТОЛЬКО ЗДЕСЬ==========
#опция проверки наличия ресурсов (пункт в меню)
@check_resource=true
#опция проверки неиспользуемых ресурсов (пункт в меню)
@uncheck_resource=true
#возможность проверки прямо из титульного экрана
#если проект был запущен из редактора (то есть $DEBUG=true)
@do_title_debug=true
#==========ДАЛЬШЕ НЕ ТРОГАЕМ============
@options_button_name="Настройки"
@options_check_name="Пров. нехватку"
@options_uncheck_name="Пров. лишнее"
@options_cancel_name="Отмена"
end
attr_accessor :check_resource
attr_accessor :uncheck_resource
attr_accessor :do_title_debug
attr_accessor :options_button_name
attr_accessor :options_check_name
attr_accessor :options_uncheck_name
attr_accessor :options_cancel_name
end
$max_maps=999
$counter=0
class Game_Event
attr_accessor :erased
def g_event
return @event
end
end
class Game_Map
def g_map
return @map
end
end
class Window_TitleCommand
def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
if $checker.do_title_debug
add_command($checker.options_button_name, :checker)
end
add_command(Vocab::shutdown, :shutdown)
end
end
class Window_DialsCommand<Window_TitleCommand
def make_command_list
add_command($checker.options_check_name,:check,$checker.check_resource)
add_command($checker.options_uncheck_name,:uncheck,$checker.uncheck_resource)
add_command($checker.options_cancel_name,:cancel)
end
end
class Scene_Title
def start
super
SceneManager.clear
Graphics.freeze
create_background
create_foreground
$checker=Checker.new
create_command_window
create_extra_window
play_title_music
end
def create_command_window
@command_window = Window_TitleCommand.new
@command_window.set_handler(:new_game, method(:command_new_game))
@command_window.set_handler(:continue, method(:command_continue))
if $checker.do_title_debug
@command_window.set_handler(:checker, method(:command_checker))
end
@command_window.set_handler(:shutdown, method(:command_shutdown))
end
def create_extra_window
@extra=Window_DialsCommand.new
@extra.visible=false
@extra.x = (Graphics.width - @command_window.width) / 2+@extra.width
@extra.y = (Graphics.height * 1.6 - @command_window.height) / 2
@extra.set_handler(:check, method(:command_check))
@extra.set_handler(:uncheck, method(:command_uncheck))
@extra.set_handler(:cancel, method(:command_cancel))
end
def command_checker
@extra.visible=true
@extra.openness=0
@extra.open
@command_window.active=false
@extra.active=true
end
def command_check
checker=Resource_Checker.new
if checker.done then
@extra.close
msgbox "Проверка успешно завершена!"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif checker.error
@extra.close
@file=File.open("check.txt","w")
@file.write(checker.errmsg)
@file.close
msgbox "При проверке возникли ошибки. Смотрите в файле check.txt"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif
@extra.close
msgbox "Эльфы полетели!"
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end
def command_uncheck
checker=Resource_Unchecker.new
if checker.done then
@extra.close
msgbox "Проверка успешно завершена!"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif checker.error
@extra.close
@file=File.open("uncheck.txt","w")
@file.write(checker.errmsg)
@file.close
msgbox "При проверке нашлись ненужные ресурсы. Смотрите в файле uncheck.txt"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif
@extra.close
msgbox "Эльфы полетели!"
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end
def command_cancel
@extra.close
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end Класс для проверки недостатка ресурсов: #===============================================================================
=begin
RESOURCE_CHECKER
Проверяльщик ресурсов
Этот скрипт просматривает проект на предмет забытых
графических и звуковых ресурсов при выкладывании без РТП.
Автор: caveman
=end
#===============================================================================
class Resource_Checker
attr_accessor :done
attr_accessor :error
attr_accessor :errmsg
def initialize
DataManager.init
$checker=Checker.new if $checker==nil
@done=true
@error = false
@errmsg = "[База]\n"
if !check_db?
@error = true
@done = false
end
@errmsg += "\n"
@errmsg += "[Общие события]\n"
if !check_commons?
@error = true
@done = false
end
@errmsg += "\n"
@errmsg += "[Карты]\n"
for map in 1..$max_maps
if FileTest.exist?(sprintf("Data/Map%03d.rvdata2",map))
if !check_map?(map)
@error = true
@done = false
end
else
next
end
end
@errmsg += "\n"
end
def check_img_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"png")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"jpg")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"bmp"))
return true
end
return false
end
def check_vid_file?(file_name)
if FileTest.exist?(sprintf("Movies/%s",file_name))
return true
end
return false
end
def check_mus_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"mp3")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"ogg")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"wav"))
return true
end
return false
end
def check_db?
flag = true
# icons
if !check_img_file?("System","IconSet")
@errmsg += sprintf("Не найден набор %s.png в папке System\n",
"IconSet")
flag = false
end
# actors
for i in 1...$data_actors.size
if $data_actors[i].character_name != "" &&
!check_img_file?("Characters",$data_actors[i].character_name)
@errmsg += sprintf("Не найдена графика %s.png в папке Characters\n",
$data_actors[i].character_name)
flag = false
end
if $data_actors[i].face_name != "" &&
!check_img_file?("Faces",$data_actors[i].face_name)
@errmsg += sprintf("Не найден фейс %s.png в папке Faces\n",
$data_actors[i].face_name)
flag = false
end
end
# enemies
for i in 1...$data_enemies.size
if $data_enemies[i].battler_name != "" &&
!check_img_file?("Battlers",$data_enemies[i].battler_name)
@errmsg += sprintf("Не найдена графика противника %s.png в папке Battlers\n",
$data_enemies[i].battler_name)
flag = false
end
end
# animations
for i in 1...$data_animations.size
if $data_animations[i].animation1_name != "" &&
!check_img_file?("Animations",$data_animations[i].animation1_name)
@errmsg += sprintf("Не найдена анимационная графика 1 %s.png в папке Animations\n",
$data_animations[i].animation1_name)
flag = false
end
if $data_animations[i].animation2_name != "" &&
!check_img_file?("Animations",$data_animations[i].animation2_name)
@errmsg += sprintf("Не найдена анимационная графика 2 %s.png в папке Animations\n",
$data_animations[i].animation2_name)
flag = false
end
end
# tilesets
for i in 1...$data_tilesets.size
for j in 0...8
if $data_tilesets[i].tileset_names[j] != "" &&
!check_img_file?("Tilesets",$data_tilesets[i].tileset_names[j])
@errmsg += sprintf("Не найдена графика для тайлсета %s.png в папке Tilesets\n",
$data_tilesets[i].tileset_names[j])
flag = false
end
end
end
# system
if $data_system.title1_name != "" &&
!check_img_file?("Titles1",$data_system.title1_name)
@errmsg += sprintf("Не найдена графика для Title %s.png в папке Titles1\n",
$data_system.title1_name)
flag = false
end
if $data_system.title2_name != "" &&
!check_img_file?("Titles2",$data_system.title2_name)
@errmsg += sprintf("Не найдена графика для Title %s.png в папке Titles2\n",
$data_system.title2_name)
flag = false
end
if $data_system.boat.character_name != "" &&
!check_img_file?("Characters",$data_system.boat.character_name)
@errmsg += sprintf("Не найдена графика для boat %s.png в папке Characters\n",
$data_system.boat.character_name)
flag = false
end
if $data_system.ship.character_name != "" &&
!check_img_file?("Characters",$data_system.ship.character_name)
@errmsg += sprintf("Не найдена графика для ship %s.png в папке Characters\n",
$data_system.ship.character_name)
flag = false
end
if $data_system.airship.character_name != "" &&
!check_img_file?("Characters",$data_system.airship.character_name)
@errmsg += sprintf("Не найдена графика для airship %s.png в папке Characters\n",
$data_system.airship.character_name)
flag = false
end
if $data_system.title_bgm.name != "" &&
!check_mus_file?("BGM",$data_system.title_bgm.name)
@errmsg += sprintf("Не найден трек %s для title_bgm в папке Audio/BGM\n",
$data_system.title_bgm.name)
flag = false
end
if $data_system.battle_bgm.name != "" &&
!check_mus_file?("BGM",$data_system.battle_bgm.name)
@errmsg += sprintf("Не найден трек %s для battle_bgm в папке Audio/BGM\n",
$data_system.battle_bgm.name)
flag = false
end
if $data_system.battle_end_me.name != "" &&
!check_mus_file?("ME",$data_system.battle_end_me.name)
@errmsg += sprintf("Не найден трек %s для battle_end_me в папке Audio/ME\n",
$data_system.battle_end_me.name)
flag = false
end
if $data_system.gameover_me.name != "" &&
!check_mus_file?("ME",$data_system.gameover_me.name)
@errmsg += sprintf("Не найден трек %s для gameover_me в папке Audio/ME\n",
$data_system.gameover_me.name)
flag = false
end
if $data_system.boat.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.boat.bgm.name)
@errmsg += sprintf("Не найден трек %s для boat в папке Audio/BGM\n",
$data_system.boat.bgm.name)
flag = false
end
if $data_system.ship.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.ship.bgm.name)
@errmsg += sprintf("Не найден трек %s для ship в папке Audio/BGM\n",
$data_system.ship.bgm.name)
flag = false
end
if $data_system.airship.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.airship.bgm.name)
@errmsg += sprintf("Не найден трек %s для airship в папке Audio/BGM\n",
$data_system.airship.bgm.name)
flag = false
end
for j in 0..23
if $data_system.sounds[j].name != "" &&
!check_mus_file?("SE",$data_system.sounds[j].name)
@errmsg += sprintf("Не найден системный звук %s в папке Audio/SE\n",
$data_system.sounds[j].name)
flag = false
end
end
return flag
end
def check_commons?
flag = true
for i in 1...$data_common_events.size
list = $data_common_events[i].list
if list != nil
for command in list
case command.code
when 101
if command.parameters[0] != "" &&
!check_img_file?("Faces",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найден фейс %s.png в папке Faces\n",
i,command.parameters[0])
flag = false
end
when 231
if command.parameters[1] != "" &&
!check_img_file?("Pictures",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Pictures\n",
i,command.parameters[1])
flag = false
end
when 241
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
i,command.parameters[0].name)
flag = false
end
when 245
if command.parameters[0].name != "" &&
!check_mus_file?("BGS",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGS файл %s в папке Audio/BGS\n",
i,command.parameters[0].name)
flag = false
end
when 249
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден ME файл %s в папке Audio/ME\n",
i,command.parameters[0].name)
flag = false
end
when 250
if command.parameters[0].name != "" &&
!check_mus_file?("SE",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден SE файл %s в папке Audio/SE\n",
i,command.parameters[0].name)
flag = false
end
when 283
if command.parameters[0] != "" &&
!check_img_file?("Battlebacks1",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Battlebacks1\n",
i,command.parameters[0].name)
flag = false
end
if command.parameters[1] != "" &&
!check_img_file?("Battlebacks2",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Battlebacks2\n",
i,command.parameters[1])
flag = false
end
when 284
if command.parameters[0] != "" &&
!check_img_file?("Parallaxes",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Parallaxes\n",
i,command.parameters[0])
flag = false
end
when 261
if command.parameters[0] != "" &&
!check_vid_file?(command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдено видео %s в папке Movies\n",
i,command.parameters[0])
flag = false
end
when 132
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
i,command.parameters[0].name)
flag = false
end
when 133
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден ME файл %s в папке Audio/ME\n",
i,command.parameters[0].name)
flag = false
end
when 322
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,command.parameters[1])
flag = false
end
if command.parameters[3] != "" &&
!check_img_file?("Faces",command.parameters[3])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Faces\n",
i,command.parameters[3])
flag = false
end
when 323
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,command.parameters[1])
flag = false
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!check_img_file?("Characters",cmd.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,cmd.parameters[0])
flag = false
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!check_mus_file?("SE",cmd.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден SE файл %s в папке Audio/SE\n",
i,cmd.parameters[0].name)
flag = false
end
end
end
end
end
end
end
return flag
end
def check_map?(map_id)
flag = true
$game_map = Game_Map.new
$game_map.setup(map_id)
if $game_map.parallax_name != "" &&
!check_img_file?("Parallaxes",$game_map.parallax_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Parallaxes\n",
map_id,$game_map.parallax_name)
flag = false
end
if $game_map.battleback1_name != "" &&
!check_img_file?("Battlebacks1",$game_map.battleback1_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Battlebacks1\n",
map_id,$game_map.battleback1_name)
flag = false
end
if $game_map.battleback2_name != "" &&
!check_img_file?("Battlebacks2",$game_map.battleback2_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Battlebacks2\n",
map_id,$game_map.battleback2_name)
flag = false
end
if $game_map.g_map.bgm.name != "" &&
!check_mus_file?("BGM",$game_map.g_map.bgm.name)
@errmsg += sprintf("[Карта %04d] Не найден трек %s в папке Audio/BGM\n",
map_id,$game_map.g_map.bgm.name)
flag = false
end
if $game_map.g_map.bgs.name != "" &&
!check_mus_file?("BGS",$game_map.g_map.bgs.name)
@errmsg += sprintf("[Карта %04d] Не найден трек %s в папке Audio/BGS\n",
map_id,$game_map.g_map.bgs.name)
flag = false
end
events=$game_map.events
for i in 1..9999
if events[i]!=nil
for page in events[i].g_event.pages
unless page.list.nil?
if page.graphic.character_name != "" &&
!check_img_file?("Characters",page.graphic.character_name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена графика события %s.png в папке Characters\n",
map_id,i,page.graphic.character_name)
flag = false
end
for command in page.list
case command.code
when 101
if command.parameters[0] != "" &&
!check_img_file?("Faces",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден фейс %s.png в папке Faces\n",
map_id,i,command.parameters[0])
flag = false
end
when 231
if command.parameters[1] != "" &&
!check_img_file?("Pictures",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Pictures\n",
map_id,i,command.parameters[1])
flag = false
end
when 241
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 245
if command.parameters[0].name != "" &&
!check_mus_file?("BGS",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGS файл %s в папке Audio/BGS\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 249
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден ME файл %s в папке Audio/ME\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 250
if command.parameters[0].name != "" &&
!check_mus_file?("SE",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден SE файл %s в папке Audio/SE\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 283
if command.parameters[0] != "" &&
!check_img_file?("Battlebacks1",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Battlebacks1\n",
map_id,i,command.parameters[0].name)
flag = false
end
if command.parameters[1] != "" &&
!check_img_file?("Battlebacks2",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Battlebacks2\n",
map_id,i,command.parameters[1])
flag = false
end
when 284
if command.parameters[0] != "" &&
!check_img_file?("Parallaxes",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Parallaxes\n",
map_id,i,command.parameters[0])
flag = false
end
when 261
if command.parameters[0] != "" &&
!check_vid_file?(command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдено видео %s в папке Movies\n",
map_id,i,command.parameters[0])
flag = false
end
when 132
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 133
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден ME файл %s в папке Audio/ME\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 322
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,command.parameters[1])
flag = false
end
if command.parameters[3] != "" &&
!check_img_file?("Faces",command.parameters[3])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Faces\n",
map_id,i,command.parameters[3])
flag = false
end
when 323
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,command.parameters[1])
flag = false
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!check_img_file?("Characters",cmd.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,cmd.parameters[0])
flag = false
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!check_mus_file?("SE",cmd.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден SE файл %s в папке Audio/SE\n",
map_id,i,cmd.parameters[0].name)
flag = false
end
end
end
end
end
end
end
end
end
return flag
end
end Класс для проверки лишних ресурсов: #===============================================================================
=begin
RESOURCE_UNCHECKER
Проверяльщик ресурсов
Этот скрипт просматривает папки проекта на предмет неиспользуемых
в проекте графических и звуковых ресурсов при выкладывании без РТП.
Автор: caveman
=end
#===============================================================================
class Resource_Unchecker
attr_accessor :done
attr_accessor :error
attr_accessor :errmsg
def initialize
DataManager.init
$checker=Checker.new if $checker==nil
@done=true
@error = false
# списки существующих ресурсов по папкам
# звуки
@bgm_array = []
@bgs_array = []
@se_array = []
@me_array = []
# ролики
@vid_array = []
# графика
@anim_array = []
@bb1_array = []
@bb2_array = []
@btl_array = []
@char_array = []
@face_array = []
@prlx_array = []
@pict_array = []
@sys_array = []
@tile_array = []
@ttl1_array = []
@ttl2_array = []
check_db
check_commons
for map in 1..$max_maps
if FileTest.exist?(sprintf("Data/Map%03d.rvdata2",map))
check_map(map)
else
next
end
end
if !find_unused?
@error = true
@done = false
elsif
@error = false
@done = true
end
end
def find_unused?
flag = true
@errmsg = "[Audio/BGM]\n"
Dir.foreach("Audio/BGM") {|x|
if x != "." && x != ".."
if !@bgm_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/BGS]\n"
Dir.foreach("Audio/BGS") {|x|
if x != "." && x != ".."
if !@bgs_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/SE]\n"
Dir.foreach("Audio/SE") {|x|
if x != "." && x != ".."
if !@se_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/ME]\n"
Dir.foreach("Audio/ME") {|x|
if x != "." && x != ".."
if !@me_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Movies]\n"
Dir.foreach("Movies") {|x|
if x != "." && x != ".."
if !@vid_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Animations]\n"
Dir.foreach("Graphics/Animations") {|x|
if x != "." && x != ".."
if !@anim_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlebacks1]\n"
Dir.foreach("Graphics/Battlebacks1") {|x|
if x != "." && x != ".."
if !@bb1_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlebacks2]\n"
Dir.foreach("Graphics/Battlebacks2") {|x|
if x != "." && x != ".."
if !@bb2_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlers]\n"
Dir.foreach("Graphics/Battlers") {|x|
if x != "." && x != ".."
if !@btl_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Characters]\n"
Dir.foreach("Graphics/Characters") {|x|
if x != "." && x != ".."
if !@char_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Faces]\n"
Dir.foreach("Graphics/Faces") {|x|
if x != "." && x != ".."
if !@face_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Parallaxes]\n"
Dir.foreach("Graphics/Parallaxes") {|x|
if x != "." && x != ".."
if !@prlx_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Pictures]\n"
Dir.foreach("Graphics/Pictures") {|x|
if x != "." && x != ".."
if !@pict_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Tilesets]\n"
Dir.foreach("Graphics/Tilesets") {|x|
if x != "." && x != ".."
if !@tile_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Titles1]\n"
Dir.foreach("Graphics/Titles1") {|x|
if x != "." && x != ".."
if !@ttl1_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Titles2]\n"
Dir.foreach("Graphics/Titles2") {|x|
if x != "." && x != ".."
if !@ttl2_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
return flag
end
def check_img_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"png")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"jpg")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"bmp"))
return true
end
return false
end
def check_vid_file?(file_name)
if FileTest.exist?(sprintf("Movies/%s",file_name))
return true
end
return false
end
def check_mus_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"mp3")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"ogg")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"wav"))
return true
end
return false
end
def check_db
# actors
for i in 1...$data_actors.size
if $data_actors[i].character_name != "" &&
!@char_array.include?($data_actors[i].character_name)
@char_array.push($data_actors[i].character_name)
end
if $data_actors[i].face_name != "" &&
!@face_array.include?($data_actors[i].face_name)
@face_array.push($data_actors[i].face_name)
end
end
# enemies
for i in 1...$data_enemies.size
if $data_enemies[i].battler_name != "" &&
!@btl_array.include?($data_enemies[i].battler_name)
@btl_array.push($data_enemies[i].battler_name)
end
end
# animations
for i in 1...$data_animations.size
if $data_animations[i].animation1_name != "" &&
!@anim_array.include?($data_animations[i].animation1_name)
@anim_array.push($data_animations[i].animation1_name)
end
if $data_animations[i].animation2_name != "" &&
!@anim_array.include?($data_animations[i].animation2_name)
@anim_array.push($data_animations[i].animation2_name)
end
end
# tilesets
for i in 1...$data_tilesets.size
for j in 0...8
if $data_tilesets[i].tileset_names[j] != "" &&
!@tile_array.include?($data_tilesets[i].tileset_names[j])
@tile_array.push($data_tilesets[i].tileset_names[j])
end
end
end
# system
if $data_system.title1_name != "" &&
!@ttl1_array.include?($data_system.title1_name)
@ttl1_array.push($data_system.title1_name)
end
if $data_system.title2_name != "" &&
!@ttl2_array.include?($data_system.title2_name)
@ttl2_array.push($data_system.title2_name)
end
if $data_system.boat.character_name != "" &&
!@char_array.include?($data_system.boat.character_name)
@char_array.push($data_system.boat.character_name)
end
if $data_system.ship.character_name != "" &&
!@char_array.include?($data_system.ship.character_name)
@char_array.push($data_system.ship.character_name)
end
if $data_system.airship.character_name != "" &&
!@char_array.include?($data_system.airship.character_name)
@char_array.push($data_system.airship.character_name)
end
if $data_system.title_bgm.name != "" &&
!@bgm_array.include?($data_system.title_bgm.name)
@bgm_array.push($data_system.title_bgm.name)
end
if $data_system.battle_bgm.name != "" &&
!@bgm_array.include?($data_system.battle_bgm.name)
@bgm_array.push($data_system.battle_bgm.name)
end
if $data_system.battle_end_me.name != "" &&
!@me_array.include?($data_system.battle_end_me.name)
@me_array.push($data_system.battle_end_me.name)
end
if $data_system.gameover_me.name != "" &&
!@me_array.include?($data_system.gameover_me.name)
@me_array.push($data_system.gameover_me.name)
end
if $data_system.boat.bgm.name != "" &&
!@bgm_array.include?($data_system.boat.bgm.name)
@bgm_array.push($data_system.boat.bgm.name)
end
if $data_system.ship.bgm.name != "" &&
!@bgm_array.include?($data_system.ship.bgm.name)
@bgm_array.push($data_system.ship.bgm.name)
end
if $data_system.airship.bgm.name != "" &&
!@bgm_array.include?($data_system.airship.bgm.name)
@bgm_array.push($data_system.airship.bgm.name)
end
for j in 0..23
if $data_system.sounds[j].name != "" &&
!@se_array.include?($data_system.sounds[j].name)
@se_array.push($data_system.sounds[j].name)
end
end
end
def check_commons
for i in 1...$data_common_events.size
list = $data_common_events[i].list
if list != nil
for command in list
case command.code
when 101
if command.parameters[0] != "" &&
!@face_array.include?(command.parameters[0])
@face_array.push(command.parameters[0])
end
when 231
if command.parameters[1] != "" &&
!@pict_array.include?(command.parameters[1])
@pict_array.push(command.parameters[1])
end
when 241
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 245
if command.parameters[0].name != "" &&
!@bgs_array.include?(command.parameters[0].name)
@bgs_array.push(command.parameters[0].name)
end
when 249
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 250
if command.parameters[0].name != "" &&
!@se_array.include?(command.parameters[0].name)
@se_array.push(command.parameters[0].name)
end
when 283
if command.parameters[0] != "" &&
!@bb1_array.include?(command.parameters[0])
@bb1_array.push(command.parameters[0])
end
if command.parameters[1] != "" &&
!@bb2_array.include?(command.parameters[1])
@bb2_array.push(command.parameters[1])
end
when 284
if command.parameters[0] != "" &&
!@prlx_array.include?(command.parameters[0])
@prlx_array.push(command.parameters[0])
end
when 261
if command.parameters[0] != "" &&
!@vid_array.include?(command.parameters[0])
@vid_array.push(command.parameters[0])
end
when 132
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 133
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 322
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
if command.parameters[3] != "" &&
!@face_array.include?(command.parameters[3])
@face_array.push(command.parameters[3])
end
when 323
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!@char_array.include?(cmd.parameters[0])
@char_array.push(cmd.parameters[0])
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!@se_array.include?(cmd.parameters[0].name)
@se_array.push(cmd.parameters[0].name)
end
end
end
end
end
end
end
end
def check_map(map_id)
$game_map = Game_Map.new
$game_map.setup(map_id)
if $game_map.parallax_name != "" &&
!@prlx_array.include?($game_map.parallax_name)
@prlx_array.push($game_map.parallax_name)
end
if $game_map.battleback1_name != "" &&
!@bb1_array.include?($game_map.battleback1_name)
@bb1_array.push($game_map.battleback1_name)
end
if $game_map.battleback2_name != "" &&
!@bb2_array.include?($game_map.battleback2_name)
@bb2_array.push($game_map.battleback2_name)
end
if $game_map.g_map.bgm.name != "" &&
!@bgm_array.include?($game_map.g_map.bgm.name)
@bgm_array.push($game_map.g_map.bgm.name)
end
if $game_map.g_map.bgs.name != "" &&
!@bgs_array.include?($game_map.g_map.bgs.name)
@bgs_array.push($game_map.g_map.bgs.name)
end
events=$game_map.events
for i in 1..9999
if events[i]!=nil
for page in events[i].g_event.pages
unless page.list.nil?
if page.graphic.character_name != "" &&
!@char_array.include?(page.graphic.character_name)
@char_array.push(page.graphic.character_name)
end
for command in page.list
case command.code
when 101
if command.parameters[0] != "" &&
!@face_array.include?(command.parameters[0])
@face_array.push(command.parameters[0])
end
when 231
if command.parameters[1] != "" &&
!@pict_array.include?(command.parameters[1])
@pict_array.push(command.parameters[1])
end
when 241
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 245
if command.parameters[0].name != "" &&
!@bgs_array.include?(command.parameters[0].name)
@bgs_array.push(command.parameters[0].name)
end
when 249
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 250
if command.parameters[0].name != "" &&
!@se_array.include?(command.parameters[0].name)
@se_array.push(command.parameters[0].name)
end
when 283
if command.parameters[0] != "" &&
!@bb1_array.include?(command.parameters[0])
@bb1_array.push(command.parameters[0])
end
if command.parameters[1] != "" &&
!@bb2_array.include?(command.parameters[1])
@bb2_array.push(command.parameters[1])
end
when 284
if command.parameters[0] != "" &&
!@prlx_array.include?(command.parameters[0])
@prlx_array.push(command.parameters[0])
end
when 261
if command.parameters[0] != "" &&
!@vid_array.include?(command.parameters[0])
@vid_array.push(command.parameters[0])
end
when 132
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 133
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 322
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
if command.parameters[3] != "" &&
!@face_array.include?(command.parameters[3])
@face_array.push(command.parameters[3])
end
when 323
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!@char_array.include?(cmd.parameters[0])
@char_array.push(cmd.parameters[0])
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!@se_array.include?(cmd.parameters[0].name)
@se_array.push(cmd.parameters[0].name)
end
end
end
end
end
end
end
end
end
end
end Прикладываю также демку с кучей "забытых" ресурсов, на которые проверка ругается, и, если все вернуть на место - то проверка проходит, да и игра падать перестает yadi.sk/d/naO7duH7jDU5G |
Последнее редактирование: 9 года 2 мес. назад от caveman.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: AnnTenna, Agckuu_Coceg, DeadElf79, SLAWOK, Ren310, strelokhalfer, Демий, RastaManGames, yros 98, poca и еще 4 пользователей
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62711
|
О, так это же не скрипт, а прям клад какой-то, даже не знала, что это можно вот так вот запросто взять и заскриптовать! Очень полезная штука! Никто не возражает, если я эту тему прикреплю и сделаю важной?!
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62712
|
Ну, для XP подобная штука давно придумана. А вот для Эйса вроде не доводилось видеть, так что - зачёт.
|
Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62722
|
AnnTenna пишет:
О, так это же не скрипт, а прям клад какой-то, даже не знала, что это можно вот так вот запросто взять и заскриптовать! Очень полезная штука! Никто не возражает, если я эту тему прикреплю и сделаю важной?! Конечно, нет. Эльф это и предлагал сделать, чтобы видно было тем, кто выкладывает проекты. |
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62730
|
Предлагаю, кстати, создать небольшую отдельную версию с совмещением этого скрипта и экспортёра для того, чтобы и картинки на месте были и тексты можно было писать прямо в ворде (или где там еще люди свою грамотность проверяют?). Тем более, что подкрутить надо всего чуть-чуть))
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62731
|
ворд замучает своими тегами форматирования, а подключать олешную автоматизацию к руби, чтобы вытащить голый текст... ненене
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62733
|
Разве в новом ворде нельзя сохранить в txt?! О_о Да
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62735
|
DeadElf79 пишет:
Разве в новом ворде нельзя сохранить в txt?! О_о Да Ворд всегда мог и может. Go Google it. |
Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62737
|
Аццке, о том и говорю, собственно)
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62873
|
Написал класс Resource_Unchecker для проверки наличия лишних неиспользуемых игрой ресурсов в папке проекта и добавил в чекер пару забытых проверок.
Обновил скрипты в первом посте, и обновил демку (теперь там есть и несколько лишних ресурсов) |
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #62876
|
Атлична!
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 4 мес. назад #63008
|
Я вместо ворда notepad++ пользую. В последних версиях появился плагин автоматически проверяющий ошибки.
(Если, конечно, стоит Aspell) Для файла uncheck подошло бы имя unnecessary, но это сугубо мое личное мнение) И еще кое что, сделай меню доступным через дебаг режим, мало ли кто забудет убрать скрипт. И да, если файлы в архиве, то их не видит.(Ну, если проект свой, то это в принципе и не надо) |
"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 4 мес. назад от strelokhalfer.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 11 года 3 мес. назад #63608
|
Странно, но он говорит мне что в папке нет файлов, которые на самом деле есть... Чаще всего об звуках. Наверно дело в расширении? Не заметил, но он вроде на .wav файлы матерится...
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 10 года 7 мес. назад #68637
|
Добрый день
Интересует, есть ли нечто подобное для VX? Спасибо. |
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 10 года 7 мес. назад #68638
|
Не видел, и портировать не собираюсь.
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 9 года 2 мес. назад #85163
|
Превозмог лень и дописал в скрипт проверку на wav, jpg и bmp. Код и демо обновлены в 1м сообщении
|
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 7 года 11 мес. назад #95276
|
Малюсенький фикс. Мало ли найдутся люди, которые используют aiff.
def check_mus_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"mp3")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"ogg")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"wav")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"aiff"))
return true
end
return false
end И еще один малюсенкий фикс для window_titlecommand: def make_command_list
add_command(Vocab::new_game, :new_game)
add_command(Vocab::continue, :continue, continue_enabled)
if $checker.do_title_debug && $TEST
add_command($checker.options_button_name, :checker)
end
add_command(Vocab::shutdown, :shutdown)
end это чтобы не выключать самому эту менюшку с проверкой. При запуске не из редактора оно само пропадает. |
Последнее редактирование: 7 года 11 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 7 года 11 мес. назад #95277
|
Должен... сопротивляться... не должен... нудить...
def check_mus_file?(folder_name, file_name)
["mp3", "ogg", "wav", "aiff"].any? do |format|
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,format))
end
end |
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 7 года 9 мес. назад #96671
|
Когда Эльф и Кавеман были юными и наивными, они еще не могли в модули и алиасы, тем самым ломая скрипты, настройки и прочее, заставляя вставлять скрипт выше всех в разделе "Materials", чтобы ничего не взорвалось.
А потом Кавеман вырос и ушел пилить Светлого рыцаря. А Эльф, который тоже вырос, сделал глобальный параллельный фикс для всех трёх скриптов Кавемана, применив к титульному окну нужные алиасы и заменив глобальную переменную $checker на вполне себе еще более глобальный и ни от чего не зависимый модуль Checker. Скрипты, много их [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] #===============================================================================
=begin
Resource Checker
Скрипт проверяет наличие всех используемых ресурсов в игре.
Автор: caveman
Правки: DeadElf79
Версия: 1.2
Изменения: 1.1
- добавлена возможность проверки наличия лишних ресурсов
- добавлено несколько забытых проверок в чекер (титульник и графика евента)
=end
#===============================================================================
module Checker
#==========МЕНЯЕМ ТОЛЬКО ЗДЕСЬ==========
#опция проверки наличия ресурсов (пункт в меню)
def self.check_resource
true
end
#опция проверки неиспользуемых ресурсов (пункт в меню)
def self.uncheck_resource
true
end
#возможность проверки прямо из титульного экрана
#если проект был запущен из редактора (то есть $DEBUG=true)
def self.do_title_debug
true
end
#=======ЗДЕСЬ МЕНЯЕМ ПО ЖЕЛАНИЮ========
def self.options_button_name
"Проверка ресурсов"
end
def self.options_check_name
"Пров. нехватку"
end
def self.options_uncheck_name
"Пров. лишнее"
end
def self.options_cancel_name
"Отмена"
end
#==========ДАЛЬШЕ НЕ ТРОГАЕМ============
end
$max_maps=999
$counter=0
class Game_Event
attr_accessor :erased
def g_event
return @event
end
end
class Game_Map
def g_map
return @map
end
end
class Window_TitleCommand
alias res_checker_make_command_list make_command_list
def make_command_list
res_checker_make_command_list
if Checker.do_title_debug && $TEST
add_command(Checker.options_button_name, :checker)
end
end
end
class Window_DialsCommand<Window_TitleCommand
def make_command_list
add_command(Checker.options_check_name,:check,Checker.check_resource)
add_command(Checker.options_uncheck_name,:uncheck,Checker.uncheck_resource)
add_command(Checker.options_cancel_name,:cancel)
end
end
class Scene_Title
alias caveman_cant_alias start
def start
caveman_cant_alias
create_extra_window
end
alias res_checker_create_command_window create_command_window
def create_command_window
res_checker_create_command_window
if Checker.do_title_debug
@command_window.set_handler(:checker, method(:command_checker))
end
end
def create_extra_window
@extra=Window_DialsCommand.new
@extra.visible=false
@extra.x = (Graphics.width - @command_window.width) / 2+@extra.width
@extra.y = (Graphics.height * 1.6 - @command_window.height) / 2
@extra.set_handler(:check, method(:command_check))
@extra.set_handler(:uncheck, method(:command_uncheck))
@extra.set_handler(:cancel, method(:command_cancel))
end
def command_checker
@extra.visible=true
@extra.openness=0
@extra.open
@command_window.active=false
@extra.active=true
end
def command_check
checker=Resource_Checker.new
if checker.done then
@extra.close
msgbox "Проверка успешно завершена!"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif checker.error
@extra.close
@file=File.open("check.txt","w")
@file.write(checker.errmsg)
@file.close
msgbox "При проверке возникли ошибки. Смотрите в файле check.txt"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif
@extra.close
msgbox "Эльфы полетели!"
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end
def command_uncheck
checker=Resource_Unchecker.new
if checker.done then
@extra.close
msgbox "Проверка успешно завершена!"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif checker.error
@extra.close
@file=File.open("uncheck.txt","w")
@file.write(checker.errmsg)
@file.close
msgbox "При проверке нашлись ненужные ресурсы. Смотрите в файле uncheck.txt"
update until @extra.close?
@command_window.active=true
@extra.active=false
elsif
@extra.close
msgbox "Эльфы полетели!"
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end
def command_cancel
@extra.close
update until @extra.close?
@command_window.active=true
@extra.active=false
end
end #===============================================================================
=begin
RESOURCE_CHECKER
Проверяльщик ресурсов
Этот скрипт просматривает проект на предмет забытых
графических и звуковых ресурсов при выкладывании без РТП.
Автор: caveman
=end
#===============================================================================
class Resource_Checker
attr_accessor :done
attr_accessor :error
attr_accessor :errmsg
def initialize
DataManager.init
@done=true
@error = false
@errmsg = "[База]\n"
if !check_db?
@error = true
@done = false
end
@errmsg += "\n"
@errmsg += "[Общие события]\n"
if !check_commons?
@error = true
@done = false
end
@errmsg += "\n"
@errmsg += "[Карты]\n"
for map in 1..$max_maps
if FileTest.exist?(sprintf("Data/Map%03d.rvdata2",map))
if !check_map?(map)
@error = true
@done = false
end
else
next
end
end
@errmsg += "\n"
end
def check_img_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"png")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"jpg")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"bmp"))
return true
end
return false
end
def check_vid_file?(file_name)
if FileTest.exist?(sprintf("Movies/%s",file_name))
return true
end
return false
end
def check_mus_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"mp3")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"ogg")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"wav")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"aiff"))
return true
end
return false
end
def check_db?
flag = true
# icons
if !check_img_file?("System","IconSet")
@errmsg += sprintf("Не найден набор %s.png в папке System\n",
"IconSet")
flag = false
end
# actors
for i in 1...$data_actors.size
if $data_actors[i].character_name != "" &&
!check_img_file?("Characters",$data_actors[i].character_name)
@errmsg += sprintf("Не найдена графика %s.png в папке Characters\n",
$data_actors[i].character_name)
flag = false
end
if $data_actors[i].face_name != "" &&
!check_img_file?("Faces",$data_actors[i].face_name)
@errmsg += sprintf("Не найден фейс %s.png в папке Faces\n",
$data_actors[i].face_name)
flag = false
end
end
# enemies
for i in 1...$data_enemies.size
if $data_enemies[i].battler_name != "" &&
!check_img_file?("Battlers",$data_enemies[i].battler_name)
@errmsg += sprintf("Не найдена графика противника %s.png в папке Battlers\n",
$data_enemies[i].battler_name)
flag = false
end
end
# animations
for i in 1...$data_animations.size
if $data_animations[i].animation1_name != "" &&
!check_img_file?("Animations",$data_animations[i].animation1_name)
@errmsg += sprintf("Не найдена анимационная графика 1 %s.png в папке Animations\n",
$data_animations[i].animation1_name)
flag = false
end
if $data_animations[i].animation2_name != "" &&
!check_img_file?("Animations",$data_animations[i].animation2_name)
@errmsg += sprintf("Не найдена анимационная графика 2 %s.png в папке Animations\n",
$data_animations[i].animation2_name)
flag = false
end
end
# tilesets
for i in 1...$data_tilesets.size
for j in 0...8
if $data_tilesets[i].tileset_names[j] != "" &&
!check_img_file?("Tilesets",$data_tilesets[i].tileset_names[j])
@errmsg += sprintf("Не найдена графика для тайлсета %s.png в папке Tilesets\n",
$data_tilesets[i].tileset_names[j])
flag = false
end
end
end
# system
if $data_system.title1_name != "" &&
!check_img_file?("Titles1",$data_system.title1_name)
@errmsg += sprintf("Не найдена графика для Title %s.png в папке Titles1\n",
$data_system.title1_name)
flag = false
end
if $data_system.title2_name != "" &&
!check_img_file?("Titles2",$data_system.title2_name)
@errmsg += sprintf("Не найдена графика для Title %s.png в папке Titles2\n",
$data_system.title2_name)
flag = false
end
if $data_system.boat.character_name != "" &&
!check_img_file?("Characters",$data_system.boat.character_name)
@errmsg += sprintf("Не найдена графика для boat %s.png в папке Characters\n",
$data_system.boat.character_name)
flag = false
end
if $data_system.ship.character_name != "" &&
!check_img_file?("Characters",$data_system.ship.character_name)
@errmsg += sprintf("Не найдена графика для ship %s.png в папке Characters\n",
$data_system.ship.character_name)
flag = false
end
if $data_system.airship.character_name != "" &&
!check_img_file?("Characters",$data_system.airship.character_name)
@errmsg += sprintf("Не найдена графика для airship %s.png в папке Characters\n",
$data_system.airship.character_name)
flag = false
end
if $data_system.title_bgm.name != "" &&
!check_mus_file?("BGM",$data_system.title_bgm.name)
@errmsg += sprintf("Не найден трек %s для title_bgm в папке Audio/BGM\n",
$data_system.title_bgm.name)
flag = false
end
if $data_system.battle_bgm.name != "" &&
!check_mus_file?("BGM",$data_system.battle_bgm.name)
@errmsg += sprintf("Не найден трек %s для battle_bgm в папке Audio/BGM\n",
$data_system.battle_bgm.name)
flag = false
end
if $data_system.battle_end_me.name != "" &&
!check_mus_file?("ME",$data_system.battle_end_me.name)
@errmsg += sprintf("Не найден трек %s для battle_end_me в папке Audio/ME\n",
$data_system.battle_end_me.name)
flag = false
end
if $data_system.gameover_me.name != "" &&
!check_mus_file?("ME",$data_system.gameover_me.name)
@errmsg += sprintf("Не найден трек %s для gameover_me в папке Audio/ME\n",
$data_system.gameover_me.name)
flag = false
end
if $data_system.boat.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.boat.bgm.name)
@errmsg += sprintf("Не найден трек %s для boat в папке Audio/BGM\n",
$data_system.boat.bgm.name)
flag = false
end
if $data_system.ship.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.ship.bgm.name)
@errmsg += sprintf("Не найден трек %s для ship в папке Audio/BGM\n",
$data_system.ship.bgm.name)
flag = false
end
if $data_system.airship.bgm.name != "" &&
!check_mus_file?("BGM",$data_system.airship.bgm.name)
@errmsg += sprintf("Не найден трек %s для airship в папке Audio/BGM\n",
$data_system.airship.bgm.name)
flag = false
end
for j in 0..23
if $data_system.sounds[j].name != "" &&
!check_mus_file?("SE",$data_system.sounds[j].name)
@errmsg += sprintf("Не найден системный звук %s в папке Audio/SE\n",
$data_system.sounds[j].name)
flag = false
end
end
return flag
end
def check_commons?
flag = true
for i in 1...$data_common_events.size
list = $data_common_events[i].list
if list != nil
for command in list
case command.code
when 101
if command.parameters[0] != "" &&
!check_img_file?("Faces",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найден фейс %s.png в папке Faces\n",
i,command.parameters[0])
flag = false
end
when 231
if command.parameters[1] != "" &&
!check_img_file?("Pictures",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Pictures\n",
i,command.parameters[1])
flag = false
end
when 241
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
i,command.parameters[0].name)
flag = false
end
when 245
if command.parameters[0].name != "" &&
!check_mus_file?("BGS",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGS файл %s в папке Audio/BGS\n",
i,command.parameters[0].name)
flag = false
end
when 249
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден ME файл %s в папке Audio/ME\n",
i,command.parameters[0].name)
flag = false
end
when 250
if command.parameters[0].name != "" &&
!check_mus_file?("SE",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден SE файл %s в папке Audio/SE\n",
i,command.parameters[0].name)
flag = false
end
when 283
if command.parameters[0] != "" &&
!check_img_file?("Battlebacks1",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Battlebacks1\n",
i,command.parameters[0].name)
flag = false
end
if command.parameters[1] != "" &&
!check_img_file?("Battlebacks2",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Battlebacks2\n",
i,command.parameters[1])
flag = false
end
when 284
if command.parameters[0] != "" &&
!check_img_file?("Parallaxes",command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдена картинка %s.png в папке Parallaxes\n",
i,command.parameters[0])
flag = false
end
when 261
if command.parameters[0] != "" &&
!check_vid_file?(command.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найдено видео %s в папке Movies\n",
i,command.parameters[0])
flag = false
end
when 132
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
i,command.parameters[0].name)
flag = false
end
when 133
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден ME файл %s в папке Audio/ME\n",
i,command.parameters[0].name)
flag = false
end
when 322
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,command.parameters[1])
flag = false
end
if command.parameters[3] != "" &&
!check_img_file?("Faces",command.parameters[3])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Faces\n",
i,command.parameters[3])
flag = false
end
when 323
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,command.parameters[1])
flag = false
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!check_img_file?("Characters",cmd.parameters[0])
@errmsg += sprintf("[Общее событие %04d] Не найден файл %s.png в папке Characters\n",
i,cmd.parameters[0])
flag = false
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!check_mus_file?("SE",cmd.parameters[0].name)
@errmsg += sprintf("[Общее событие %04d] Не найден SE файл %s в папке Audio/SE\n",
i,cmd.parameters[0].name)
flag = false
end
end
end
end
end
end
end
return flag
end
def check_map?(map_id)
flag = true
$game_map = Game_Map.new
$game_map.setup(map_id)
if $game_map.parallax_name != "" &&
!check_img_file?("Parallaxes",$game_map.parallax_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Parallaxes\n",
map_id,$game_map.parallax_name)
flag = false
end
if $game_map.battleback1_name != "" &&
!check_img_file?("Battlebacks1",$game_map.battleback1_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Battlebacks1\n",
map_id,$game_map.battleback1_name)
flag = false
end
if $game_map.battleback2_name != "" &&
!check_img_file?("Battlebacks2",$game_map.battleback2_name)
@errmsg += sprintf("[Карта %04d] Не найден файл %s.png в папке Battlebacks2\n",
map_id,$game_map.battleback2_name)
flag = false
end
if $game_map.g_map.bgm.name != "" &&
!check_mus_file?("BGM",$game_map.g_map.bgm.name)
@errmsg += sprintf("[Карта %04d] Не найден трек %s в папке Audio/BGM\n",
map_id,$game_map.g_map.bgm.name)
flag = false
end
if $game_map.g_map.bgs.name != "" &&
!check_mus_file?("BGS",$game_map.g_map.bgs.name)
@errmsg += sprintf("[Карта %04d] Не найден трек %s в папке Audio/BGS\n",
map_id,$game_map.g_map.bgs.name)
flag = false
end
events=$game_map.events
for i in 1..9999
if events[i]!=nil
for page in events[i].g_event.pages
unless page.list.nil?
if page.graphic.character_name != "" &&
!check_img_file?("Characters",page.graphic.character_name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена графика события %s.png в папке Characters\n",
map_id,i,page.graphic.character_name)
flag = false
end
for command in page.list
case command.code
when 101
if command.parameters[0] != "" &&
!check_img_file?("Faces",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден фейс %s.png в папке Faces\n",
map_id,i,command.parameters[0])
flag = false
end
when 231
if command.parameters[1] != "" &&
!check_img_file?("Pictures",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Pictures\n",
map_id,i,command.parameters[1])
flag = false
end
when 241
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 245
if command.parameters[0].name != "" &&
!check_mus_file?("BGS",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGS файл %s в папке Audio/BGS\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 249
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден ME файл %s в папке Audio/ME\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 250
if command.parameters[0].name != "" &&
!check_mus_file?("SE",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден SE файл %s в папке Audio/SE\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 283
if command.parameters[0] != "" &&
!check_img_file?("Battlebacks1",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Battlebacks1\n",
map_id,i,command.parameters[0].name)
flag = false
end
if command.parameters[1] != "" &&
!check_img_file?("Battlebacks2",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Battlebacks2\n",
map_id,i,command.parameters[1])
flag = false
end
when 284
if command.parameters[0] != "" &&
!check_img_file?("Parallaxes",command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдена картинка %s.png в папке Parallaxes\n",
map_id,i,command.parameters[0])
flag = false
end
when 261
if command.parameters[0] != "" &&
!check_vid_file?(command.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найдено видео %s в папке Movies\n",
map_id,i,command.parameters[0])
flag = false
end
when 132
if command.parameters[0].name != "" &&
!check_mus_file?("BGM",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден BGM файл %s в папке Audio/BGM\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 133
if command.parameters[0].name != "" &&
!check_mus_file?("ME",command.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден ME файл %s в папке Audio/ME\n",
map_id,i,command.parameters[0].name)
flag = false
end
when 322
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,command.parameters[1])
flag = false
end
if command.parameters[3] != "" &&
!check_img_file?("Faces",command.parameters[3])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Faces\n",
map_id,i,command.parameters[3])
flag = false
end
when 323
if command.parameters[1] != "" &&
!check_img_file?("Characters",command.parameters[1])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,command.parameters[1])
flag = false
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!check_img_file?("Characters",cmd.parameters[0])
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден файл %s.png в папке Characters\n",
map_id,i,cmd.parameters[0])
flag = false
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!check_mus_file?("SE",cmd.parameters[0].name)
@errmsg += sprintf("[Карта %04d, событие %04d] Не найден SE файл %s в папке Audio/SE\n",
map_id,i,cmd.parameters[0].name)
flag = false
end
end
end
end
end
end
end
end
end
return flag
end
end #===============================================================================
=begin
RESOURCE_UNCHECKER
Проверяльщик ресурсов
Этот скрипт просматривает папки проекта на предмет неиспользуемых
в проекте графических и звуковых ресурсов при выкладывании без РТП.
Автор: caveman
=end
#===============================================================================
class Resource_Unchecker
attr_accessor :done
attr_accessor :error
attr_accessor :errmsg
def initialize
DataManager.init
@done=true
@error = false
# списки существующих ресурсов по папкам
# звуки
@bgm_array = []
@bgs_array = []
@se_array = []
@me_array = []
# ролики
@vid_array = []
# графика
@anim_array = []
@bb1_array = []
@bb2_array = []
@btl_array = []
@char_array = []
@face_array = []
@prlx_array = []
@pict_array = []
@sys_array = []
@tile_array = []
@ttl1_array = []
@ttl2_array = []
check_db
check_commons
for map in 1..$max_maps
if FileTest.exist?(sprintf("Data/Map%03d.rvdata2",map))
check_map(map)
else
next
end
end
if !find_unused?
@error = true
@done = false
elsif
@error = false
@done = true
end
end
def find_unused?
flag = true
@errmsg = "[Audio/BGM]\n"
Dir.foreach("Audio/BGM") {|x|
if x != "." && x != ".."
if !@bgm_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/BGS]\n"
Dir.foreach("Audio/BGS") {|x|
if x != "." && x != ".."
if !@bgs_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/SE]\n"
Dir.foreach("Audio/SE") {|x|
if x != "." && x != ".."
if !@se_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Audio/ME]\n"
Dir.foreach("Audio/ME") {|x|
if x != "." && x != ".."
if !@me_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Movies]\n"
Dir.foreach("Movies") {|x|
if x != "." && x != ".."
if !@vid_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Animations]\n"
Dir.foreach("Graphics/Animations") {|x|
if x != "." && x != ".."
if !@anim_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlebacks1]\n"
Dir.foreach("Graphics/Battlebacks1") {|x|
if x != "." && x != ".."
if !@bb1_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlebacks2]\n"
Dir.foreach("Graphics/Battlebacks2") {|x|
if x != "." && x != ".."
if !@bb2_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Battlers]\n"
Dir.foreach("Graphics/Battlers") {|x|
if x != "." && x != ".."
if !@btl_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Characters]\n"
Dir.foreach("Graphics/Characters") {|x|
if x != "." && x != ".."
if !@char_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Faces]\n"
Dir.foreach("Graphics/Faces") {|x|
if x != "." && x != ".."
if !@face_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Parallaxes]\n"
Dir.foreach("Graphics/Parallaxes") {|x|
if x != "." && x != ".."
if !@prlx_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Pictures]\n"
Dir.foreach("Graphics/Pictures") {|x|
if x != "." && x != ".."
if !@pict_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Tilesets]\n"
Dir.foreach("Graphics/Tilesets") {|x|
if x != "." && x != ".."
if !@tile_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Titles1]\n"
Dir.foreach("Graphics/Titles1") {|x|
if x != "." && x != ".."
if !@ttl1_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
@errmsg += "\n"
@errmsg += "[Graphics/Titles2]\n"
Dir.foreach("Graphics/Titles2") {|x|
if x != "." && x != ".."
if !@ttl2_array.include?(File.basename(x, ".*"))
@errmsg += sprintf("%s\n", x)
flag = false
end
end }
return flag
end
def check_img_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"png")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"jpg")) ||
FileTest.exist?(sprintf("Graphics/%s/%s.%s",folder_name,file_name,"bmp"))
return true
end
return false
end
def check_vid_file?(file_name)
if FileTest.exist?(sprintf("Movies/%s",file_name))
return true
end
return false
end
def check_mus_file?(folder_name, file_name)
if FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"mp3")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"ogg")) ||
FileTest.exist?(sprintf("Audio/%s/%s.%s",folder_name,file_name,"wav"))
return true
end
return false
end
def check_db
# actors
for i in 1...$data_actors.size
if $data_actors[i].character_name != "" &&
!@char_array.include?($data_actors[i].character_name)
@char_array.push($data_actors[i].character_name)
end
if $data_actors[i].face_name != "" &&
!@face_array.include?($data_actors[i].face_name)
@face_array.push($data_actors[i].face_name)
end
end
# enemies
for i in 1...$data_enemies.size
if $data_enemies[i].battler_name != "" &&
!@btl_array.include?($data_enemies[i].battler_name)
@btl_array.push($data_enemies[i].battler_name)
end
end
# animations
for i in 1...$data_animations.size
if $data_animations[i].animation1_name != "" &&
!@anim_array.include?($data_animations[i].animation1_name)
@anim_array.push($data_animations[i].animation1_name)
end
if $data_animations[i].animation2_name != "" &&
!@anim_array.include?($data_animations[i].animation2_name)
@anim_array.push($data_animations[i].animation2_name)
end
end
# tilesets
for i in 1...$data_tilesets.size
for j in 0...8
if $data_tilesets[i].tileset_names[j] != "" &&
!@tile_array.include?($data_tilesets[i].tileset_names[j])
@tile_array.push($data_tilesets[i].tileset_names[j])
end
end
end
# system
if $data_system.title1_name != "" &&
!@ttl1_array.include?($data_system.title1_name)
@ttl1_array.push($data_system.title1_name)
end
if $data_system.title2_name != "" &&
!@ttl2_array.include?($data_system.title2_name)
@ttl2_array.push($data_system.title2_name)
end
if $data_system.boat.character_name != "" &&
!@char_array.include?($data_system.boat.character_name)
@char_array.push($data_system.boat.character_name)
end
if $data_system.ship.character_name != "" &&
!@char_array.include?($data_system.ship.character_name)
@char_array.push($data_system.ship.character_name)
end
if $data_system.airship.character_name != "" &&
!@char_array.include?($data_system.airship.character_name)
@char_array.push($data_system.airship.character_name)
end
if $data_system.title_bgm.name != "" &&
!@bgm_array.include?($data_system.title_bgm.name)
@bgm_array.push($data_system.title_bgm.name)
end
if $data_system.battle_bgm.name != "" &&
!@bgm_array.include?($data_system.battle_bgm.name)
@bgm_array.push($data_system.battle_bgm.name)
end
if $data_system.battle_end_me.name != "" &&
!@me_array.include?($data_system.battle_end_me.name)
@me_array.push($data_system.battle_end_me.name)
end
if $data_system.gameover_me.name != "" &&
!@me_array.include?($data_system.gameover_me.name)
@me_array.push($data_system.gameover_me.name)
end
if $data_system.boat.bgm.name != "" &&
!@bgm_array.include?($data_system.boat.bgm.name)
@bgm_array.push($data_system.boat.bgm.name)
end
if $data_system.ship.bgm.name != "" &&
!@bgm_array.include?($data_system.ship.bgm.name)
@bgm_array.push($data_system.ship.bgm.name)
end
if $data_system.airship.bgm.name != "" &&
!@bgm_array.include?($data_system.airship.bgm.name)
@bgm_array.push($data_system.airship.bgm.name)
end
for j in 0..23
if $data_system.sounds[j].name != "" &&
!@se_array.include?($data_system.sounds[j].name)
@se_array.push($data_system.sounds[j].name)
end
end
end
def check_commons
for i in 1...$data_common_events.size
list = $data_common_events[i].list
if list != nil
for command in list
case command.code
when 101
if command.parameters[0] != "" &&
!@face_array.include?(command.parameters[0])
@face_array.push(command.parameters[0])
end
when 231
if command.parameters[1] != "" &&
!@pict_array.include?(command.parameters[1])
@pict_array.push(command.parameters[1])
end
when 241
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 245
if command.parameters[0].name != "" &&
!@bgs_array.include?(command.parameters[0].name)
@bgs_array.push(command.parameters[0].name)
end
when 249
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 250
if command.parameters[0].name != "" &&
!@se_array.include?(command.parameters[0].name)
@se_array.push(command.parameters[0].name)
end
when 283
if command.parameters[0] != "" &&
!@bb1_array.include?(command.parameters[0])
@bb1_array.push(command.parameters[0])
end
if command.parameters[1] != "" &&
!@bb2_array.include?(command.parameters[1])
@bb2_array.push(command.parameters[1])
end
when 284
if command.parameters[0] != "" &&
!@prlx_array.include?(command.parameters[0])
@prlx_array.push(command.parameters[0])
end
when 261
if command.parameters[0] != "" &&
!@vid_array.include?(command.parameters[0])
@vid_array.push(command.parameters[0])
end
when 132
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 133
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 322
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
if command.parameters[3] != "" &&
!@face_array.include?(command.parameters[3])
@face_array.push(command.parameters[3])
end
when 323
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!@char_array.include?(cmd.parameters[0])
@char_array.push(cmd.parameters[0])
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!@se_array.include?(cmd.parameters[0].name)
@se_array.push(cmd.parameters[0].name)
end
end
end
end
end
end
end
end
def check_map(map_id)
$game_map = Game_Map.new
$game_map.setup(map_id)
if $game_map.parallax_name != "" &&
!@prlx_array.include?($game_map.parallax_name)
@prlx_array.push($game_map.parallax_name)
end
if $game_map.battleback1_name != "" &&
!@bb1_array.include?($game_map.battleback1_name)
@bb1_array.push($game_map.battleback1_name)
end
if $game_map.battleback2_name != "" &&
!@bb2_array.include?($game_map.battleback2_name)
@bb2_array.push($game_map.battleback2_name)
end
if $game_map.g_map.bgm.name != "" &&
!@bgm_array.include?($game_map.g_map.bgm.name)
@bgm_array.push($game_map.g_map.bgm.name)
end
if $game_map.g_map.bgs.name != "" &&
!@bgs_array.include?($game_map.g_map.bgs.name)
@bgs_array.push($game_map.g_map.bgs.name)
end
events=$game_map.events
for i in 1..9999
if events[i]!=nil
for page in events[i].g_event.pages
unless page.list.nil?
if page.graphic.character_name != "" &&
!@char_array.include?(page.graphic.character_name)
@char_array.push(page.graphic.character_name)
end
for command in page.list
case command.code
when 101
if command.parameters[0] != "" &&
!@face_array.include?(command.parameters[0])
@face_array.push(command.parameters[0])
end
when 231
if command.parameters[1] != "" &&
!@pict_array.include?(command.parameters[1])
@pict_array.push(command.parameters[1])
end
when 241
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 245
if command.parameters[0].name != "" &&
!@bgs_array.include?(command.parameters[0].name)
@bgs_array.push(command.parameters[0].name)
end
when 249
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 250
if command.parameters[0].name != "" &&
!@se_array.include?(command.parameters[0].name)
@se_array.push(command.parameters[0].name)
end
when 283
if command.parameters[0] != "" &&
!@bb1_array.include?(command.parameters[0])
@bb1_array.push(command.parameters[0])
end
if command.parameters[1] != "" &&
!@bb2_array.include?(command.parameters[1])
@bb2_array.push(command.parameters[1])
end
when 284
if command.parameters[0] != "" &&
!@prlx_array.include?(command.parameters[0])
@prlx_array.push(command.parameters[0])
end
when 261
if command.parameters[0] != "" &&
!@vid_array.include?(command.parameters[0])
@vid_array.push(command.parameters[0])
end
when 132
if command.parameters[0].name != "" &&
!@bgm_array.include?(command.parameters[0].name)
@bgm_array.push(command.parameters[0].name)
end
when 133
if command.parameters[0].name != "" &&
!@me_array.include?(command.parameters[0].name)
@me_array.push(command.parameters[0].name)
end
when 322
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
if command.parameters[3] != "" &&
!@face_array.include?(command.parameters[3])
@face_array.push(command.parameters[3])
end
when 323
if command.parameters[1] != "" &&
!@char_array.include?(command.parameters[1])
@char_array.push(command.parameters[1])
end
# move route
when 205
for j in 0..command.parameters[1].list.length-1
cmd = command.parameters[1].list[j]
if cmd.code == 41 # change graphic
if cmd.parameters[0] != "" &&
!@char_array.include?(cmd.parameters[0])
@char_array.push(cmd.parameters[0])
end
end
if cmd.code == 44 # play SE
if cmd.parameters[0].name != "" &&
!@se_array.include?(cmd.parameters[0].name)
@se_array.push(cmd.parameters[0].name)
end
end
end
end
end
end
end
end
end
end
end Такие дела. |
Последнее редактирование: 7 года 9 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
|
Resource Checker [VX ACE] 6 года 2 мес. назад #105704
|
|
Последнее редактирование: 6 года 2 мес. назад от ZEkA10000.
Администратор запретил публиковать записи гостям.
|
|
Модераторы: NeKotZima
Время создания страницы: 0.607 секунд