Полезная инфа для модостроителей новичков 2:создание предметов | Разное
Stalker Clear Sky Информация [105] Сталкер Видео [302] Сталкер Зов Припяти информация [133] Первый литконкурс от stalker-gsc.ru [69]
Фан рассказы [2616] Стихи, песни, поэмы [727] Интервью [140] Чернобыль [304]
Сталкер - основное [119] Сталкинг [39] Превью, обзоры игр Stalker [34] Рецензии на игру Сталкер [30]
Разное [333] Интересные игры [30] Каталог [407] Второй литконкурс от stalker-gsc.ru [112]
Обзор модификаций [44]

Stalker 2 » Статьи » Разное

22:51:39

Полезная инфа для модостроителей новичков 2:создание предметов

Создание нового артефакта.

Создание нового артефакта Сегодня мы на примере научимся созданию новых артефактов.

Создадим, например, артефакт под названием "Ромашка". Статья написана по материалам Hunter Mod. Создание конфига Заходим в папку gamedata\config\misc и открываем файл artefacts.ltx. И находим, например, артефакт "Медуза": [af_medusa]:af_base GroupControlSection = spawn_group $spawn = "artifacts\moscito medusa" $prefetch = 64 cform = skeleton class = ARTEFACT visual = physics\anomaly\artefact_blackdrip.ogf description = enc_zone_artifact_af-medusa inv_name = af-medusa inv_name_short = inv_weight = 0.5 inv_grid_x = 9 inv_grid_y = 4 cost = 1000 jump_height = .5 particles = anomaly2\artefact\artefact_gravi lights_enabled = false ;скорости увеличения (уменьшения) health_restore_speed = 0.0 radiation_restore_speed = 0.0005 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_medusa_absorbation artefact_activation_seq = af_activation_bold [af_medusa_absorbation] burn_immunity = 1.0 ;коэффициенты иммунитета strike_immunity = 1.0 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 0.98 В этой секции задаются параметры артефакта, начиная от внешнего вида и заканчивая коэффициентами различных эффектов вроде вывода радиации. Сделаем копию секции, принадлежающей "Медузе", и заменим её название с af_medusa на af_romashka. Должно выйти примерно вот так: [af_romashka]:af_base GroupControlSection = spawn_group $spawn = "artifacts\moscito romashka" $prefetch = 64 cform = skeleton class = ARTEFACT visual = physics\anomaly\artefact_blackdrip.ogf description = enc_zone_artifact_af-romashka inv_name = af-romashka inv_name_short = inv_weight = 0.5 inv_grid_x = 9 inv_grid_y = 4 cost = 1000 jump_height = .5 particles = anomaly2\artefact\artefact_gravi lights_enabled = false ;скорости увеличения (уменьшения) health_restore_speed = 0.0 radiation_restore_speed = 0.0005 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_romashka_absorbation artefact_activation_seq = af_activation_bold [af_romashka_absorbation] burn_immunity = 1.0 ;коэффициенты иммунитета strike_immunity = 1.0 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 0.98 Назначение некоторых параметров, влияющих на одевшего артефакт: * health_restore_speed - прирост к скорости восстановления здоровья * radiation_restore_speed - прирост скорость вывода радиации * satiety_restore_speed - прирост к голоду * power_restore_speed - прирост к выносливости * bleeding_restore_speed - прирост к скорости остановки кровотечений Создание описания и имени артефакта Заходим в gamedata\config\text\rus и открываем файл string_table_enc_zone.xml. Добавим туда строку с названием артефакта. "Ромашка" Теперь у артефакта есть имя, но одного его недостаточно. Нужно сделать описание. Поэтому добавим и его. Очень странный артефакт. Впервые появился в Зоне где-то в 2011 году, но толку от него - ноль. Ученые не обнаружили никакого влияния артефакта на организм носителя. Все, поздравляю, вы только что создали свой первый артефакт! :)

если кому надо про съедобные части мутантов то вот
Части мутантов можно есть!!!
Находим секцию [mutant_boar_leg]

И меняем параметр class = II_ATTCH на class = II_FOOD

Нога съедается на раз, но эффект 0, поэтому добавляем

eat_health = 1.0

eat_satiety = 0

eat_power = 0

eat_radiation = 0.3

wounds_heal_perc = 0

eat_alcohol = 0

eat_portions_num = -1

Теперь нога лечит как аптечка ученых, но из-за нее повышаться радиация

Мелкие детали ,но полезные
Редактирование тайников:

Частота выпадения:

