[SoC] Ковыряемся в файлах - Страница 1214 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

[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

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

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

Не подскажите как в OGSR Engine включить ручной перепаковщик патронов? В external ltx не нашел.

@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

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

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

Вопрос к знатокам AMK скриптов.

Как добавить требуемого мне НПС, в список исключение АМК оффлайн алайф событий?

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

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

Друзяки, всем привет! 
Хочу спросить: в общем, в игре есть лазейка вернуть индивидуальный ПДА сталкеров в инвентарь убитого (для этого надо прописать в 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 пользователей

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