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

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


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

@shahvkit Анимации поменял, вылет такой-же, выкладываю ствол.

Скрытый текст

[wpn_mg3]:WP_LR300
min_radius              = 0
max_radius              = 250
description        = "MG3 - является модификацией единого (универсального) немецкого пулемета MG42 образца 1942 года. В 1959 году MG42 был доработан под патрон 7.62мм НАТО (вместо старого 7.92мм Маузер) и получил обозначенеие MG42/59, а в 1968 году, после очередной модификации, приобрел свое современное название. MG3 имеет автоматику построенную на основе подвижного ствола с коротким ходом. Режим огня - одиночный и автоматический, с высоким темпом (для пулеметов такого класса). Ствол быстросменный. Питание пулемета ленточное, с прямой подачей патронов. Пулемет отличается высокой надежностью и весьма популярен в мире: помимо ФРГ, он используется в Австрии, Дании, Иране, Италии, Норвегии, Пакистане, Португалии, Испании и Турции."

ef_main_weapon_type        = 2
ef_weapon_type            = 6

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

weapon_class            = assault_rifle

cost                    = 30000

ammo_limit                 = 650
ammo_current            = 200
ammo_elapsed             = 200

ammo_mag_size             = 200
ammo_class             = ammo_7.62x51_box, ammo_7.62x51_fmj, ammo_7.62x51_ap
fire_modes            = 1, -1

hand_dependence             = 1
single_handed            = 0

inv_name            = "Maschinengewehr 3"
inv_name_short            = "Maschinengewehr 3"
inv_weight            = 10.5

inv_grid_width     = 6
inv_grid_height    = 2
inv_grid_x         = 53
inv_grid_y         = 80

kill_msg_x        = 72
kill_msg_y        = 82
kill_msg_width        = 56
kill_msg_height        = 23

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

;-----------------------------------------------------------------------------------
;params of weapon recoil
fire_dispersion_base            = 0.2        ;угол (в градусах) базовой дисперсии оружия (оружия зажатого в тисках)
control_inertion_factor            = 1.05f

;отдача
cam_relax_speed                 = 25        ;скорость возврата в исходное положение
cam_dispersion                  = 0.05        ;увеличения угла (в градусах) с каждым выстрелом
cam_dispersion_inc            = 0.03        ;увеличениe cam_dispersion с каждым выстрелом
cam_dispertion_frac            = 0.05        ;ствол будет подыматься на cam_dispersion*cam_dispertion_frac +- cam_dispersion*(1-cam_dispertion_frac)
cam_max_angle                = 3.0            ;максимальный угол отдачи
cam_max_angle_horz            = 2.0        ;(degree) maximum shot horizontal degree 
cam_step_angle_horz            = 1.0;1        ;(degree) size of step camera moved in horizontal position while shooting

fire_dispersion_condition_factor     = 5            ;увеличение дисперсии в процентах при максимальном износе 
misfire_probability         = 0.002    ;вероятность осечки при максимальном износе 
misfire_condition_k            = 0.05
condition_shot_dec             = 0.000    ;увеличение износа при каждом выстреле
;-----------------------------------------------------------------------------------

direction               = 0, 0, 1

fire_point                 =  0,0.23,0.90
flame_particles            = weapons\generic_weapon05
smoke_particles         = weapons\generic_shoot_00

shell_point                 = 0.0, 0.129, 0.192    
shell_dir                 = 0.0, 0.0, 0.4

rpm_empty_click          = 200

PDM_disp_base             = 1.0
PDM_disp_vel_factor         = 0.8
PDM_disp_accel_factor         = 0.8
PDM_crouch             = 1.0
PDM_crouch_no_acc         = 1.0

; ttc
hit_power            = 1.5
hit_impulse        = 110
hit_type         = fire_wound
hit_rate            = 1.85
fire_distance              = 1000
bullet_speed        = 870                   ;начальная скорость пули
rpm                     = 1000
; end ttc

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

silencer_hit_power           = 0.65
silencer_hit_impulse         = 10
silencer_fire_distance       = 300
silencer_bullet_speed         = 350

hud                     = wpn_mg3_hud
normal                  = 0, 1, 0
position             = -0.026,-0.16,0.00
orientation             = 0, 0, 0

;--STRAP PARAMETERS-----------------------------------------------------------------
strap_position                 = -0.16,-0.16,0.15    ; position (offset) and orientation of the weapon when it is strapped
strap_orientation              = -25,-189,65        ; (3rd person view in degrees)
;strap_position             = -0.26,-0.11,0.15    ; position (offset) and orientation of the weapon when it is strapped
;strap_orientation          = -15,-9,110        ; (3rd person view in degrees)