treasure_manager.script - редактируешь его получаешь частоту выпадание тайников - 65 меняй на что-нить допустим на 10...

Редактирование содержимого:

treasure_manager.ltx в «миске» и во 4 строчке прописываешь, что ты хочешь, получится должно получится примерно так :

[esc_secret_bridge_vagon]

target = 5000

name = esc_secret_0000_name

description = esc_secret_0000_descr

items = ammo_5.45x39_ap,190,medkit_army,6, wpn_addon_scope,wpn_ak74u_m1,stalker_m1,outfit_specnaz_m1, wpn_groza_m1,wpn_spas12_m1,wpn_lr300_m1,wpn_svd_m1,wpn_sig_m1,wpn_colt_m1,wpn_val_m1,wpn_rg6_m1,outf it_dolg_m1

Как поменять плату за проход под мостом на Кордоне:

gamedata.scripts.escape_dialog.script

Почти в самом конце функции has_soldiers_bribe и give_soldiers_bribe, увеличил 500 до 5000.

Устанавливаем высоту прыжка ГГ:

В файле actor.ltx в папке gamedataconfigcreatures, найди параметр jump_speed и задай ему нужную тебе величину, чем больше тем выше ГГ будет прыгать.

Как вернуть свечение артефактов как в оригинальной игре?

мне для младшего брата надо, ибо замучал меня уже...Говорит, что не видит их

В файле artefacts.ltx во всех строках, начинающихся с

;particles

убрать ;

длина "палочки" прицела

в файле system.ltx есть строка

cross_length = 0.005 ;длина "палочки" прицела (0.6 - 0.015)

файл находится gamedataconfig

Броня:

в файле outfits.ltx находишь нужную броню и вписываешь эту строку.

sprint_allowed = false

sprint_allowed = true - чтобы низя было бегать

Заходишь в папку gamedata_config_misc открываеш файл amk_mod_outfit.ltx

Ищеш в нем категорию [svoboda_yellow_exo_outfit_m1]:outfit_base

И ставиш перед вот этими строками точку с запятой, вот так:

;sprint_allowed = false

;additional_inventory_weight = 15

;additional_inventory_weight2 = 15 ; 40+

Подскажите, плз, как изменить у экзоскелета свободы ПНВ с зеленого на улучшенный, как у ССП99-М?

в папке gamedata-config-misc лежит файл amk_mod_outfits.ltx там находишь строчку: [svoboda_yellow_exo_outfit_m1]:outfit_base наже находишь еще одну строчку: nightvision_sect = effector_nightvision_bad и меняешь на:nightvision_sect = effector_nightvision_good

Максимальный вес прописан в gamedata/config/creatures/actor.ltx строчка max_walk_weight

Отображение веса в инвентаре (выше этого значения нельзя бегать): gamedata/config/inventory_sect.ltx строчка max_weight


Новые предметы
В этой статье я расскажу как создавать новые предметы:

Для начал находим файл items.ltx, находящийся в папке config/misc/, и копируем какой-нибудь предмет, я, например, взял:

[bread]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "food and drugs\bread"

;$prefetch = 32

class = II_FOOD

cform = skeleton

visual = weapons\bred\bred.ogf

description = enc_equipment_food_bread1

inv_name = Bread

inv_name_short = Bread

inv_weight = 0.3 ;0.2

inv_grid_width = 1

inv_grid_height = 1

inv_grid_x = 11

inv_grid_y = 9

cost = 20

attach_angle_offset = -0.287979, 1.560923, 1.544060

attach_position_offset = 0.096910, -0.013594, 0.107925

attach_bone_name = bip01_r_hand

auto_attach = false

// should be deleted after update

bone_name = bip01_r_hand

position_offset = 0.0,0.0,0.0

angle_offset = 1.570790,1.570790,3.92699

; eatable item

eat_health = 0.05

eat_satiety = 0.2

eat_power = 0

eat_radiation = 0

wounds_heal_perc = 0

eat_portions_num = -1

; food item

slot = 4

animation_slot = 4

;hud item

hud = wpn_vodka_hud

Вставляем его копию в конец, меняем название:

[bread]

На:

[test]

А также:

inv_name = Bread

inv_name_short = Bread

На:

inv_name = test

inv_name_short = test

И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test

И, также, "по желанию":

eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1

Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:

Название в игре

И:

Описание в игре

Пишем:

Тестовый предмет

И:

Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)

Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.

Открываем trader_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:

test = 0.3, 0.5

В секции:

[trader_generic_buy]

И далее в:

[supplies_start]

test = 10, 1

В [supplies_after_fabric]

test = 10, 1

