yet another repair semi-mod, короче, просто заготовка для ремонта а-ля fallout ;) |
Здравствуйте, гость ( Авторизация | Регистрация )
yet another repair semi-mod, короче, просто заготовка для ремонта а-ля fallout ;) |
15.07.2009, 04:06
Сообщение
#1
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
в свете последних бурных обсуждений "про ремнот" решил выложить свое видение подхода к ремонту оружия и брони. принцип взят из Fallout 3, а конкретно - ремонт поврежденного итема возможен при помощи разбирания на запчасти другого аналогичного итема.
простенький фейс: в левом списке перечислено все оружие и броня с сортировкой по состоянию. при выборе в правом списке фильтруются только аналогичные оружие или броня, которые можно использовать для ремонта. кнопка над списком отображает текущее состояние и возможное улучшение при разбирании выделенного объекта. если выполняются некоторые условия, то кнопка разблокируется и при нажатии производится улучшение состояния, выброс из инвентаря "отработанного" объекта, и процесс можно продолжить. кнопка "выход", как ни странно, всего лишь закрывает этот диалог. немного про условия. применена простейшая фильтрация по классу объекта, соответсвенно получается, что гадюку можно чинить укороченным калашом и наоборот. любую броню можно чинить любой броней, так как класс у нее везде одинаковый. также нельзя починить объект с состоянием >98% (и так нормальный) и < 10% (хлам восстановлению не подлежит), однако можно использовать эти объекты для разбирания. также применяется ценовой коэффициент, то есть для починки экзы нужно очень много "курток новичка" ;) да, и починябельный объект починяется не больше чем на 10% от состояния разбираемого объекта. и еще, оружие разбирается и выкидывается без учета наличия патронов или прицелов, поэтому что жалко - предварительно снимайте. по тексту скрипта легко найти где производится проверка и расширить ее, добавив свои условия, также как и автоматическое снятие апгрейдов. меня в первую очередь интересовало сохранение уникального оружия и броников, а не глобальное восстановление всех встреченных стволов с целью последующей продажи, но такой вариант тоже возможен ;) активация диалога производится из любого места игры вызовом инициализирующей ф-ии, например так: Код level.start_stop_menu(ui_repair.repair_dialog(get_hud()),true) можно привязать вызов к чему угодно, диалог выводится поверх существующих диалогов. если вызов происходит из самой игры (например сопоставлен вхождению в какую-то зону), то худ полностью очищается и остается только окно диалога. однако текущий вариант рассчитан (просто из-за расположения всех элементов) на вывод поверх окна инвентаря, и срабатывает при использовании какого-либо предмета. то есть быстрого ознакомления с возможностями модуля можно в файле bind_stalker.script найти функцию function actor_binder:on_item_drop (obj) и в конце дописать что-то вроде: Код if obj:section() == "energy_drink" level.start_stop_menu(ui_repair.repair_dialog(get_hud()),true) end тогда диалог появится при выпивании энергетика. "energy_drink" можно заменить на "kolbasa", вобщем что у вас в инвентаре есть съедобного, на то и вешайте. рисовать иконки "молотка и отвертки" я доверю более умеющим людям ;) у кого нестандартный инвентарь - имейте ввиду, кнопку выход я не рисовал, а просто обозначил зону реакции. поэтому для выхода пощелкайте в правый нижний угол. ну и вот собсно сам модуль: [delated] Сообщение отредактировал Орион - 15.11.2009, 20:22 |
 
|
|
|
|
Текстовая версия | Сейчас: 20.05.2024, 23:58 |