По первому вопросу.
Скрипт вполне подходит, если правильно понял запрос, просто его нужно немного дополнить.
Спойлер Аддон:Код:# Аддон для Yanfly Engine Ace - Battle Command List # Требует скрипт Yanfly Engine Ace - Battle Command List v1.09b и умения ним пользоваться # # Аддон устанавливать ниже скрипта Yanfly Engine Ace - Battle Command List # # Добавляет возможность проверять надето ли определенное оружие\броня на персонажа. # И если надето, то добавляет команду с навыком в списке меню боя. # # # Предварительно добавьте нужный навык(команда "SKILL X") в список команд по-умолчанию # в главном скрипте или же в команды героя\класса. Команды ниже просто скроют его до # момента пока не будет надето нужное оружие\броня. # # # <command hide until weapon: Х> - добавьте эту строку в примечания к навыку, чтобы # проверять надето ли определенное оружие, для открытия команды с навыком. # <command hide until armor: Х> - добавьте эту строку в примечания к навыку, чтобы # проверять надето ли определенная броня, для открытия команды с навыком. # Где Х - id оружия\брони в базе данных #=========================================================================# module YEA module REGEXP module BASEITEM COMMAND_LIST_ON = /<(?:COMMAND_LIST|command list)>/i COMMAND_LIST_OFF = /<\/(?:COMMAND_LIST|command list)>/i end # BASEITEM module USABLEITEM COMMAND_NAME = /<(?:COMMAND NAME|command name):[ ](.*)>/i COMMAND_HIDE_LEARN = /<(?:COMMAND_HIDE_UNTIL_LEARN|command hide until learn)>/i COMMAND_HIDE_USABLE = /<(?:COMMAND_HIDE_UNTIL_USABLE|command hide until usable)>/i COMMAND_HIDE_SWITCH = /<(?:COMMAND_HIDE_UNTIL_SWITCH|command hide until switch):[ ](\d+)>/i COMMAND_HIDE_WEAPON = /<(?:COMMAND_HIDE_UNTIL_WEAPON|command hide until weapon):[ ](\d+)>/i COMMAND_HIDE_ARMOR = /<(?:COMMAND_HIDE_UNTIL_WEAPON|command hide until armor):[ ](\d+)>/i end # USABLEITEM end # REGEXP end # YEA class RPG::UsableItem < RPG::BaseItem #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :command_hide_until_weapon attr_accessor :command_hide_until_armor #-------------------------------------------------------------------------- # common cache: load_notetags_bcl #-------------------------------------------------------------------------- def load_notetags_bcl @command_name = @name.clone @command_hide_until_switch = 0 @command_hide_until_weapon = 0 @command_hide_until_armor = 0 #--- self.note.split(/[\r\n]+/).each { |line| case line #--- when YEA::REGEXP::USABLEITEM::COMMAND_NAME @command_name = $1.to_s when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_LEARN @command_hide_until_learn = true when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_USABLE @command_hide_until_usable = true when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_SWITCH @command_hide_until_switch = $1.to_i when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_WEAPON @command_hide_until_weapon = $1.to_i when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_ARMOR @command_hide_until_armor = $1.to_i #--- end } # self.note.split #--- end end # RPG::UsableItem class Window_ActorCommand < Window_Command def add_use_skill?(skill_id) skill = $data_skills[skill_id] return false if hide_until_learn?(skill) return false if hide_until_usable?(skill) return false if hide_until_switch?(skill) return false if hide_until_weapon?(skill) return false if hide_until_armor?(skill) return true end def hide_until_weapon?(skill) return false unless skill.command_hide_until_weapon > 0 return false if @actor.weapons.include?($data_weapons[skill.command_hide_until_weapon]) return true end def hide_until_armor?(skill) return false unless skill.command_hide_until_armor > 0 return false if @actor.armors.include?($data_armors[skill.command_hide_until_armor]) return true end end #==========================КОНЕЦ===============================#
На быдло кодил небольшой аддон к тому скрипту. Вроде работает, если правильно использовать. Не забудь добавить навык в список команд, без этого нечего будет скрывать или показывать.
А второе вот, если я опять таки правильно понял.
Спойлер скрин:
Социальные закладки