[VX Ace] Как создать новую категорию в инвентаре?

Проект месяца 2 место Проект месяца 3 место Проект месяца 1 место
Больше
11 года 10 мес. назад - 11 года 10 мес. назад #70075 от NikZol
Доброго времени суток! Столкнулся с проблемой...
К проекту написано большое количество текстово-справочной информации. Как следствие, большое количество книг... Но они будут очень сильно засорять основную категорию инвентаря "вещи". возникла идея создать еще один подраздел, но вопрос - как это сделать? Понятное дело, что через скрипты, но может кто-нибудь наставит на путь истинный, что и где надо прописать/поменять?) :unsure:

Актуальный проект: MV Project Village

Группа проекта Вконтакте: QuickLoadGames
Последнее редактирование: 11 года 10 мес. назад пользователем NikZol.

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

Больше
11 года 10 мес. назад #70076 от Зеро
Yanfly Engine Ace - Ace Item Menu v1.02 вот скрипт тебе в помощь.

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
11 года 10 мес. назад #70077 от Cerberus
Зеро, из пушки по воробьям, не?
NikZol, набросал такой вот скрипт. Предположил, что оружие и броня так и остаются сами собой, а делятся только "вещи".
Code:
#============================================================================== # ** Window_ItemCategory #------------------------------------------------------------------------------ # This window is for selecting a category of normal items and equipment # on the item screen or shop screen. #============================================================================== class Window_ItemCategory < Window_HorzCommand #----------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- alias less_col_max col_max def col_max return less_col_max + 1 # здесь количество новых категорий end #-------------------------------------------------------------------------- # * Create Command List #-------------------------------------------------------------------------- alias make_less_command_list make_command_list def make_command_list make_less_command_list add_command("Test", :test) # здесь их имена (внешнее, прописанное в инвентаре, и внутреннее, использованное ниже) end end #============================================================================== # ** Window_ItemList #------------------------------------------------------------------------------ # This window displays a list of party items on the item screen. #============================================================================== class Window_ItemList < Window_Selectable #-------------------------------------------------------------------------- # * Include in Item List? #-------------------------------------------------------------------------- def include?(item) case @category when :item item.is_a?(RPG::Item) && !item.key_item? && item.note[/<category: Test>/].nil? # в скобках и слешах - то, что надо вписать в заметки искомой вещи (т.е. в примере вписать надо <category: Test> when :weapon item.is_a?(RPG::Weapon) when :armor item.is_a?(RPG::Armor) when :key_item item.is_a?(RPG::Item) && item.key_item? && item.note[/<category: Test>/].nil? when :test # то самое внутреннее имя, которое мы определили выше item.is_a?(RPG::Item) && !item.note[/<category: Test>/].nil? else false end end end

Жуть болотная, на лапках, в тапках и с пулемётом...
Спасибо сказали: NikZol

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

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
11 года 10 мес. назад #70078 от Amphilohiy

Cerberus пишет: Зеро, из пушки по воробьям, не?
NikZol, набросал такой вот скрипт. Предположил, что оружие и броня так и остаются сами собой, а делятся только "вещи".

Code:
#============================================================================== # ** Window_ItemCategory #------------------------------------------------------------------------------ # This window is for selecting a category of normal items and equipment # on the item screen or shop screen. #============================================================================== class Window_ItemCategory < Window_HorzCommand #----------------------------------------------------------------- # * Get Digit Count #-------------------------------------------------------------------------- alias less_col_max col_max def col_max return less_col_max + 1 # здесь количество новых категорий end #-------------------------------------------------------------------------- # * Create Command List #-------------------------------------------------------------------------- alias make_less_command_list make_command_list def make_command_list make_less_command_list add_command("Test", :test) # здесь их имена (внешнее, прописанное в инвентаре, и внутреннее, использованное ниже) end end #============================================================================== # ** Window_ItemList #------------------------------------------------------------------------------ # This window displays a list of party items on the item screen. #============================================================================== class Window_ItemList < Window_Selectable #-------------------------------------------------------------------------- # * Include in Item List? #-------------------------------------------------------------------------- def include?(item) case @category when :item item.is_a?(RPG::Item) && !item.key_item? && item.note[/<category: Test>/].nil? # в скобках и слешах - то, что надо вписать в заметки искомой вещи (т.е. в примере вписать надо <category: Test> when :weapon item.is_a?(RPG::Weapon) when :armor item.is_a?(RPG::Armor) when :key_item item.is_a?(RPG::Item) && item.key_item? && item.note[/<category: Test>/].nil? when :test # то самое внутреннее имя, которое мы определили выше item.is_a?(RPG::Item) && !item.note[/<category: Test>/].nil? else false end end end

Причем придется читать все комментарии в коде, чтобы все вышло. А вообще придется заменить 1 команду, и 3 регулярки, которые /<category: Test>/ . Затем как обычно писать в заметки к предмету.
Хотя, чтобы было попроще, можно заменить только в команде слово в кавычках, а затем в заметках просто писать <category: Test> .

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

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

Проект месяца 2 место Проект месяца 3 место Проект месяца 1 место
Больше
11 года 10 мес. назад #70084 от NikZol
Отлично, все работает. Спасибо огромное, отдельное - товарищу Cerberus) Все заработало) :whistle:

Актуальный проект: MV Project Village

Группа проекта Вконтакте: QuickLoadGames

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

Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место 3 место Готв Победитель Сбитой кодировки Программист JavaScript 2 место Сбитая кодировка Писатель 3 место 2 место 3 место Организатор конкурсов
Больше
11 года 10 мес. назад #70090 от Cerberus
Амфил, признаю, можно было вынести всё в конфигурацию, но не хотелось городить отдельный модуль.

Жуть болотная, на лапках, в тапках и с пулемётом...

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

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