Установка всех апгрейдов на броню и оружие

Доброго времени суток, форумчане!

Недавно назрел вопрос о том, как прописать в файлах игры возможность установки всех агрейдов на броню и оружие. При том, интересует не тупое скачай-установи-играй, а именно сами способы достижения данного эффекта методом прописи кода и скриптов.

Если кто информирован по данному вопросу - буду рад обсудить данный вопрос и просветиться.
1
Видеоуроки смотри, должен быть)
1
Данная фишка присутствует в Sigerous Mod.А вот как прописано - не имею ни малейшего понятия.На форумах игры посмотри - должна быть информация.
0
Dead Skinhead
Видеоуроки - это хорошо, но у меня уже руки опускаются. Весь ютьюб просто засрали тупые школьники, что поверхностно научились ковырять конфиг игры и уже торопятся всех научить и без того всем известным вещам. Потому я уже и пишу сюда, чтобы хоть как-то упростить процесс, ведь здесь водятся знающие люди.
3
Phornet
Видел как-то здесь описывали реализацию подобного, но там слишком уж запутанно. Я, конечно, разобрался, но беда в том, что не работает у меня этот способ. Игра на загрузке (и на начале новой игры) попросту вылетает с офигительным столбом ошибок. Так что, похоже, описанный там вариант мне не подходит...
1
MAX-BUGAGA
Пробуй)
Спойлер
http://stalker-gaming.ru/publ/stati/modding/kak_nauchit_tekhnika_delat_vse_apgrejdy/5-1-0-40
0
MAX-BUGAGA
Это только для чистого неба!!!
Для Зова Припяти существует немного другая инструкция о которой мне знать не доводилось.

---ЦИТАТА---
- в configs\weapons\ лежат конфиги оружия
- у каждого оружия в основной секции есть параметр upgrades, который содержит все доступные для этого оружия апгрейды.
- второй параметр installed_upgrades содержит все предустановленные апгрейды, в основном на квестовых пушках.
- третий парамет upgrade_scheme - схема установки апгрейдов, иначе говоря ссылка на inventory_upgrade.xml, в котором задано графическое отображение иконок.

на примере ПМ-а смотрим, что
Цитата
upgrades = up_gr_ab_pm, up_gr_cd_pm, up_gr_e_pm, up_gr_f_pm, up_gr_g_pm, up_gr_h_pm
installed_upgrades =
upgrade_scheme = upgrade_scheme_u10a

ищем для начала up_gr_ab_pm. находим этот параметр в configs\weapons\upgrades\w_pm_up.ltx
Цитата
[up_gr_ab_pm]
elements = up_a_pm, up_b_pm

up_a_pm находится в этом же файле, в этой секции сразу видим следующее:
Цитата
scheme_index = 0, 0
effects = up_gr_ac_pm
section = up_sect_a_pm
property = prop_rpm

scheme_index - положение иконки, в данном случае это первый столбик первая строка.
effects - это ссылка на секцию
Цитата
[up_gr_ac_pm]
elements = up_ac_pm

section - это ссылка на секцию в файле w_pm_up.ltx, в котором прописано следующее (пояснений не требует):
Цитата
[up_sect_a_pm]
cost = 120
value = +25
rpm = 50

property - это ссылка на xml-описатель, в данном случае он равен "скорострельность"
смотрим далее:
Цитата
precondition_functor = inventory_upgrades.precondition_functor_a
precondition_parameter = a & b
effect_functor = inventory_upgrades.effect_functor_a
effect_parameter = on_weapon_upgrade_something_here

precondition_functor - это ссылка на ф-ию из inventory_upgrades.script, которая смотрит к какому механику мы приперлись, и в зависимости от его умения разрешает или запрещает проведение апгрейда.
precondition_parameter пока непонятен.
effect_functor - ф-ия отнимания денег за проведенный апгрейд
Цитата
prereq_functor = inventory_upgrades.prereq_functor_a
prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a
prereq_params = money(1000), item(habar)
name = st_upg_zatvor_rpm
description = st_upg_zatvor_rpm_descr
icon = ui_wp_upgrade_01

prereq_functor - судя по скриптам не используется, также как и ее параметры.
name - название апгрейда
description - описание апгрейда
icon - иконка. все берется из xml файла соттветсвующего выбраному языку.

вернемся в параметру effects. он указывает на нечто с названием up_ac_pm, такую же секцию апгрейда, но уже для параметра "отдача". это апгрейд второго уровня, и он зависит от up_a_pm и up_c_pm.

в итоге имеем, что ключевой точкой является параметр upgrades в файле конкретного ствола.

теперь, что нужно сделать, чтобы имет возможность установить все апгрейды. еще раз взглянем на этот параметр:
Цитата
upgrades = up_gr_ab_pm, up_gr_cd_pm, up_gr_e_pm, up_gr_f_pm, up_gr_g_pm, up_gr_h_pm

так как up_gr_ab_pm ссылается на секцию, в которой прописаны сразу два апгрейда, то игра считает эти апгрейды взаимоисключающими. поэтому нам надо просто разбить этот параметр на две части. вот исправленная строчка:
Цитата
upgrades = up_gr_a_pm, up_gr_b_pm, up_gr_c_pm, up_gr_d_pm, up_gr_e_pm, up_gr_f_pm, up_gr_g_pm, up_gr_h_pm

однако, секций up_gr_a_pm, up_gr_b_pm, up_gr_c_pm, up_gr_d_pm в файле апгрейдов для ствола может и не быть, поэтому заглянем в конец файла w_pm_up.ltx (мы ведь над ПМ-ом изгаляемся), и убедимся, что действительно, секций нет. добавляем:
Цитата
[up_gr_a_pm]
elements = up_a_pm
[up_gr_b_pm]
elements = up_b_pm
[up_gr_c_pm]
elements = up_c_pm
[up_gr_d_pm]
elements = up_d_pm

теперь самое главное. почти у каждого ствола есть несколько заранее модифицированных двойников, и они описаны обычно в конце конфига этого ствола. для ПМ-а это аж 3 секции: wpn_pm_minigame, wpn_pm_up и wpn_pm_9x19. и каждой из них за каким-то прописан параметр upgrades в точности повторящий значение родительского класса. на кой делать наседование и повторять параметры - я не понимаю, но из-за этого придется для каждого модифицированного ствола скопировать этот параметр с разделенными апгрейдами.
а еще лучше закоментировать эту строку, оставив только параметр installed_upgrades.
0
_Парамонов Александр_
Именно это я и пробовал сделать. К сожалению, вылетает с кучей ошибок. Я пробовал вносить различные правки, тем самым исправляя возможные ошибки - без толку.
0
Dead Skinhead
Именно это я и пробовал сделать. К сожалению, вылетает с кучей ошибок. Я пробовал вносить различные правки, тем самым исправляя возможные ошибки - без толку.
0
MAX-BUGAGA
Спойлер
http://st-md.ru/viewtopic.php?id=606
0
MAX-BUGAGA
Разобрался?
0
Авторизуйтесь, чтобы принять участие в обсуждении.