В [trader_start_sell]

И в:

[trader_after_fabric_sell]

test = 1. 3

Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш :)

Как добовлять аномалии к артефактам

аспишу по пунктам как добавить например к "огненому шару" аномалию Жарка...

Открываете файл: gamedata/config/misc/artefacts.ltx

И там в самом начале файла такая секция:

;Артефакты, которые при активизации создают аномальные зоны

;формат: {секция_артефакта} = {секция_зоны},Radius,Power

[artefact_spawn_zones]

af_medusa = zone_mosquito_bald_weak, 2.0, 30.0

Обозначает что артефакт af_medusa при активации создаст аномальную зону zone_mosquito_bald_weak с радиусом 2 метра и мощностью 30 (возможно влияет и на время жизни аномалии)

Кончается этот список по идее строчкой: mp_af_electra_flash = zone_witches_galantine, 3, 50.0

и сразу после неё пишете: af_fireball = zone_zharka_static, 3, 30.0

В принципе можно прописать там не статик а zone_zharka_weak незнаю что из них правильнее использовать... статик работает тоже.В той-же папке есть файл zone_zharka, где описаны свойства зон _weak, _average, _strong( слабая, средняя, сильная), а также зона zone_zharka_static.

После этого у вас игра станет вылетать с ошибкой про невозможность обнаружить последовательность описывающую анимацию активации аномалии.

А это всё там же в начале файла чуть ниже того где вы добавили новый артефакт в список есть такие строчки:

[af_activation_gravi]

;----------------------------------------------------------------------------------------------------------------------------------------

;format: time(sec), sound_name, light_R,G,B, light_range, particle_name, af_animation_name

;----------------------------------------------------------------------------------------------------------------------------------------

starting = 5.0, anomalygravi_idle00, 0.5, 1.0, 1.5, 5.0, "anomaly2artefact_gravi_blast_start", "idle"

flying = 2.0, anomalygravi_idle01, 0.8, 1.0, 1.2, 3.0, "anomaly2artefactartefact_gravi", "idle"

idle_before_spawning = 5.0, anomalygravi_blowout5, 1.0, 1.0, 1, 0.0, "anomaly2artefact_gravi_blast_finished", "idle"

spawning = 1, anomalygravity_entrance, 0.9, 1.1, 1.01, 0.0, "", "idle"

Что как раз и описывает анимацию..

По-хорошему надо написать свою анимацию к жарке но это честно говоря не обязательно... потому что нам сейчас важна не красота а работоспособность.... Так вот... из заголовка "[af_activation_gravi]" берем название последовательности af_activation_gravi и ищем сам артефакт af_fireball (кто уже забыл зачем, мы на него собирались вешать новую активацию)

Найдете что-то вроде:

[af_fireball]:af_base

GroupControlSection = spawn_group

$spawn = "artifactszharka fireball"

$npc = on ; option for Level Editor

;$prefetch = 3

cform = skeleton

class = ARTEFACT

visual = physicsanomalyartefact_fire.ogf

description = enc_zone_artifact_af-fireball

inv_name = af-fireball

И где-нибудь тут добавляете строчку: artefact_activation_seq = af_activation_gravi

И на этом всё. Прописываем в artefacts.ltx в блоке [af_base]:identity_immunities вместо ;slot=10 вот это: slot=1. Насколько я знаю, знак ; зоначает, что строка закомментирована(неактивна) У себя я прописывал slot=1 между строчками inv_name = af-electra-moonlight inv_name_short = inv_weight = 0.05 slot = 1 inv_grid_x = 10 inv_grid_y = 10 для того артефакта, который хочу активировать.

В игре берем артефакт в первый слот и активируем.

Новое оружие
Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74.

Свойства оружия

Скопируем файл из папки:

gamedata\config\ak74.ltx

Назовем его ak101.ltx.

Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). В данном случае конфиг был составлен таким образом:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[wpn_ak101]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "weapons\ak-101" ; name and section in level editor

$npc = on

$prefetch = 8

scheduled = off ;[] option for ALife Simulator

cform = skeleton

class = WP_AK74 ; class of the weapon that corresponding to CPP class

min_radius = 30 ; [] for AI

max_radius = 100 ; [] for AI

description = enc_weapons1_wpn-ak101

ef_main_weapon_type = 2

ef_weapon_type = 6

;-----------------------------------------------------------------------------------

holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range

holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov

;-----------------------------------------------------------------------------------

cost = 2;4000

weapon_class = assault_rifle

ammo_limit = 210

ammo_elapsed = 30

