- Сообщений: 1704
- Спасибо получено: 2735
Изменение меню экипировки
11 года 11 мес. назад #69276
от yuryol
yuryol создал тему: Изменение меню экипировки
всем привет!
возникла надобность узнать, как изменить ссылки с одного пункта меню экипировки на другое, в каких скриптах это делается.
В стандартном меню нажимая на пункт "надеть" переходишь во вкладку с оружием/щитом/шлемом. нажав затем на пункт "оружие" переходишь в самую нижнюю вкладку. для удобства сделал скрин и начертил красными стрелками как же пункты меню ссылаются друг на друга.
мне же необходимо, чтобы пункт "надеть" ссылался сразу на нижнюю вкладку. это я отметил на скрине зеленой стрелкой.
то есть в оригинале НАДЕТЬ => ОРУЖИЕ => НИЖНЯЯ ВКЛАДКА с видами оружиями.
мне же надо НАДЕТЬ => НИЖНЯЯ ВКЛАДКА с видами оружиями.
предполагаю что это делается в этих четырех скриптах, однако кроме изменения внешнего вида больше ничего сделать не смог.
надеюсь объяснил понятно.
возникла надобность узнать, как изменить ссылки с одного пункта меню экипировки на другое, в каких скриптах это делается.
В стандартном меню нажимая на пункт "надеть" переходишь во вкладку с оружием/щитом/шлемом. нажав затем на пункт "оружие" переходишь в самую нижнюю вкладку. для удобства сделал скрин и начертил красными стрелками как же пункты меню ссылаются друг на друга.
мне же необходимо, чтобы пункт "надеть" ссылался сразу на нижнюю вкладку. это я отметил на скрине зеленой стрелкой.
то есть в оригинале НАДЕТЬ => ОРУЖИЕ => НИЖНЯЯ ВКЛАДКА с видами оружиями.
мне же надо НАДЕТЬ => НИЖНЯЯ ВКЛАДКА с видами оружиями.
предполагаю что это делается в этих четырех скриптах, однако кроме изменения внешнего вида больше ничего сделать не смог.
надеюсь объяснил понятно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
11 года 11 мес. назад #69280
от Lekste
Lekste ответил в теме Изменение меню экипировки
Это делается чуть ниже - в Scene_Equip или как-то так
Спасибо сказали: yuryol
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
11 года 7 мес. назад - 11 года 7 мес. назад #74445
от yuryol
yuryol ответил в теме Изменение меню экипировки
Четыре месяца назад я так путем и не разобрался в вопросе выше 
Сейчас сел и тоже не разобрался
Но вопрос немного изменился.
В общем это меню экипировки
Мне необходимо:
1) Чтоб при входе в меню экипировки мы попадали не на окно выделенное красным, а в окно выделенное желтым. Соответственно, нажав "отмена", из окна выделенного желтым мы бы выходили в ОБЩЕЕ меню, минуя окно выделенное красным.
2) Также хотелось чтобы не было строк, выделенные зеленым. То есть, чтоб щита не было,а было 4 предмета экипировки, ну и соответственно чтобы MAT MDF тоже не было
Особенно интересует второй вопрос, весь день праился и не мог сделать
Сейчас сел и тоже не разобрался
В общем это меню экипировки
Мне необходимо:
1) Чтоб при входе в меню экипировки мы попадали не на окно выделенное красным, а в окно выделенное желтым. Соответственно, нажав "отмена", из окна выделенного желтым мы бы выходили в ОБЩЕЕ меню, минуя окно выделенное красным.
2) Также хотелось чтобы не было строк, выделенные зеленым. То есть, чтоб щита не было,а было 4 предмета экипировки, ну и соответственно чтобы MAT MDF тоже не было
Особенно интересует второй вопрос, весь день праился и не мог сделать
Последнее редактирование: 11 года 7 мес. назад пользователем yuryol.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
11 года 7 мес. назад #74453
от Amphilohiy
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Amphilohiy ответил в теме Изменение меню экипировки
Попробуй это. Я очень короток закоментировал суть дела + старые строки. Ставить, естественно, как отдельный скрипт. Если есть вопросы по написанному - в лс.
ВНИМАНИЕ: Спойлер!
Code:
class Scene_Equip
#Очищаем метод, создающий командное окно
def create_command_window
#wx = @status_window.width
#wy = @help_window.height
#ww = Graphics.width - @status_window.width
#@command_window = Window_EquipCommand.new(wx, wy, ww)
#@command_window.viewport = @viewport
#@command_window.help_window = @help_window
#@command_window.set_handler(:equip, method(:command_equip))
#@command_window.set_handler(:optimize, method(:command_optimize))
#@command_window.set_handler(:clear, method(:command_clear))
#@command_window.set_handler(:cancel, method(:return_scene))
#@command_window.set_handler(:pagedown, method(:next_actor))
#@command_window.set_handler(:pageup, method(:prev_actor))
end
def create_slot_window
wx = @status_window.width
wy = @help_window.height
ww = Graphics.width - @status_window.width
@slot_window = Window_EquipSlot.new(wx, wy, ww)
@slot_window.viewport = @viewport
@slot_window.help_window = @help_window
@slot_window.status_window = @status_window
@slot_window.actor = @actor
@slot_window.set_handler(:ok, method(:on_slot_ok))
#@slot_window.set_handler(:cancel, method(:on_slot_cancel))
#Переписываем\дописываем хэндлеры + активация + селект
@slot_window.set_handler(:cancel, method(:return_scene))
@slot_window.set_handler(:pagedown, method(:next_actor))
@slot_window.set_handler(:pageup, method(:prev_actor))
@slot_window.activate
@slot_window.select(0)
end
def on_actor_change
@status_window.actor = @actor
@slot_window.actor = @actor
@item_window.actor = @actor
#@command_window.activate
#Т.к. хэндлер смены перешел к окну слота, то и кативировать тоже придется его
@slot_window.activate
end
end
class Game_Actor
def equip_slots
#return [0,0,2,3,4] if dual_wield? # Dual wield
#return [0,1,2,3,4] # Normal
#запрет на ношение 2го оружия\щита вообще. По идее.
return [0,2,3,4] if dual_wield? # Dual wield
return [0,2,3,4] # Normal
end
end
class Window_EquipSlot
def visible_line_number
#return 5
#Количество строк уменьшилось до 4, но тогда не будет соотвествовать окну статуса
return 5
end
end
class Window_EquipStatus
def visible_line_number
#return 7
#2 параметра убрано
return 5
end
def refresh
contents.clear
draw_actor_name(@actor, 4, 0) if @actor
#6.times {|i| draw_item(0, line_height * (1 + i), 2 + i) }
#Иное перечисление статов
get_stats.each_with_index {|i, j| draw_item(0, line_height * (1 + j), 2 + i) }
end
#новая функция, возвращающая нужные индексы статов
def get_stats
[0, 2, 4, 5]
end
end
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
11 года 7 мес. назад #74456
от yuryol
yuryol ответил в теме Изменение меню экипировки
Огромное спасибо,Амфи, особенно за разьяснения!
Сейчас еще в личку напишу за советом
Сейчас еще в личку напишу за советом
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.114 секунд
