- Сообщений: 25
- Спасибо получено: 8
Кастомные кнопки в меню
1 год 2 мес. назад #130642
от Darte
Darte создал тему: Кастомные кнопки в меню
Всем привет, в своей игре хочу сделать так чтобы в меню по мимо всех остальных кнопок, была кнопка по типу "Древо навыков", есть ли скрипт, который поможет добавить такие кнопки? Ну мне бы сделать так чтоб при нажатии кнопки, выбирался персонаж, а затем игрока переносило на карту которая является самим древом.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1 год 2 мес. назад #130644
от Neocris
Neocris ответил в теме Кастомные кнопки в меню
Пробуй.
ВНИМАНИЕ: Спойлер!
Code:
#==============================================================================
# ■ Window_MenuCommand (Добавляем пункт "Древо навыков" в меню)
#==============================================================================
class Window_MenuCommand < Window_Command
alias add_original_commands_with_skills add_original_commands
def add_original_commands
add_original_commands_with_skills
# Ищем позицию "Предметов" и добавляем "Древо навыков" после него
index = @list.index { |command| command[:symbol] == :item }
#Можно поменять символ :item на :skill (навыки)
# :equip (экипировка)
# :status (статус)
# :formation (построение)
index = index ? index + 1 : @list.size
# Если нашли нужный символ — вставляем после него, иначе в конец
@list.insert(index, { name: "Древо навыков", symbol: :skill_tree, enabled: main_commands_enabled, ext: nil })
end
end
#==============================================================================
# ■ Scene_Menu (Добавляем обработку нового пункта в меню)
#==============================================================================
class Scene_Menu < Scene_MenuBase
alias create_command_window_with_skills create_command_window
def create_command_window
create_command_window_with_skills
@command_window.set_handler(:skill_tree, method(:command_skill_tree))
end
def command_skill_tree
@status_window.activate
@status_window.select_last
@status_window.set_handler(:ok, method(:on_actor_ok))
@status_window.set_handler(:cancel, method(:return_to_command_window))
end
def on_actor_ok
$game_party.menu_actor = $game_party.members[@status_window.index]
SceneManager.call(Scene_SkillTreeMap)
end
def return_to_command_window
@command_window.activate
@status_window.unselect
end
end
#==============================================================================
# ■ Scene_SkillTreeMap (Переход на карту в зависимости от выбранного героя)
#==============================================================================
class Scene_SkillTreeMap < Scene_Base
def start
super
SceneManager.clear
determine_skill_tree_map
end
def determine_skill_tree_map
case $game_party.menu_actor.id
when 1
$game_map.setup(2) # ID карты для героя 1
when 2
$game_map.setup(3) # ID карты для героя 2
# Можно добавить еще героев
# when 3
# $game_map.setup(n) n - ID карты
else
$game_map.setup(4) # Карта по умолчанию
end
SceneManager.goto(Scene_Map)
end
end
Спасибо сказали: VarVarKa
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1 год 2 мес. назад #130647
от Darte
Darte ответил в теме Кастомные кнопки в меню
Спасибо огромное
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.086 секунд
