Как часто вы посещаете наш сайт?

Всего голосовало: 4921
В нашем приёмнике есть саундтреки из игре 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 ]
Кровосос
07.04.2012, 14:20 | #1
Нам необходимо иметь 7 файлов:
1. configs\weapons\upgrades\w_ak74_up.ltx
2. configs\text\rus\st_items_weapons_upgrades.xml
3. configs\weapons\upgrades_properties.ltx
4. configs\ui\inventory_upgrade_16.xml (для широкоформатных)
5. configs\weapons\w_ak74.ltx
6. configs\ui\textures_descr\ui_ingame2_common.xml
7. scripts\inventory_upgrades.script
Перед прочтением текста ниже рекомендуется прочитать содержание первого спойлера.

Итак, начнём по порядку:
1. Создадим главную секцию (секцию типа №2) нового апгрейда, скопировав любую другую и поменяв параметры и само название секции:
Код
[up_pack_a_ak74]
scheme_index = 3, 0
known = 1
effects =
section = up_sect_pack_a_ak74
property = prop_pack

precondition_functor = inventory_upgrades.precondition_functor_a
precondition_parameter = true

effect_functor = inventory_upgrades.effect_functor_a
effect_parameter = something_here

; ui
prereq_functor = inventory_upgrades.prereq_functor_a
prereq_tooltip_functor = inventory_upgrades.prereq_tooltip_functor_a
prereq_params = up_pack_a_ak74
name = st_upg_pack_a_ak74
description = st_upg_pack_a_ak74_descr
icon = ui_wp_upgrade_30

Как видим, в параметре property "prop_pack", мы указали не сущствующий тип. Мы его создадим самостоятельно чуть позже.

2. Теперь создадим секцию типа №1, которую мы указали в параметре section "up_sect_pack_a_ak74":
Код
[up_sect_pack_a_ak74]
cost = 5120
value = desc_value_pack_a
rpm = 100
cam_dispersion = -0.21;0.7
cam_dispersion_inc = -0.21;0.7
cam_step_angle_horz = -0.21;0.7
zoom_cam_dispersion = -0.2;0.6
zoom_cam_dispersion_inc = -0.2;0.6
zoom_cam_step_angle_horz = -0.2;0.6
grenade_launcher_status = 2
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_x = 126
grenade_launcher_y = 24
control_inertion_factor = -0.2
inv_weight = -0.3
PDM_disp_vel_factor = -0.3;1.7
PDM_disp_accel_factor = -0.3;1.7

Здесь я собрал все улучшения четырёх апгрейдов, суммировав цену и делая скидку 20% (1600*4*0.8 = 5120) Отсюда и название апгрейда - st_upg_pack_a_ak74. В значении value я поставил "desc_value_pack_a". В данном случае в value присутствует ссылка на текстовый блок, а не кол-во процентов.

3. Теперь вернёмся в главную секцию. Т.к. апгрейд является пакетом апгрейдов up_sect_a_ak74,up_sect_c_ak74,up_sect_e_ak74,up_sect_g_ak74, то после проведения нашего апгрейда, четыре выше упомянутые должны выключиться. Для этого запишем наш апгрейд одновременно в несколько секций типов №3:
Код
[up_gr_ab_ak74]
elements = up_a_ak74, up_b_ak74, up_pack_a_ak74

[up_gr_cd_ak74]
elements = up_c_ak74, up_d_ak74, up_pack_a_ak74

[up_gr_ef_ak74]
elements = up_e_ak74, up_f_ak74, up_pack_a_ak74

[up_gr_gh_ak74]
elements = up_g_ak74, up_h_ak74, up_pack_a_ak74

Т.к. из одной группы апгрейдов можно провести только один, то при проведении нашего апгрейда остальные "соседи" по группе апгрейдов выключатся.

4. Теперь, пользуясь файлом №2 запишем текстовые блоки, упомянутые в секциях типов №1 и №2.
Код

Пакет апгрейдов №1


Пакет апгрейдов №1, включающий в себя увеличение темпа стрельбы, уменьшение отдачи, установку крепежа для подствольного гранатомёта, уменьшение веса оружия


Пакет апгрейдов №1 Убийца


5. Теперь создадим ui для нашего апгрейда для того, чтобы кнопка апгрейда была видна в дереве апгрейдов. В парамре scheme_index мы указали "3,0". Это значит, что в дереве апгрейдов этот апгрейд будет в 3-ем столбце и 0-ой строке. К каждому оружию предлагается своя схема дерева апгрейдов. Чтобы узнать схему АК74 откроем его конфиг (файл №5) и найдём параметр upgrade_scheme. Его значение - upgrade_scheme_u17b. Откроем файл №4 со схемами апгрейдов. Вот его общая структура:
Код


Найдём интересующую нас схему и добавим столбец и строку:
Код


6. Создадим новый тип апгрейдов: prop_pack. Для этого воспользуемся файлом №3.
Для начала добавим наш тип в начало файла:
Код
[upgrades_properties]
prop_pack
prop_weight;; Вес
prop_silencer;; Глушитель
prop_underbarrel_slot;; Крепление подствольника
...

Теперь создадим новую секцию:
Код
[prop_pack]
name = st_prop_weight
icon = ui_wp_propery_11
functor = inventory_upgrades.property_functor_d
params = hit_power, rpm, cost

В нашем случае важен только один параметр:
Код
functor = inventory_upgrades.property_functor_d

Он указывает, какая скриптовая функция будет составлять описание. Вы можете сами рассмотреть остальные параметры: name - название типа апгрейда (даётся ссылка на текстовый блок), icon - ссылка на указатель иконок из файла №6.

7. Составим функцию описания апгрейда inventory_upgrades.property_functor_d. Для этого откроем файл №7 и впишем туда маленькую функцию:
Код
function property_functor_d( param1, name )
local prorerty_name = char_ini:r_string(name, "name")
local value_table = utils.parse_names(param1)
local section = value_table[1]
if section then
local value = char_ini:r_string(section, "value")
if value then
return game.translate_string(value)
end
end
return game.translate_string(prorerty_name)
end





MAMKU SASHKI EBAL :)

  Некрон
Сообщений: 3466
Награды: 182
[ 2819 ]
erinnerung
27.04.2012, 22:32 | #2
hz Кода что - то не видно описанного, да и скринов бы... Скудновато.






Ранг - Тень Чернобыля
База - Припять
Должность - Снайпер
Форум сталкер » Бар 100 Рентген » Школа моддинга » Создание новых апгрейдов.
  • Страница 1 из 1
  • 1
Поиск:




Карта сайта

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