ammo_mag_size = 30

fire_modes = 1, -1

ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap

grenade_class = ammo_vog-25, ammo_vog-25p

launch_speed = 0

hand_dependence = 1

single_handed = 0

slot = 2

animation_slot = 2

inv_name = wpn-ak101

inv_name_short = wpn-ak101

inv_weight = 3.3

inv_grid_width = 5

inv_grid_height = 2

inv_grid_x = 11

inv_grid_y = 29

kill_msg_x = 0

kill_msg_y = 28

kill_msg_width = 84

kill_msg_height = 28

;-----------------------------------------------------------------------------------

;params of weapon recoil

fire_dispersion_base = 0.15;0.2

control_inertion_factor = 1.1f;1.25f

;отдача

cam_relax_speed =6;5;3.5; 0.15

cam_dispersion = 0.1;0.15

cam_dispersion_inc = 0.2;0.3

cam_dispertion_frac = 0.8;0.9

cam_max_angle = 10.0

cam_max_angle_horz = 20.0

cam_step_angle_horz = 1.1;1

fire_dispersion_condition_factor = 5.7;5

misfire_probability = 0.0055;0.003

misfire_condition_k = 0.06;0.05

condition_shot_dec = 0.00035;0.0001

;-----------------------------------------------------------------------------------

fire_point = 0,0.216,0.638

fire_point2 = 0,0.216,0.730

flame_particles = weapons\generic_weapon05

smoke_particles = weapons\generic_shoot_00

grenade_flame_particles = weapons\generic_weapon01

shell_point = 0,0.216,0.174

shell_particles = weapons\generic_shells

PDM_disp_base = 1.0

PDM_disp_vel_factor = 1.3

PDM_disp_accel_factor = 1.3

PDM_crouch = 1.0

PDM_crouch_no_acc = 1.0

; ttc

hit_power = 0.36, 0.4, 0.43, 0.46

hit_impulse = 140

hit_type = fire_wound

fire_distance = 1700

bullet_speed = 1000

rpm = 750

use_aim_bullet = true

time_to_aim = 1.0

;params when silencer is attached

;similar to corresponding params without prefix silencer_

silencer_hit_power = 0.38

silencer_hit_impulse = 120

silencer_fire_distance = 250

silencer_bullet_speed = 600

hud = wpn_ak101_hud

position = -0.026,-0.172,0

orientation = 0,0,0

;--STRAP PARAMETERS-----------------------------------------------------------------

strap_position = -0.16,-0.40,0.15

strap_orientation = -10,-5,10

strap_bone0 = bip01_spine2

strap_bone1 = bip01_spine1

visual = weapons\ak-101\wpn_ak101

light_color = 0.6,0.5,0.3

light_range = 5

light_var_color = 0.05

light_var_range = 0.5

light_time = 0.2

ph_mass = 5

;addons

scope_status = 2

silencer_status = 2

grenade_launcher_status = 0;2

zoom_enabled = true

scope_zoom_factor = 50

scope_name = wpn_addon_scope

scope_x = 42

scope_y = 3

silencer_name = wpn_addon_silencer

silencer_x = 218

silencer_y = 13

grenade_launcher_name = wpn_addon_grenade_launcher

grenade_launcher_x = 116

grenade_launcher_y = 23

;sounds (name of the sound, volume (0.0 - 1.0), delay (sec))

snd_draw = weapons\ak74_draw

snd_holster = weapons\generic_holster

snd_shoot = weapons\ak74_shot_0

snd_shoot1 = weapons\ak74_shot_1

snd_shoot2 = weapons\ak74_shot_2

snd_shoot3 = weapons\ak74_shot_3

snd_empty = weapons\gen_empty, 0.5

snd_reload = weapons\ak74_reload, 0.7, 0.35

snd_shoot_grenade = weapons\gen_grenshoot

snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8

snd_switch = weapons\groza_switch, 1.0, 0.5

;params when silencer is attached

;similar to corresponding params without prefix silencer_

;silencer_flame_particles = weapons\generic_weapon01

silencer_smoke_particles = weapons\generic_shoot_00

snd_silncer_shot = weapons\w_ak74_shot1

silencer_light_color = 0.6,0.5,0.3

silencer_light_range = 0.01

silencer_light_var_color = 0.05

silencer_light_var_range = 0.5

silencer_light_time = 0.2

;-----------------------------------------------------------------------------

;-- HUD DESCRIPTION

;-----------------------------------------------------------------------------

[wpn_ak101_hud]

allow_inertion = true

;similar to corresponding params in weapon section but for 1st person view

