🔓 Открой весь функционал!









Обновление Форума  
mmysvami
Новый сталкер: mmysvami 
Сталкеров: 12576 🛸
Привет, сталкер! Добро пожаловать на форум STALKER-WORLD — место общения, помощи и обмена опытом. Здесь всегда подскажут, поддержат и помогут разобраться в любой ситуации. Новички найдут советы от ветеранов, а опытные сталкеры — интересные обсуждения. Чувствуй себя как дома.
 📌 Популярные темы
 📌 Топ сталкеров
Anubis Anubis  ⭐️Репутация: 280
Гудвин Гудвин  ⭐️Репутация: 143
СергейПахомов1999 СергейПахомов1999  ⭐️Репутация: 88
ENEWAY ENEWAY  ⭐️Репутация: 74
s-stalk s-stalk  ⭐️Репутация: 60
 📌 Новые сталкеры на форуме
mmysvami mmysvami  ⏳Суббота
parolvostanovlen parolvostanovlen  ⏳Суббота
fateev20000 fateev20000  ⏳Суббота
miha miha  ⏳Суббота
iriskamakeeva1990 iriskamakeeva1990  ⏳Суббота



  • Страница 1 из 1
  • 1
Создание новых апгрейдов
Anubis

Anubis

Онлайн

Титул: Хранитель Зоны

1115

70

280


Сообщение 1 23:59:41, 2026-01-24
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Создание новых апгрейдов
В данном руководстве рассматривается процесс создания собственного апгрейда для оружия на примере АК-74.

Необходимые файлы
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).
В value используется ссылка на текст, а не процентное значение.


Шаг 3. Группы апгрейдов (тип №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. Текстовые описания
В файле st_items_weapons_upgrades.xml добавляем текстовые блоки:

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

Шаг 5. UI апгрейда
Для отображения кнопки апгрейда используется параметр scheme_index.
Значение 3,0 означает третий столбец и первую строку.


Схема апгрейдов АК-74 задаётся параметром upgrade_scheme_u17b
в файле w_ak74.ltx. Правки выполняются в inventory_upgrade_16.xml.


Шаг 6. Новый тип апгрейда
Добавляем тип prop_pack в файл upgrades_properties.ltx.

Код
[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. Он определяет функцию,
формирующую описание апгрейда.


Шаг 7. Скриптовая функция
Добавляем функцию в inventory_upgrades.script:
Код
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







  • Страница 1 из 1
  • 1
Поиск:

Совет по выживанию
Загрузка…
Совет № 1



🔰Заходили сегодня: | Anubis, smirkin1970, andreygalkin709, Prokigor, mmysvami