strap_bone0                    = bip01_spine2
strap_bone1                    = bip01_spine1

startup_ammo            = 1000
visual                  = weapons\g3\wpn_mg3.ogf

light_color             = 0.6,0.5,0.3
light_range             = 5
light_var_color             = 0.05
light_var_range             = 0.1
light_time              = 0.2

ph_mass                 = 6

;addons
scope_status            = 0
silencer_status            = 0
grenade_launcher_status            = 0

zoom_enabled            = true
scope_zoom_factor            = 35

;звуки
snd_draw            = weapons\generic_draw
snd_holster            = weapons\generic_holster
snd_shoot            = weapons\mg3_shoot
snd_empty            = weapons\gen_empty
snd_reload            = weapons\mg3_reload

[wpn_mg3_hud]
shell_point              = 0.00, 0.00, 0.00
shell_dir        = 0.0, 0.0, 0.0

fire_point        = 0.210000,0.015600,0.025900
fire_bone               = wpn_body
orientation             = 0, 0, 0
position                = 0, 0, 0
visual                  = weapons\g3\wpn_mg3_hud.ogf

anim_idle        = idle
anim_idle_aim        = idle_aim
anim_reload        = reload
anim_draw        = draw
anim_holster        = holster
anim_shoot        = shoot
anim_idle_sprint    = idle_sprint
;anim_idle_moving    = moving

;смещения HUD для режима приближения
zoom_offset        = -0.107901,0.041031,-0.148000
zoom_rotate_x        = 0.010340
zoom_rotate_y        = 0.004591
 

anim_idle_moving    = moving закоментировано, это я его пытался добавлять, с ним вылет на него.

Скрытый текст

 

Вот этот ствол и есть ссылка на него под видео. У меня всё такое-же как в этом.

 

Изменено пользователем K.O.N.S.T.A.N.T.I.N.

Искусство по-настоящему ругаться матом приходит только с умением водить машину.

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

@K.O.N.S.T.A.N.T.I.N. Ствол и конфиг вроде бы без нареканий.

Чтобы не создавать дубликаты постов попроси в этой теме - https://www.amk-team.ru/forum/topic/8216-the-new-weapon-and-its-addition-in-stalker-soc/page/32/#comments

посмотреть твои последние два поста, и дай на них ссылку в сообщении.

Пример:

Не могу разобраться с проблемой, посмотрите пожалуйста - и ссылку на пост.

  • Спасибо 1
Ссылка на комментарий
10 часов назад, K.O.N.S.T.A.N.T.I.N. сказал:

anim_idle_moving    = idle

вот так пропиши, и будет щастье... всем... даром...

  • Спасибо 1
  • Нравится 1
  • Полезно 1

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

@nasar75 Ржунемогу...:dash2: Всё заработало... при том anim_idle_moving, вообще в файле не было. Я его вставлял, но anim_idle_moving    = moving, как во всех стволах. Такого варианта не видел даже...

Искусство по-настоящему ругаться матом приходит только с умением водить машину.

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

Подскажите путь к файлам параметров именных НПС в игре Тень Чернобыля: где находятся параметры Волка, Лиса, Бармена, Юрика и т.д. 

Добавлено  Купер,

Правила форума, 2.1.1 (оффтоп).

Предупреждение, устно.

Прим.: в "Разговорах... " это всё-таки оффтоп, как ни крути.

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

@volk_40k ,

gamedata\config\gameplay\character_desc_локация  (agroprom, escape, garbage и  т.п.). В модах может быть где угодно. Т.е.: по каталогам структурно там же, но не факт, что в "локационных" файлах.

Скрытый текст

 

Простейший алгоритм поиска.

Знаем имя квестовика: Крот. Поиском находим:

stable_bio_name.xml ->


    <string id="agr_krot_name"> <!-- идентификатор имени перса для его профиля -->
        <text>Крот</text> <!-- само имя -->
    </string>

 

Поиск по идентификатору имени (agr_krot_name) ->


character_desc_agroprom->

        <specific_character id="agr_krot" team_default = "1"> <!-- наш перс и его параметры -->
        <name>agr_krot_name</name> <!-- а вот по этому параметру мы его и искали -->
        <icon>ui_npc_u_stalker_neytral_rukzak_4</icon>
        <map_icon x="0" y="0"></map_icon>
        <bio>agr_krot_bio</bio>

        <class>agr_krot</class>