shell_point = -0.065000,0.000000,-0.045000

shell_dir = 0.0, 1.0, 0.0

fire_point = 0.09,0.020,-0.06

fire_point2 = 0.30, 0.00, 0.05

fire_bone = wpn_body

orientation = 0, 0, 0

position = 0, 0, 0.05

visual = weapons\ak-101\wpn_ak101_hud

grenade_bone = wpn_grenade

; animation names

anim_idle = idle

anim_idle_aim = idle_aim

anim_reload = reload

anim_draw = draw_wo_gl

anim_holster = holster_wo_gl

anim_shoot = shoot

; animation names

; attached grenade launcher [GRENADE fire mode]

anim_idle_g = idle_grenade

anim_idle_g_aim = idle_g_aim

anim_reload_g = reload_grenade

anim_shoot_g = shoot_grenade

anim_switch_grenade_on = switch_grenade

anim_switch_grenade_off = switch_grenade_off

anim_draw_g = draw_grenade_mode

anim_holster_g = holster_grenade_mode

; attached grenade launcher [NORMAL fire mode]

anim_idle_gl = idle_w_gl

anim_idle_gl_aim = idle_w_gl_aim

anim_reload_gl = reload_w_gl

anim_draw_gl = draw_w_gl

anim_holster_gl = holster_w_gl

anim_shoot_gl = shoot_w_gl

anim_idle_sprint = idle_sprint

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;HUD offset in zoom mode (to all)

;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)

zoom_offset = -0.112400,0.016800,-0.115000

zoom_rotate_x = 0.000200

zoom_rotate_y = 0.017500

zoom_hide_crosshair = true

; same as above, but for attached grenade launcher for

; in NORMAL shoot mode

grenade_normal_zoom_offset = -0.112500,0.014000,0.000000

grenade_normal_zoom_rotate_x = -0.000900

grenade_normal_zoom_rotate_y = 0.017200

; same as above, but for attached grenade launcher for

; in GRENADE mode

grenade_zoom_offset = -0.039600,-0.433100,0.000000

grenade_zoom_rotate_x = -0.538700

grenade_zoom_rotate_y = -0.033800

Регистрация

Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида:

#include "w_ak101.ltx"

Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx:

[...]

weapons\abakan\wpn_abakan

weapons\abakan\wpn_abakan_hud

weapons\ak-101\wpn_ak101

weapons\ak-101\wpn_ak101_hud

weapons\ak74\wpn_ak74

weapons\ak74\wpn_ak74_hud

[...]

Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ.

Добавление в игру

Осталось добавить оружие в игру.

Выдайте его некоторым NPC , расширьте ассортимент торговцев.

Транспорт
Транспорт в игре есть! Пока способ заспаунить его не известен общественности, но тем не менее в сети появился файл all.spawn, копируйте его в папку gamedata\spawns. Мод предназначен только для пропатченной версии игры(1.0001). После начала новой игры в первой локации рядом с Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить двигатель в консоли пишем bind turn_engine kb[b], закрываем консоль, жмём кнопку b и наслаждаемся….

Рассмотрим параметры машин, конфиги находятся в папке gamedata\config\models\vehicles.

[car_definition] – после строки идут коментарии на русском языке, перейдём сразу к следующему.

--Factory parameters of Engine -- - параметры двигателя(описание не претендует на совершенно точное)

fuel_tank – вместимость бака.

engine_power – мощность двигателя.

hand_break_torque - сила торможения

[damage_items] – повреждения частей машины

back_left_wheel - заднее левое колесо

back_right_wheel -заднее правое колесо

front_left_wheel -переднее левое колесо

front_right_wheel - переднее правое колесо

left_door - левая дверь

right_door - правая дверь

[immunities]

burn_immunity = 0.5 ;коэффициенты иммунитета

strike_immunity = 0.1

shock_immunity = 0.0

wound_immunity = 0.01

radiation_immunity = 0.0

telepatic_immunity = 0.0

chemical_burn_immunity = 0.0

explosion_immunity = 0.4

fire_wound_immunity = 0.0005

P.S. Чтобы сделать вид от третьего лица, в файле user.ltx(ну если не знаете где он находится, то специально для вас в Microsoft сделали поиск в Windows) пишем после строки unbindall:

bind cam_1 kF1

bind cam_2 kF2

bind cam_3 kF3

В игре жмём кнопки F1, F2 или F3 для смены вида.

Очень нужно при езде на БТР

Редактирование торговцев

Торговцы:

Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем [b]trade_YYY.ltx[.B], где [b]YYY[.B] – это имя торговца(например [b]trade_barman.ltx[.B])

