Какой мод хотите видеть в первый видео обзор S-L?

Всего голосовало: 1901
В нашем приёмнике есть саундтреки из игре S.T.A.L.K.E.R.!
Включи и послушай
лучшую музыку зоны!

Зона отчуждения
Зона отчуждения
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Популярные темы Самые активные сталкеры Новые Сталкеры
Бар "Сердце зоны" [ 1971 ]
Ваше любимое оружие [ 455 ]
BB КОДЫ [ 0 ]
Баннерообмен [ 110 ]
Журнал предложений по обнов... [ 71 ]
Журнал вопросов по сайту и ... [ 144 ]
Штурман [ 7967 ]
Toshik [ 7229 ]
Крэйвен [ 5858 ]
Менгеле [ 4396 ]
Sashka [ 4297 ]
Юкки [ 4278 ]
block107a [ 21:21 ]
312145 [ 07:56 ]
3121456 [ 07:53 ]
prokuror [ 12:53 ]
vvf1 [ 01:53 ]
Balu2033 [ 22:19 ]

  • Страница 1 из 1
  • 1
Форум сталкер » Бар 100 Рентген » Школа моддинга » Как научить механика делать все апгрейды
Как научить механика делать все апгрейды

  NeedForKill
Сообщений: 1195
Награды: 192
[ 1071 ]
Кровосос
12.01.2012, 19:22 | #1
Как научить механика делать все апгрейды
- в configs\weapons\ лежат конфиги оружия
- у каждого оружия в основной секции есть параметр upgrades, который содержит все доступные для этого оружия апгрейды.
- второй параметр installed_upgrades содержит все предустановленные апгрейды, в основном на квестовых пушках.
- третий парамет upgrade_scheme - схема установки апгрейдов, иначе говоря ссылка на inventory_upgrade.xml, в котором задано графическое отображение иконок.

на примере ПМ-а смотрим, что
Quote

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
Цитата
Quote
[up_gr_ab_pm]
elements = up_a_pm, up_b_pm


up_a_pm находится в этом же файле, в этой секции сразу видим следующее:
Quote

scheme_index = 0, 0
effects = up_gr_ac_pm
section = up_sect_a_pm
property = prop_rpm


scheme_index - положение иконки, в данном случае это первый столбик первая строка.
effects - это ссылка на секцию
Quote

[up_gr_ac_pm]
elements = up_ac_pm


section - это ссылка на секцию в файле w_pm_up.ltx, в котором прописано следующее (пояснений не требует):
Quote

[up_sect_a_pm]
cost = 120
value = +25
rpm = 50


property - это ссылка на xml-описатель, в данном случае он равен "скорострельность"
смотрим далее:
Quote

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 - ф-ия отнимания денег за проведенный апгрейд
Quote

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 в файле конкретного ствола.

теперь, что нужно сделать, чтобы имет возможность установить все апгрейды. еще раз взглянем на этот параметр:
Quote

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 ссылается на секцию, в которой прописаны сразу два апгрейда, то игра считает эти апгрейды взаимоисключающими. поэтому нам надо просто разбить этот параметр на две части. вот исправленная строчка:
Quote

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 (мы ведь над ПМ-ом изгаляемся), и убедимся, что действительно, секций нет. добавляем:
Quote

[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.





MAMKU SASHKI EBAL :)

  _Легион_
Сообщений: 266
Награды: 38
[ 482 ]
Безжалостный
14.01.2012, 10:36 | #2
хм надо попробовать сделать механика моей группировке)





  NeedForKill
Сообщений: 1195
Награды: 192
[ 1071 ]
Кровосос
14.01.2012, 14:24 | #3
Илюха-смельчак, только аккуратно если где-то ошибешься вылет будет




MAMKU SASHKI EBAL :)

  _Легион_
Сообщений: 266
Награды: 38
[ 482 ]
Безжалостный
15.01.2012, 19:41 | #4
_EnIgMa_, знаю уже)





  Farkas
Сообщений: 3064
Награды: 238
[ 2763 ]
Командир базы Военных Сталкеров
11.03.2012, 15:35 | #5
Я заменял условие принесения флешки, на 6 книжек, чтобы разнообразить процесс







Сообщение отредактировал Farkas - Воскресенье, 11.03.2012, 15:35

  NeedForKill
Сообщений: 1195
Награды: 192
[ 1071 ]
Кровосос
11.03.2012, 16:00 | #6
Farkas, надо будет так же сделать.




MAMKU SASHKI EBAL :)

  Farkas
Сообщений: 3064
Награды: 238
[ 2763 ]
Командир базы Военных Сталкеров
11.03.2012, 16:08 | #7
_EnIgMa_, попробуй, я модели стандартные документов использовал






  NeedForKill
Сообщений: 1195
Награды: 192
[ 1071 ]
Кровосос
12.03.2012, 13:24 | #8
Farkas, я также делал, но вот что бы их найти надо было по возиться, но оно того стоило.




MAMKU SASHKI EBAL :)
Форум сталкер » Бар 100 Рентген » Школа моддинга » Как научить механика делать все апгрейды
  • Страница 1 из 1
  • 1
Поиск:




Карта сайта

Сайт для фанатов игрового мира сталкер .Копирование файлов без активной ссылки на наш сайт запрещена.
Кража Использование баз разрешения админа любых графических чястей дизайна запрещено.
Хостинг от uCoz