Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Вот ведь блин :) . Начал писать этот пост и в конце понял свою ошибку... Я 2 раза регистрировал бампы и немного ошибся в конфиге... Если кому-то нужно, напишу сюда, на всякий случай, вдруг кому-то пригодится...

 

Копируем модели из мода, целиком папку ..\gamedata\meshes\weapons\fn2000

wpn_fn2000_old.ogf

wpn_fn2000_old_hud.ogf

wpn_fn2000_snip.ogf

wpn_fn2000_snip_hud.ogf

 

 

Копируем текстуры для старой fn2000 из папки: ..\gamedata\textures\wpn\

wpn_fn2000.dds

wpn_fn2000_bump.dds

wpn_crosshair_fn2000_p

 

 

Регистрировать текстуры и бампы не нужно. Они вроде все есть в оригинале. Копируем целиком файл из мода ZEN`a ..\gamedata\config\weapons\w_fn2000.ltx. Файл содержит много секций, в которых описываются 3 разных винтовки на основе конфига обычной ФН2000. Пока у нас нет своих уникальных описаний и имени винтовки, закоментируем строки содержищие пока не существующие имена и описания, они будут стандартными, от ФН2000, смотрите спойлер, жирным шрифтом выделены закоментированные строки...

[wpn_fn2000]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "weapons\fn-2000" ; name and section in level editor

$npc = on

$prefetch = 8

scheduled = off ; option for ALife Simulator

cform = skeleton

class = WP_GROZA

min_radius = 30

max_radius = 150

description = enc_weapons1_wpn-fn2000

 

ef_main_weapon_type = 2

ef_weapon_type = 6

 

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

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

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

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

 

cost = 17000

weapon_class = assault_rifle

 

ammo_limit = 300

ammo_current = 90

ammo_elapsed = 30

 

ammo_mag_size = 30

 

hand_dependence = 1

single_handed = 0

 

ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap

fire_modes = 1, 3, -1

launch_speed = 0

 

slot = 2 ; // secondary

animation_slot = 2 ; type of the animation that will be used

 

inv_name = wpn-fn2000

inv_name_short = wpn-fn2000

inv_weight = 4.6

 

inv_grid_width = 4

inv_grid_height = 2

inv_grid_x = 5

inv_grid_y = 9

 

kill_msg_x = 131

kill_msg_y = 123

kill_msg_width = 64

kill_msg_height = 30

 

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

;базовая дисперсия

fire_dispersion_base = 0.2 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)

control_inertion_factor = 1.2f

 

;отдача

cam_relax_speed = 5.6 ;скорость возврата в исходное положение

cam_dispersion = 0.2 ;увеличения угла (в градусах) с каждым выстрелом

cam_dispersion_inc = 0.1 ;увеличениe cam_dispersion с каждым выстрелом

cam_dispertion_frac = 1.0 ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)

 

cam_max_angle = 8.5 ;максимальный угол отдачи

cam_max_angle_horz = 9.0 ;(degree) maximum shot horizontal degree

cam_step_angle_horz = 0.6 ;(degree) size of step camera moved in horizontal position while shooting

 

fire_dispersion_condition_factor = 5 ;увеличение дисперсии в процентах при максимальном износе

misfire_probability = 0.005 ;вероятность осечки при максимальном износе

misfire_condition_k = 0.05

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

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

 

direction = 0, 0, 1

 

fire_point = 0.010000,0.166000,0.475000

 

flame_particles = weapons\generic_weapon05

smoke_particles = weapons\generic_shoot_00

grenade_flame_particles = weapons\generic_weapon01

 

shell_point = -0.020000,0.186000,0.200000

shell_dir = 0.0, 1.0, 0.0

shell_particles = weapons\generic_shells

rpm_empty_click = 200

 

PDM_disp_base = 1.0

PDM_disp_vel_factor = 1.05

PDM_disp_accel_factor = 1.05

PDM_crouch = 1.0

PDM_crouch_no_acc = 1.0

 

; ttc

hit_power = 0.60, 0.64, 0.67, 0.70

hit_impulse = 105

hit_type = fire_wound

 

fire_distance = 500

bullet_speed = 900 ;начальная скорость пули

rpm = 850

; end ttc

 

use_aim_bullet = true ;Поддерживается ли первая суппер пуля

time_to_aim = 1.0

 

hud = wpn_fn2000_hud

normal = 0, 1, 0

position = -0.026, -0.132, 0.0

orientation = 0, 0, 0

 

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

strap_position = -0.15,-0.35,0.27 ; position (offset) and orientation of the weapon when it is strapped

strap_orientation = -10,-3,10 ; (3rd person view in degrees))

strap_bone0 = bip01_spine2

strap_bone1 = bip01_spine1

 

startup_ammo = 1000

visual = weapons\fn2000\wpn_fn2000_new.ogf

 

light_color = 0.6,0.5,0.3

light_range = 4

light_var_color = 0.05

light_var_range = 0.1

light_time = 0.2

 

 

ph_mass = 4

 

;addons

scope_status = 1

silencer_status = 0;2

grenade_launcher_status = 1

zoom_enabled = true

 

scope_texture = wpn\wpn_crosshair_g36

lens_texture = wpn\wpn_crosshair_g36_lens

lens_texture_x = 183

lens_texture_y = 75

lens_texture_w = 648

lens_texture_h = 648

 

;настройки для глушителя

silencer_hit_power = 0.5

silencer_hit_impulse = 100

silencer_fire_distance = 250

silencer_bullet_speed = 305

 

silencer_name = wpn_addon_silencer

silencer_x = 152 ; offset in inventory icon

silencer_y = 10

zoom_enabled = true

scope_zoom_factor = 33.3 ;1.8X ; fov for zoom mode

 

;звуки

snd_draw = weapons\generic_draw, 0.5

snd_holster = weapons\generic_holster, 0.5

snd_shoot = weapons\t_fn2000_shot

snd_empty = weapons\gen_empty, 0.5

snd_reload = weapons\fn2000_reload, 0.8, 0.3

snd_shoot_grenade = weapons\gen_grenshoot

snd_reload_grenade = weapons\gen_grenload, 0.6, 1.0

snd_switch = weapons\groza_switch, 0.6, 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, 0.6

 

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

 

grenade_vel = 76

 

grenade_class = ammo_m209

 

[wpn_fn2000_hud]

shell_point = 0.110000,-0.060000,0.010000

shell_dir = 0.0, 1.0, 0.0

 

fire_point = -0.080000,0.030000,-0.060000

fire_bone = wpn_body

 

grenade_bone = grenade

 

orientation = 0, 0, 0

position = 0, 0, 0

visual = weapons\fn2000\wpn_fn2000_hud_new.ogf

 

anim_idle = idle

anim_idle_aim = idle

anim_reload = reload

anim_draw = draw

anim_holster = holster

anim_shoot = shoot

anim_idle_sprint = idle_sprint

 

anim_idle_g = idle_g

anim_idle_g_aim = idle_g

anim_reload_g = reload_g

anim_shoot_g = shoot_g

anim_switch_grenade_on = switch_on

anim_switch_grenade_off = switch_off

anim_draw_g = draw_g

anim_holster_g = holster

 

; attached grenade launcher [NORMAL fire mode]

anim_idle_gl = idle

anim_idle_gl_aim = idle

anim_reload_gl = reload

anim_draw_gl = draw

anim_holster_gl = holster

anim_shoot_gl = shoot

 

;смещения HUD для режима приближения

zoom_offset = -0.030000,-0.010000,-0.050000

zoom_rotate_x = 0.000000

zoom_rotate_y = 0.000000

 

;тоже самое, но для подствольника

grenade_zoom_offset = -0.137300,-0.127600,0.000000

grenade_zoom_rotate_x = -0.203700

grenade_zoom_rotate_y = 0.035000

 

zoom_hide_crosshair = true

 

[wpn_fn2000_old]:wpn_fn2000

 

$spawn = "weapons\fn-2000_old" ; name and section in level editor

description = enc_weapons1_wpn-fn2000_old

class = WP_GROZA

inv_grid_x = 25

inv_grid_y = 16

inv_weight = 4.6

fire_point = 0.01,0.21,0.37

hud = wpn_fn2000_old_hud

position = -0.026, -0.132, -0.01

visual = weapons\fn2000\wpn_fn2000_old.ogf

silencer_x = 175 ; offset in inventory icon

silencer_y = 14

cost = 18000

fire_dispersion_base = 0.18 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)

 

scope_texture = wpn\wpn_crosshair_fn2000_p

 

silencer_status = 2

 

[wpn_fn2000_old_hud]:wpn_fn2000_hud

 

fire_point = 0.0,0.0,-0.05

visual = weapons\fn2000\wpn_fn2000_old_hud.ogf

zoom_offset = -0.131,-0.08,0.0

grenade_zoom_offset = -0.146,-0.127600,0.000000

 

[wpn_fn2000_sniper]:wpn_fn2000

 

$spawn = "weapons\fn-2000_snip" ; name and section in level editor

;description = enc_weapons1_wpn-fn2000_sniper

;inv_name = wpn-fn2000_sniper

;inv_name_short = wpn-fn2000_sniper

class = WP_BINOC

holder_range_modifier = 2.2

;inv_weight = 4.2

fire_point = -0.01,0.21,0.44

hud = wpn_fn2000_sniper_hud

position = 0.0, -0.134, -0.01

visual = weapons\fn2000\wpn_fn2000_snip.ogf

;inv_grid_width = 5

;inv_grid_x = 25

;inv_grid_y = 28

cost = 25000

hit_power = 0.62, 0.66, 0.69, 0.72

fire_distance = 600

bullet_speed = 960 ;начальная скорость пули

rpm = 200

fire_dispersion_base = 0.04 ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)

 

silencer_status = 0

silencer_name = wpn_addon_silencer

silencer_x = 208 ; offset in inventory icon

silencer_y = 10

 

scope_texture = wpn\wpn_crosshair_fn2000_p

 

scope_zoom_factor = 10

snd_gyro = weapons\binoculars_gyro

snd_zoomin = weapons\binoculars_zoomin

snd_zoomout = weapons\binoculars_zoomout

snd_close = weapons\generic_close

 

vision_present = true

vis_frame_speed = 4 ; скорость, с которой наводится рамка на цель

vis_frame_color = 0.7,0.7,0.7,1.0 ; цвет рамки RGBA (A) Не учитывается

found_snd = detectors\DA-2_beep1

 

[wpn_fn2000_sniper_hud]:wpn_fn2000_hud

 

fire_point = 0.0,0.0,-0.07

visual = weapons\fn2000\wpn_fn2000_snip_hud.ogf

zoom_offset = -0.131,-0.08,0.0

 

anim_idle_g =

anim_idle_g_aim =

anim_reload_g =

anim_shoot_g =

anim_switch_grenade_on =

anim_switch_grenade_off =

anim_draw_g =

anim_holster_g =

 

; attached grenade launcher [NORMAL fire mode]

anim_idle_gl =

anim_idle_gl_aim =

anim_reload_gl =

anim_draw_gl =

anim_holster_gl =

anim_shoot_gl =

 

 

Из файла мода ..\gamedata\config\weapons\weapons.ltx, берем секцию и вставляем ее в свой файл weapons.ltx.

ПЕРЕД строкой [ammo_9x18_fmj] в своем файле вставляем следующий код:

 

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

[ammo_binoc_dummy]:ammo_base

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "weapons\ammo\ammo_9x18_fmj" ; option for Level Editor

class = AMMO

cform = skeleton

description = binocular

$prefetch = 64

 

cost = 0

box_size = 0

 

inv_name = binocular

inv_name_short = binocular

inv_weight = .1

 

inv_grid_width = 2

inv_grid_height = 1

inv_grid_x = 16

inv_grid_y = 8

 

k_dist = 1

k_disp = 1

k_hit = 1

k_impulse = 1

k_pierce = 1

impair = 1

buck_shot = 1

tracer = off

wm_size = 0.01

 

 

Инклуды делать вроде бы не нужно, потому что, инклуды #include "w_binoc.ltx" и #include "w_fn2000.ltx" уже есть в оригинале, поэтому осталось изменить лишь файл w_binoc.ltx, можно взять этот файл целиком из мода...

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

;; BINOCULARS

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

[wpn_binoc]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "weapons\binocular"

$npc = on ; option for Level Editor

$prefetch = 8

scheduled = off ; option for ALife Simulator

cform = skeleton

class = WP_BINOC

hud = wpn_binoc_hud

 

ef_main_weapon_type = 5

ef_weapon_type = 0

 

 

flame_particles = weapons\generic_weapon05

smoke_particles = weapons\generic_shoot_00

 

fire_point = 0.0, 0.133, 0.161

shell_point = 0.0, 0.133, 0.047

shell_particles = weapons\generic_shells

 

position = -0.08 , -0.05 , 0.05

normal = 0, 1, 0

direction = 0, 0, 1

orientation = 0 , -90, 70

 

attach_angle_offset = 3.080506,-1.493053,-1.202040 ;устанавливается в радианах Angle*PI/180

attach_position_offset = 0.080000,0.021273,0.100000

attach_bone_name = bip01_r_hand

auto_attach = false

 

visual = weapons\binoculars\wpn_binoculars.ogf

description = enc_equipment_devic_binocul1

hand_dependence = 1

single_handed = 0

 

slot = 4 ; // binocular

animation_slot = 13 ; type of the animation that will be used

 

ammo_limit = 0

ammo_current = 0

ammo_elapsed = 0

 

ammo_mag_size = 0

ammo_class = ammo_binoc_dummy

 

inv_name = binocular

inv_name_short = binocular

inv_weight = 1.0

 

show_ammo = false

 

inv_grid_width = 2

inv_grid_height = 1

inv_grid_x = 16

inv_grid_y = 8

 

min_radius = 100

max_radius = 150

 

cost = 200

 

cam_relax_speed = 5.5

cam_dispersion = 2

cam_max_angle = 5

cam_max_angle_horz = 5.0

cam_step_angle_horz = 0.5

 

disp_vel_factor = 0.1

disp_crouch_factor = 0.75

disp_jump_factor = 3

 

ph_mass = 1

 

scope_status = 1

silencer_status = 0

grenade_launcher_status = 0

 

zoom_enabled = true

scope_texture = wpn\wpn_crosshair_bino

scope_zoom_factor = 7.5

 

fire_dispersion_base = 0.1

 

cam_relax_speed = 1.5

cam_dispersion = 1.5

cam_max_angle = 7

cam_max_angle_horz = 10.0

cam_step_angle_horz = 1.5

 

fire_dispersion_condition_factor = 5

misfire_probability = 0.0001

condition_shot_dec = 0.00003

 

hit_power = 1

hit_impulse = 1

hit_type = fire_wound

 

fire_distance = 1

bullet_speed = 1

rpm = 1

 

light_color = 0.6,0.5,0.3

light_range = 3.0

light_var_color = 0.05

light_var_range = 0.5

light_time = 0.2

 

snd_draw = weapons\generic_draw, 0.5, 0.1

snd_holster = weapons\generic_holster, 0,5, 0.1

snd_gyro = weapons\binoculars_gyro, 0,7, 0.1

snd_zoomin = weapons\binoculars_zoomin, 0,7, 0.1

snd_zoomout = weapons\binoculars_zoomout, 0,7, 0.1

snd_shoot = $no_sound, 0

snd_empty = $no_sound, 0

snd_reload = $no_sound, 0

snd_close = $no_sound, 0

 

vision_present = true

vis_frame_speed = 3 ; скорость, с которой наводится рамка на цель

vis_frame_color = 0.7,0.7,0.7,1.0 ; цвет рамки RGBA (A) Не учитывается

found_snd = detectors\DA-2_beep1

 

[wpn_binoc_hud]

shell_point = 0.0, 0.0, 0.0

fire_point = 0.05, 0.0, 0.1

fire_bone = binoculars

orientation = 10, 0, -2

position = 0.18, 0, 0

;position = 0.15, -0.14, 0.25

visual = weapons\binoculars\wpn_binoculars_hud.ogf

 

zoom_offset = -0.238600,0.153600,0.000000

zoom_rotate_x = -0.014000

zoom_rotate_y = 0.324000

 

anim_idle = idle

anim_reload = idle

anim_draw = draw

anim_holster = holster

anim_shoot = idle

anim_idle_aim = idle

 

 

Теперь пропишем свою пушку в файле ..\gamedata\config\mp\mp_ranks.ltx. Я взял пушку из секции "снайперка" - wpn_fn2000_sniper. ZEN записал ее в строку wpn_auto, сделаем также. Дальше, по идее, нужно занести имена файлов модели в файле ..\gamedata\config\prefetch.ltx, но ZEN этого не делал (не знаю, почему, может увеличивается нагрузка при кэше ?)

Ну а дальше все знают... Пропишем пушку торговцу...

Открываем свой файл ..\gamedata\config\misc\trade_trader.ltx

 

В секции [trader_generic_buy] добавим строку:

wpn_fn2000_sniper = 0.3, 0.1

 

В секции [supplies_after_fabric] добавим строку:

wpn_fn2000_sniper = 2, 0.9

 

В секции [trader_after_fabric_sell] добавим строку:

wpn_fn2000_sniper = 1, 3

 

Таким образом винтовка должна появиться у Сидорыча после завершения квеста Уничтожить бандитов на АТП, в количестве 2-х штук.

 

 

Таким образом у вас должна получиться FN2000 "Палач" (если не ошибаюсь) в продаже у Сидорыча, после квеста с бандитами на АТП. Винтовка пока не отличается по виду и описанию от стандартной FN2000, но если ее купить, то сразу увидите разницу. Ну дальше дело техники - нарисуете свою иконку, добавите описания и все готово.

 

Я качал вот эту версию мода: Z.E.N.O.B.I.A.N. mod v0.0115 full for ver.1.0005 и еще ДЛЛ-ки для версий игры 1.0004, 10005, 1.0006. Ссылки на мод и ДЛЛ-ки не сохранил, к сожалению....

 

Kirag

Спасибо за помощь...

 

P.S. Если кого-то напряг мой столь длинный пост, я могу удалить, стукните в личку...

Ссылка на комментарий

Блин не могу понять в чем проблема. Вроде все делаю правильно.\

 

Смарт:

[10325]

; cse_abstract properties

section_name = smart_terrain

name = scouts_top_transition

position = 596.427001953125,2.99000000953674,432.329010009766

direction = 0,0,0

 

; cse_alife_object properties

game_vertex_id = 3578

distance = 19

level_vertex_id = 521294

object_flags = 0xffffff3e

custom_data = <<END

[smart_terrain]

type = scouts_top_transition

capacity = 2

squad = 33

groups = 50

END

 

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 28

 

; cse_alife_space_restrictor properties

restrictor_type = 0

 

; se_smart_terrain properties

 

 

В gulag_локация.script прописал:

    if type == "scouts_top_transition" then
        t = { section = "logic@walker_scouts_transition1",
            idle = 0,
            prior = 5,
            state = {0}
        }
        table.insert(sj, t)    
        t = { section = "logic@walker_scouts_transition2",
            idle = 0,
            prior = 5,
            state = {0}
        }
        table.insert(sj, t)    
    end

    if type == "scouts_top_transition" then
        return function(gulag)
            return 0
        end
    end

    if gulag_type == "scouts_top_transition" then
        return true
    end

 

 

Логика:

[logic@walker_scouts_transition2]

active = walker@walker_scouts_transition2

 

[walker@walker_scouts_transition2]

path_walk = walk_2

path_look = look_2

 

[logic@walker_scouts_transition1]

active = walker@walker_scouts_transition1

 

[walker@walker_scouts_transition1]

path_walk = walk_1

path_look = look_1

meet = meet@walker_scouts_transition1

 

[meet@walker_scouts_transition1]

meet_state = 20| claim@hello_scouts_transition |17| {+test_marsh} %=killactor%|15| claim@hello_scouts_transition

meet_state_wpn = 20| claim@hello_scouts_transition |17| {+test_marsh} %=killactor%|15| backoff@threat_weap %+test_marsh% |10| %=killactor%

victim = 20| actor

victim_wpn = 20| actor

use = true

use_wpn = false

 

Но блин под гулаг берется только один НПС, а не два как положено. Что я не так делаю?:-(

Ссылка на комментарий

Вылетает со следующей ошибкой :(

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...games\s.t.a.l.k.e.r\gamedata\scripts\xr_logic.script:542: 

attempt to index global 'xr_conditions' (a nil value)

Объясните, пожалуйста, из-за чего это?

 

Do not say to the barman that he badly prepares...

 

Ссылка на комментарий
strelokk, у тебя либо отсутствует в папке скриптов скрипт с именем 'xr_conditions' , либо в нем синтаксическая ошибка и интерпритатор не может разобрать текст скрипта

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

Ссылка на комментарий

Уважаемые модеры, хочу спросить, как увеличить количество заспавнившихся артефактов после выброса? А то нет их, совсем.

Если вопрос ранее поднимался, прошу прощения. Тогда покажите, где

Ссылка на комментарий

Пара вопросов:

1. Извесно, что узнать, какая броня надета на неписе npc можно узнаванием имени визуала npc:visual(). Все возможные визуалы прописывать в табл. соответствий между визуалами и брониками. Можно ли получить броню непися npc по-другому и по-быстрому?

2. Как изменить визуал непися npc? Изменятся ли при этом его защитные свойства?

3. Как получить пушку, которая находится у непися npc в руках данный момент? Если в руках пусто, то должно быть nil.

4. Как заставить непися выкинуть полученный в obj предмет из инвентаря?

5. Как заставить непися проиграть анимацию string?

Ссылка на комментарий
2. Как изменить визуал непися npc? Изменятся ли при этом его защитные свойства?

При изменении визуала у непися его защитные свойства тоже изменятся, так как это прописано в самой модели.

Возможно всё, ну или почти всё.
Ссылка на комментарий
При изменении визуала у непися его защитные свойства тоже изменятся, так как это прописано в самой модели.

Вообще-то это даже практике противоречит :)

НПЦ с визуалом экзы дохнут ничуть не хуже НПЦ в куртке новичка.

Также можно например куртке новичка выставить полную защиту от всего, что никак не скажется на выживаемости НПЦ новичков

Ссылка на комментарий

Kolmogor, тогда зачем по вашему нужен файл, damages.ltx, и почему когда я его редактирую то защита неписей меняется. странно, может это я такой везучий?

Существует связка (если бы вы делали новые модели сталкеров, вы бы об этом знали) в модели сталкера указывается секция повреждений для каждой кости модели, секции эти хранятся в выше указанном файле, в этой секции расписаны кости и параметры повреждения.

Возможно всё, ну или почти всё.
Ссылка на комментарий

В каждой Ogf модельке есть либо инклуд типа:

#include "models\capture\plasch_mask_damage_no.ltx"

либо сразу прописано immunities_sect = stalker_resist с параметрами.

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

Через конфиг в capture

[immunities]

immunities_sect = no_resistance

[bone_protection]

bones_protection_sect = kombez_mask_damage выходим на damages.ltx где и регулируется

[kombez_mask_damage]:body_kombez_damage,head_mask_damage, добавляя защиту от осколков

hit_fraction = 0.1

Если я правильно понял, то это процент снятия хита от осколков для всех костей, указанных в body_kombez_damage и head_mask_damage?

А параметры защиты для секций outfit.ltx - это только для ГГ

Ссылка на комментарий
Kolmogor, тогда зачем по вашему нужен файл, damages.ltx, и почему когда я его редактирую то защита неписей меняется. странно, может это я такой везучий?

Существует связка (если бы вы делали новые модели сталкеров, вы бы об этом знали) в модели сталкера указывается секция повреждений для каждой кости модели, секции эти хранятся в выше указанном файле, в этой секции расписаны кости и параметры повреждения.

damages.ltx нужен только для ГГ, в нем хранится защита костюмов от повреждений

защита сталкеров хранится в m_stalker.ltx секция [stalker_damage]

 

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

Ссылка на комментарий

Товарищи сталкеры, я вот что придумал:

А что если в игре сделать кое-что на подобии Хоррор тайм, тока не "мясисто", а ужасно, например:

Идёт ГГ по своим делам и вдруг его веки закрываются(сделать анимацию SEQ), чёрный экран на пару секунд, а во время чёрного экрана врубить скрипт на удаление всех нпс, монстров, ворон, и врубается ночь, скриптом удаляется всё оружие с локации и даже из инвентаря,ГГ медленно идёт вперёд и тут откуда не возьмись монстр, которого можно увидеть в самом страшном кошмаре, весь такой в крови, кишки на изнанку, морду ух))))),

начинаем от него бежать и тут яркий свет в глазах на пару секунд, скриптом возвращаем назад все объекты(и в инвентарь), свет угасает(PPE),

и видим, что стоит прекрасный солнечный день. Надо что-бы это было, очень редко, а то может надоесть.

Вроде бы всё можно решить, но как сделать скрипт на возвращение объектов? Этого я не знаю. Знаю тока как удалить, или можно их в оффлайн перевести, и тогда не понадобится скрипт на возвращение нпс. А в инвентаре придётся скриптом.

Подходит сообщение от Сидора: Ты где был, что не отвечал, я уж подумал ты смылся куда из зоны.

Вобщем думаю стоит попробовать.

Изменено пользователем TREWKO
Ссылка на комментарий

IQDDD,

1.Колмогор и Монорох правы, у "брони" только визуальный эффект...всё зависит от других условий,ранга и т.п.

2.1 ХЗ,2.2)У xStream'a изменялся ранг....

3.npc:active_item():section()--вроде так

4.npc:drop(obj)

5.state_mgr.set_state(npc, название анимации, nil, nil, {look_position = position})

TREWKO,:)

Изменено пользователем меченый(стрелок)
Ссылка на комментарий

Народ! Подскажите как добавить переход между локациями (новый)?

Метод значения не имеет. Только поподробнее.

Смотрел на сайте СДК - там не понятно написано.

Ссылка на комментарий
damages.ltx нужен только для ГГ, в нем хранится защита костюмов от повреждений

защита сталкеров хранится в m_stalker.ltx секция [stalker_damage]

Здесь вы глубоко заблуждаетесь, этот файл используется не толко ГГ но и неписями, в нем прописано защищенность НПЦ, а в m _stalker.ltx секции [stalker_damage] прописаны зональные повреждения и анимация, это абсолютно разные вещи.

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

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

;***************************************************************

; BODY SECTIONS

;***************************************************************

[body_kurtka_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

[body_plasch_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

[body_gilet_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

[body_kombez_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

[body_armor_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

[body_exo_damage]

bip01_pelvis = 1.0, 1

bip01_spine = 1.0, 1

bip01_spine1 = 1.0, 1

bip01_spine2 = 1.0, 1

 

bip01_l_clavicle = 1.0, 1

bip01_l_upperarm = 1.0, 1

bip01_l_forearm = 1.0, 1

bip01_l_hand = 1.0, 1

 

bip01_r_clavicle = 1.0, 1

bip01_r_upperarm = 1.0, 1

bip01_r_forearm = 1.0, 1

bip01_r_hand = 1.0, 1

 

bip01_l_thigh = 1.0, 1

bip01_l_calf = 1.0, 1

bip01_l_foot = 1.0, 1

bip01_r_thigh = 1.0, 1

bip01_r_calf = 1.0, 1

bip01_r_foot = 1.0, 1

 

 

 

;***************************************************************

; HEAD SECTIONS

;***************************************************************

[head_mask_damage]

bip01_neck = 1.0, 1

bip01_head = 1.0, 1

eyelid_1 = 1.0, 1

eye_left = 1.0, 1

eye_right = 1.0, 1

jaw_1 = 1.0, 1

 

[head_antigas_damage]

bip01_neck = 1.0, 1

bip01_head = 1.0, 1

eyelid_1 = 1.0, 1

eye_left = 1.0, 1

eye_right = 1.0, 1

jaw_1 = 1.0, 1

 

[head_kupol_damage]

bip01_neck = 1.0, 1

bip01_head = 1.0, 1

eyelid_1 = 1.0, 1

eye_left = 1.0, 1

eye_right = 1.0, 1

jaw_1 = 1.0, 1

 

[head_helmet_damage]

bip01_neck = 1.0, 1

bip01_head = 1.0, 1

eyelid_1 = 1.0, 1

eye_left = 1.0, 1

eye_right = 1.0, 1

jaw_1 = 1.0, 1

 

 

;***************************************************************

; FULL SECTIONS

;***************************************************************

[kurtka_mask_damage]:body_kurtka_damage,head_mask_damage

hit_fraction = 0

 

[plasch_mask_damage]:body_plasch_damage,head_mask_damage

hit_fraction = 0

 

[plasch_antigas_damage]:body_plasch_damage,head_antigas_damage

hit_fraction = 0

 

[kurtka_antigas_damage]:body_kurtka_damage,head_antigas_damage

hit_fraction = 0

 

[kurtka_kupol_damage]:body_kurtka_damage,head_kupol_damage

hit_fraction = 0

 

[gilet_mask_damage]:body_gilet_damage,head_mask_damage

hit_fraction = 0

 

[kombez_mask_damage]:body_kombez_damage,head_mask_damage

hit_fraction = 0

 

[gilet_antigas_damage]:body_gilet_damage,head_antigas_damage

hit_fraction = 0

 

[kombez_antigas_damage]:body_kombez_damage,head_antigas_damage

hit_fraction = 0

 

[kombez_kupol_damage]:body_kombez_damage,head_kupol_damage

hit_fraction = 0

 

[kombez_helmet_damage]:body_kombez_damage,head_helmet_damage

hit_fraction = 0

 

[armor_helmet_damage]:body_armor_damage,head_helmet_damage

hit_fraction = 0

 

[exo_helmet_damage]:body_exo_damage,head_helmet_damage

hit_fraction = 0

 

[zombied_damage]

hit_fraction = 0.1

 

bip01_pelvis = 1.0, 0.5

bip01_spine = 1.0, 0.5

bip01_spine1 = 1.0, 0.5

bip01_spine2 = 1.0, 0.5

bip01_neck = 1.0, 0.2

bip01_head = 1.0, 0.2

eyelid_1 = 1.0, 0.2

eye_left = 1.0, 0.2

eye_right = 1.0, 0.2

jaw_1 = 1.0, 0.2

 

bip01_l_clavicle = 1.0, 0.5

bip01_l_upperarm = 1.0, 0.5

bip01_l_forearm = 1.0, 0.5

bip01_l_hand = 1.0, 0.5

 

bip01_r_clavicle = 1.0, 0.5

bip01_r_upperarm = 1.0, 0.5

bip01_r_forearm = 1.0, 0.5

bip01_r_hand = 1.0, 0.5

 

bip01_l_thigh = 1.0, 0.5

bip01_l_calf = 1.0, 0.5

bip01_l_foot = 1.0, 0.5

bip01_l_toe0 = 1.0, 0.5

bip01_r_thigh = 1.0, 0.5

bip01_r_calf = 1.0, 0.5

bip01_r_foot = 1.0, 0.5

bip01_r_toe0 = 1.0, 0.5

 

 

 

;***************************************************************

; TEST SECTIONS

;***************************************************************

 

[test_damage]

default = 1.0, 0

hit_fraction = 0.2

 

bip01_pelvis = 1.0, 2

bip01_spine = 1.0, 2

bip01_spine1 = 1.0, 2

bip01_spine2 = 1.0, 2

bip01_neck = 1.0, 2

bip01_head = 1.0, 2

eyelid_1 = 1.0, 2

eye_left = 1.0, 2

eye_right = 1.0, 2

jaw_1 = 1.0, 2

 

bip01_l_clavicle = 1.0, 2

bip01_l_upperarm = 1.0, 2

bip01_l_forearm = 1.0, 2

bip01_l_hand = 1.0, 2

 

bip01_r_clavicle = 1.0, 2

bip01_r_upperarm = 1.0, 2

bip01_r_forearm = 1.0, 2

bip01_r_hand = 1.0, 2

 

bip01_l_thigh = 1.0, 2

bip01_l_calf = 1.0, 2

bip01_l_foot = 1.0, 2

bip01_l_toe0 = 1.0, 2

bip01_r_thigh = 1.0, 2

bip01_r_calf = 1.0, 2

bip01_r_foot = 1.0, 2

bip01_r_toe0 = 1.0, 2

 

 

Возможно всё, ну или почти всё.
Ссылка на комментарий

Kolmogor, Ogf - модель НПС очень своеобразная штука и легко редактируется HEX-редактором в части текстовой информации. Я в модельках охотников так убирал бандитскую анимацию, прописывал аниме солдатов и все прекрасно работало. Можно свободно редактировать инклуд, обозвать его по новому и прописать новые параметры как 8push5 показал и будет непись трудноубиваемая в обычном визуале курточки новичка. Теоретически в m_stalker параметры относятся к голому телу, но в итоге, наверное, решили сделать привязку комбеза в модельке. Что наверное и есть домножающие коэффициенты в расчетах движка.

Кстати редактировать HEX-ом можно и текстуры модельки и шейдерные эффекты. Главное правило не изменять длинну всей строки, в которой прописана связка текстуры и models/model. Но это было извратом подбирать длины названий с учетом "NUL" ячеек - легче в SDK переконвертировать модельку.

Ссылка на комментарий

Кто знает, можно ли вставить новую локацию, не начиная новую игру?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

нет, так как полюбасу аллспавн надо будет менять, нуно начинать гаму по-новому (в свой мод добавил пять карт от Кости, полностью аллспавн пришлось перековыривать)

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
нет, так как полюбасу аллспавн надо будет менять, нуно начинать гаму по-новому (в свой мод добавил пять карт от Кости, полностью аллспавн пришлось перековыривать)

А что будет, если изменить аллспавн (но только добавляя в него новое, не изменяя старое) и продолжить игру?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   1 пользователь

×
×
  • Создать...