...        
    </specific_character>

 

 

@Stalk2003 ,

Wiki проекта: engine_ammo_repacker.

 

  • Спасибо 1
Ссылка на комментарий

@Stalk2003 , а вот нет чтобы прямо рядышком почитать. Про связанные параметры. Там и про неполные пачки тоже есть.

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

@Купер если ты про hard_ammo_reload то это не то. Он у меня включен его рекомендуют использовать именно с ручным перепаковщиком, а с автоматическим данная опция не совместима.

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

Кто может помочь сделать зачистку деревни новичков? Чтобы командир с блокпоста выдавал квест на зачистку. И когда всех убьёшь он выполнится.

Первый раз собираюсь делать квест на убийство кого либо.

Предположительно нужно в логике лагеря, прописать когда там никого не будет, выдачу инфопоршня на выполнение квеста

только как именно это сбацать я без понятия:crazy2:

Изменено пользователем boneset-hq

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

@boneset-hq , надо как то последовательно изучить и применить на практике базу. Логику, создание квестов. Если надо убить конкретную цель, нужно в логике цели указать, что произойдёт при её смерти. Выдача инфопоршня на выполнение подзадачи квеста, например. Можно только с условием, что убить должен именно ГГ

Изменено пользователем mole venomous
  • Нравится 1
  • Полезно 1

Здесь могла быть ваша реклама.

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

@mole venomous Не, не то имел ввиду. Как мне сделать квест на убийство сразу кучки людей? Чтобы когда я убил их всех, только тогда квест выполнится.

Я подумал можно добавить каждому в логику свой инфопоршень при смерти, и когда они все соберуться то квест выполнится, но мне кажется есть дорожка попроще и пологичнее

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

Друзяки, всем привет! 
Хочу спросить: в общем, в игре есть лазейка вернуть индивидуальный ПДА сталкеров в инвентарь убитого (для этого надо прописать в death_generic.ltx итем device_pda, и в таком случае в трупе каждого непися будет появлятся уникальный ПДА). Оно то может и круто, но вот беда: ПДА не разделяются. То есть если в инвентаре 5 разных пда с 5 разных трупов, они "стакаются" в один предмет, и посмотреть "кому принадлежит такой то пда" не получается.

Собственно вопрос: есть ли какой то способ "разделить" эти ПДА, чтобы они не стакались, а были отдельным предметом? Спасибо!

Ссылка на комментарий
2 часа назад, Hind сказал:

посмотреть "кому принадлежит такой то пда" не получается.

Я скажу тебе страшшшное, если выкинуть их из инвентаря - все они будут иметь своё личное название,

но это важно только если их 5-10 штук, если их под сотню - то полный швах,

и если их не стакать в инвентори - тоже мало хорошего, там такой бардак будет :dash2:

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

Как победить такого рода вылет?

Скрытый текст

stack trace:

0023:7483500A MSVCR80.dll, strncmp()
0023:033E39C5 xrNetServer.dll, IPureClient::OnMessage()
 
[error][     259]    : Дополнительные данные отсутствуют.

Крашутся сейвы, в основном в баре.

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

Привет.  Мне нужно, чтобы игра выдала мне инфопоршеньь если у меня есть два других. Сделал вот так:

Скрытый текст

if not has_alife_info("info3") and
        has_alife_info("info1") and
        has_alife_info("info2") then
        self.object:give_info_portion("info3")
        end

Но третий инфопоршень выдается только после квиксейв/лоада(когда я уже получил первых два)

Засовывал и под function actor_binder:update(delta)  и под function actor_binder:on_item_take (obj), результат один.

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

@q1w2e3r4t5 , что то непонятно, как и при каких условиях ты вызываешь проверку и действие...

Скрытый текст

На постоянном апдейте ГГ всё работает, но это не лучший вариант, конечно:

    if not has_alife_info("start_info3")  
    and ( has_alife_info("start_info") and has_alife_info("start_info2") ) then
        db.actor:give_info_portion("start_info3")
    end

А если в коллбеке on_item_take, то нужно указывать, какой предмет проверяется:

    local sobj = obj:section()
    if sobj == "medkit" and not has_alife_info("start_info3")  
    and ( has_alife_info("start_info") and has_alife_info("start_info2") ) then
        db.actor:give_info_portion("start_info3")
    end

 

Изменено пользователем mole venomous

Здесь могла быть ваша реклама.

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

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

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

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

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

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

Войти

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

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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...