Итак, поехали:

Структура файла на самом деле очень проста, под зачком ; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например ;Аммуниция.

В квадратные скобки заключены([barman_generic_buy]), как бы сказать, "условия”. Лучше показать на примере:

В самом начале(практически) файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е. она означает, что ниже прописанные предметы торговец может купить.

Сами предметы например:

;Артефакты

af_medusa = 1, 0.3

af_cristall_flower = 1, 0.3

af_night_star = 1, 0.3

af_vyvert = 1, 0.3

af_gravi = 1, 0.3

af_gold_fish = 1, 0.3

af_blood = 1, 0.3

af_mincer_meat = 1, 0.3

или

;ADDONS

wpn_addon_scope = 0.7, 0.2

wpn_addon_scope_susat = 0.7, 0.2

Посмотрим какие ещё "условия” содержит этот файл и их значение:

[supplies_start] - начальный ассортимент

[supplies_after_darkvalley] - ассортимент, после выполнения квеста в тёмной долине

[supplies_after_brain] - ассортимент, после "выжигателя мозгов”

[barman_start_sell] - цены по которым торговец(бармен в данн. сл.) продает в начале

[barman_after_darkvalley_sell] - аналогично

[barman_after_brain_sell]

Итак: чтобы добавить предмет к торговцу, после строки [supplies_start], находим интересующую нас категорию(а это может быть: ;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех прописанных в данной категории предметов добавляем ещё одну строчку для своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример:

Чтобы добавить бармену винтовку Гаусса, находим строки после условия [supplies_start] -

;Оружие

wpn_pb = 3, 0.6

wpn_walther = 3, 0.6

wpn_mp5 = 3, 0.6

wpn_ak74u = 3, 0.5

и внизу прописываем wpn_gauss = N, n.n

*о значениях после знака = см. ниже.

Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,

gamedata\meshes\weapons, gamedata\meshes\food.

Заметьте, что wpn_gauss нужно писать без расширения .ogf

Значения:

После знака = у вальтера например стоит цифра 3, а после запятой – 0,6.

Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов.

А второе:

1. В разделах supplies вторая цифра это вероятность появления данного предмета.

2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.]

3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета). Tnx GreyL.

В итоге должно получиться:

[supplies_start]

;Оружие

wpn_pb = 3, 0.6

wpn_walther = 3, 0.6

wpn_mp5 = 3, 0.6

wpn_ak74u = 3, 0.5

wpn_gauss = 6, 0.6

И тогда у торговца мы получим ровно 6 винтовок Гаусса.

Создание рандомного выбора муз. заставки главного меню:

При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.

1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)

2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:

и заменить на:

3. В этом же файле найти строку:

music\wasteland2

и ниже нее выставить следующую строку:

music\my_music

4. Сохранить файл.

5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.

Автор идеи - VM

NPC покупают оружие:

Чтобы обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая же, как и у любого другого торговца.

После строки [generic_buy] находим строку ;Оружие и после неё у каждого вида ставим зачения N и n.n.

Можно например так:

;Оружие

wpn_pm = 0.08, 0.12

wpn_pb ;NO TRADE

wpn_fort = 0.08, 0.12

wpn_hpsa = 0.08, 0.12

wpn_beretta = 0.08, 0.12

wpn_walther = 0.08, 0.12

wpn_sig220 ;NO TRADE

А чтобы у npc продавалось оружие, нужно проделать тоже самое, только после строки [generic_sell]

Метод я проверял, вроде как работает.

Чтобы после покупки персонаж не выкидывал купленное оружие(а также чтобы подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx строку can_select_items = off меняем на can_select_items = on

и строку use_single_item_rule = on меняем на use_single_item_rule = off .
и последнее

Структура файлов и папок

Рассмотрим, что-же содержится в папке gamedata:

Папка ai – в ней содержатся файлы типа *.efd, через которые очевидно управляется искусственный интеллект тех же npc например.

Папка anims – здесь и так всё понятно, игровая анимация, а также эффекты камеры.

Папка config содержит в себе многие игровые параметры, к ней мы ещё вернёмся.

Папка levels – это игровые уровни, ака локации, на которые поделена игра (как карты в CS)

Папка meshes – игровые модели, в формате .ogf

Папка scripts – скрипты

Папка shaders – шейдеры, для двух рендеров(DX8 и 9)

Папка sounds – звуки и музыка, кот. используются в игре. Формат .ogg*

Папка spawns – отвечает за самую ужасную вещь в игре – респаун противников и др. людей, животных.

Папка textures – в ней содержаться текстуры домов, оружия, монстров и др. Формат - .dds(DirectDraw Surface Image)

Файлы:

game.graph, gamemtl.xr, lanims.xr, particles.xr, resource.h, senvironment.xr, shaders.xr, shaders_xrlc.xr, stalkergame.inf.

В звуках, кстати, можно найти много интересного, например: в папке sounds\car содержатся звуки машин(которых в игре нет), а sounds\music\harmonica_1.ogg – файл губной гармошки. Ах да, чуть не забыл, самый главный лол, это файл sounds\car\trabantnoise.ogg

Введение в моддинг:

Именно с папкой config придётся работать для редактирования многих параметров игры.

Но начнём сначала:

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

*Все файлы нам не понадобятся, поэтому можно оставить только папки config, scripts(а конкретно файл se_respawn*****ipt), textures, sounds, а всё остальное удалить(а можно и не удалять)

Также хочу заметить, что если распаковать все архивы .dbN в папку с игрой, то это может дать несколько дополнительных FPS.

Текстуры:

В папке textures лежат файлы формата .dds, которые можно открыть программой Nero PhotoSnap Viewer(входит в состав NERO7) например или windows texture viewer (63кб), и там же отредактировать по вкусу. Так, например, существует мод, уменьшающий размер PDA Меченого. Текстура PDA находится по адресу textures\ui\ui_pda.dds.

Скрипты:

se_respawn*****ipt – файл, отвечающий за респаун. Время респауна можно уменьшить, путём небольших изменений в этом файле. Он открывается обычным блокнотом(notepad). Ищем в нём строку

idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

и меняем её на

idle_time:setHMSms( math.random(X, Y), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

где X и Y - числа, задают диапазон случайной переменной в часах отвечающей за респаун.

Звуки и музыка:

Любой файл в папке sounds можно заменить на другой, но при этом нужно сохранить все параметры звукового файла, который был использован в игре. Например, чтобы заменить музыку в приёмнике у Сидоровича, нужно файл sounds\scripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У оригинального файла винамп мне выдал свойства:

Average bitrate : 60 kbps

Nominal bitrate : 80 kbps

Channels : 1

Sampling rate: 44100 Hz.

Config/Weapons:

Параметры оружия вы можете найти в папке config\weapons, файлы типа w_ak74.ltx открываются тоже блокнотом. Разберём содержимое файла например w_groza.ltx

Во первых стоит обратить внимание на значение пременной(буду их так называть) cost, это цена оружия, т.е. сколько гроза будет стоить у продавца.

Переменная weapon_class означает, к какому классу относится оружие, в данном случае - assault_rifle.

ammo_limit – лимит боеприпасов(в игре по-моему не используется)

ammo_mag_size – размер магазина. Можно поставить например 900, тогда о перезарядке можно совсем не вспоминать.

ammo_class – класс патронов, используемых оружием. Здесь ammo_9x39_pab9[/b], ammo_9x39_sp5, ammo_9x39_ap.

hit_power – сила оружия. Чем больше, тем лучше

silencer_hit_power - сила оружия, когда на него одет глушитель.

misfire_probability - вероятность осечки при максимальном износе.

condition_shot_dec - увеличение износа при каждом выстреле.

visual – модель оружия.

zoom_enabled - поддерживается ли оптика.

Config/Сreatures:

actor.ltx – параметры главного героя. В этой же папке находятся файлы с параметрами npc, монстров и пр.

Рассмотрим некоторые переменные на примере actor.ltx

visual – модель персонажа.

max_walk_weight - максимальный вес, при достижении которого игрок перестает двигаться.

pickup_info_radius – радиус от ГГ, в котром над предметами выводятся их названия.

camera_height_factor – высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до 0.95 например.

disp_base – разброс. Если уменьшать, то и разлёт уменьшается соответственно.

wound_incarnation_v - скорость заживления раны.

cant_sprint_power_begin - порог силы меньше которого актер не может бежать в спринте.

hit_probability_gd_novice

hit_probability_gd_stalker

hit_probability_gd_veteran

hit_probability_gd_master

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

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

Config/System.ltx:

start_blood_size - размер раны чтоб начала капать кровь.

stop_blood_size - размер раны чтоб кровь остановилась.

max_weight – вес, с которым ГГ может бежать.

Config/Misc.ltx:

В дополнение к конфигам оружия:

cвойства патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.ltx.

Свойства артефактов находятся в файле artefacts.ltx и файлах zone_ART.ltx, предметов – items. ltx,

где ART – название артефакта(например zone_gravi.ltx).

Параметры артефактов:

health_restore_speed - скорость восстановления здоровья (0.0001 = +100%)

radiation_restore_speed - скорость накопления радиации (0.0004 = 4). Если поставить отрицательное число, то артефакт будет ускорять выведение радиации.

idle_particles – если закоментить её символами «--« -, то аномалия исчезнет. Чтобы отключить звуковое оповещение, то находим строку visible_by_detector и меняем on на off.

Иммунитеты:

strike_immunity - удар.

shock_immunity - электрошок.

chemical_burn_immunity - химический ожог.

telepatic_immunity - телепатия.

radiation_immunity - радиация.

wound_immunity - разрыв.

explosion_immunity - взрыв.

fire_wound_immunity - огнестрел.

items.ltx:

Параметры предметов:

В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities.

Параметры на примере колбасы:

class – к какому классу принадлежит предмет.

visual – модель.

cost – цена.

eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.)

eat_power - сколько восстанавливает силы.

eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.)

inv_weight – вес предмета.

Outfit.ltx:

Параметры костюмов:

actor_visual – модель костюма.

inv_weight – вес костюма.

cost – цена костюма.

коэффициенты иммунитета самого костюма:

burn_immunity см. коэффиц.

...

fire_wound_immunity

; NO RESISTANCE

burn_protection - коэффициент защиты от огня

strike_protection - коэффициент защиты от пуль

shock_protection - коэффициент защиты от молний

wound_protection - коэффициент защиты от кровотечений (?)

radiation_protection - коэффициент защиты от радиации

telepatic_protection - коэффициент защиты от телепатии

chemical_burn_protection - коэффициент защиты от хим. ожогов.

explosion_protection - коэффициент защиты от взрыва

fire_wound_protection - коэффициент защиты от кровотечений(от огня)

nightvision_sect – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).

в ожидании версии 3

Автор: 1000000


Дата: 21.04.2010 | Категория: Разное | Просмотров: 7219
Добавил: 1000000 | Рейтинг: 5.0/4
ComForm">
avatar

Комментарии к материалу Полезная инфа для модостроителей новичков 2:создание предметов

Всего комментариев: 16

avatar
1 Timyr-x • 07:14:06, 22.04.2010
Спасибо очень полезная информация :) ! А некоторые из этих описаний пойдут на Зов Припяти , а-то по тексту похоже описания для изменения Тень Чернобыля ?
avatar
2 1000000 • 20:56:04, 22.04.2010
на все должно
avatar
3 1000000 • 21:15:42, 22.04.2010
третья статья неза горами !
avatar
4 goust • 03:18:06, 23.04.2010
1000000,напиши как делать нпс бессмертными :) ;)
avatar
5 strelok53 • 15:13:48, 25.04.2010
вот это отличная статья!!! +1000000
avatar
6 1000000 • 22:29:24, 25.04.2010
СТАРАЮСЬ :)
avatar
7 KillerStrellok • 00:46:35, 26.04.2010
Уже было, воришка! >(
Причём много раз!!! >( >( >(
avatar
8 1000000 • 23:36:27, 26.04.2010
чего !? вот ерись нести не надо! >(
avatar
9 kasper55554 • 10:24:10, 27.04.2010
Спасибо,а то задол***** когда сам пытался что-то изменить- иногда начинались вылеты:( ,а здесь почти все расписано :). Автору-респект, ещё раз спасибо.
avatar
10 1000000 • 15:27:45, 27.04.2010
рад полмочь :)
avatar
11 BeHappy • 16:22:07, 27.04.2010
Вот чел собрал все мануалы воедино)Теперь далеко бегать не придётся ;)
avatar
12 1000000 • 21:41:42, 28.04.2010
все для вас
avatar
13 Каут • 13:32:03, 07.05.2010
Уйма информации. Искренне благодарен.
avatar
14 1000000 • 22:47:30, 07.05.2010
не за что
avatar
15 Андрей332 • 12:58:19, 24.01.2011
Большое спасибо за инфу,попрбую что нибудь поделать а то не разу нечего не мастрячил,а если кому не лень скиньте ещё уроков только описанием не большим , заранее спс! smile
avatar
16 HaBaRыCh • 23:03:52, 30.03.2012
где искать файл prefetch.ltx?


Рекомендуем:

Вверх
Правила чата
Пользователи онлайн
Мини-чат
+Мини-чат
0
Онлайн всего: 61
Гостей: 61
Сталкеров: 0