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

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


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

@editor46, здесь:

snd_obj:play_at_pos(db.actor,
  vector():set(0,0,0),   -- позиция, на которой проигрывается звук, замени на db.actor:position()
  0,   -- задержка в миллисекундах перед проигрыванием звука
  sound_object.s2d)  -- тип звука

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
@editor46, значит, замени на play_no_feedback. Посмотри, как сделано в функции send_tip в news_manager.script. Изменено пользователем naxac

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Подскажите дверь на складе в Тёмной Долине на базе Борова, так называется val_door_nedostroyka, или это не та?

 

Что, типа на такие детские вопросы не отвечают, а я вот такой неумеха, СДК не пользуюсь, только для звуков. Ок.

Изменено пользователем Хемуль36рус
Добавлено BFG,

Да, это она и есть. Там самая дверь на склад Борова.

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

В общем суть проблемы оказалась до смешного банальной, при редактировании стволов в stlk object editor, редактор по неизвестной причине испортил конфиг одной из винтовок (в ltx файле вместо хар-к орудия тупо шла строка [nul][nul]nul]......) благо был запасной.

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

@editor46

 

 

snd_obj:play_at_pos(db.actor, vector():set(0,0,0), -- позиция, на которой проигрывается звук, замени на db.actor:position() 0, -- задержка в миллисекундах перед проигрыванием звука sound_object.s2d) -- тип звука

распространённая ошибка - сие верно для, сообщений - но не звуков.

Просто попробуй задать время так: 

 

function message_wolf()
local sactor = alife():actor()
local cactor = level.object_by_id(sactor.id)
local time_out = math.random(2,5)

cactor:give_game_news("%c[255,160,160,160]Сообщение:\\n%c[default]Это Волк,надо встретится.",
"ui\\ui_npc_unique",Frect():set(335,329,154,103),time_out*1000,5000)

local snd_obj = xr_sound.get_safe_sound_object([[device\decoder]])
snd_obj:play_no_feedback(db.actor, sound_object.s2d, time_out, vector(),1)

end

 

:D 

Изменено пользователем ted.80
  • Спасибо 1
  • Нравится 1
Ссылка на комментарий

При попытке покупки или лута патронов вылазит следующее:

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ....a.l.k.e.r.1.0004\gamedata\scripts\dunin_ammo.script:41: attempt to index field '?' (a nil value)
 
 
stack trace:
 
не ругается только на патроны 9х18
сам dunin_ammo скрипт стоит арсеналовский, мож какого еще скрипта не хватает?

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

 

 

При попытке покупки или лута патронов вылазит следующее:

Если добавлял новый патрон - обязательно пропиши его в _g.script.

Сталкер - наше всё!

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

Проблема у меня с вертолетом.

Суть: пытаюсь заспавнить вертолет через СДК, чтобы при попадании ГГ на локацию он сразу спавнился и лете по заданному логикой пути.

Проблема: в игре вертолет не вылетает, а на месте спавна его не видно (!), слышны только звуки винта. В остальном пустота. Хотя точно знаю, что он должен отображаться, даже пока висит на точке. Чудеса..

 

Создал вертолет на локации по примеру вертушки на Кордоне. Создал точку где он висит, создал путь через локацию, и конечную точку, где он "уснет". Настроил его, анимация idle и т.д. Motions не трогал.

Задал ему логику:

 

[logic]
active =heli_move@fly
 
[heli_move@fly]
path_move = heli_fly
on_signal = nikogo| %+road1_heli_nikogo%
on_signal2 = spawn_heli| %+road1_heli_spawn%
on_signal3 = fly_end| heli_move@sleep
combat_safe_altitude = -50
 
[heli_move@sleep]
path_move = heli_sleep
engine_sound = false
combat_safe_altitude = -50

 

Несколько часов сидел, перепроверял, сравнивал. Все нормально, как у ПЫСов. Так и не понял в чем проблема, почему вертолет не летает и он невидимый..

Буду рад, если скажите какие-то тонкости в этом деле и мою ошибку. Может надо как-то вэйпоинты (Путь) подвесить к воздуху? А то мало ли при компиляции он слетает на террейн. Я не знаю в общем причину этих невероятных чудес. Спасибо.

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

@AndrewMor, Уж давно как прописал. С некоторыми патронами такая фишка: 5х45мм (АК, есть в оригинале) я спокойно могу их снять с трупа, но когда их заряжаешь обратно, допустим, было в инвентаре 7 патр. и ты их зарядил - все нормально, ты взял откуда-то еще 5, зарядил их в тот же ствол происходит вылет с логом выше, так же я не могу их купить ибо вылет с таким же логом. Не ругается ток на патрон  9х18мм (мож еще на какие, не проверял) спокойно покупается, поднимается, заряжается, стреляет.

Мы по аномалиям зону разберём!

Сидора повесим, а Бармена убьём!

Ну а вояк мы смоем в унитаз!

Пускай плывет в канализации спецназ!

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

Помогите пожалуйста изменить класс в конфиге с артефакта на класс бинокля. Заранее спасибо) Вот конфиг

 

[medaid_activation]
starting = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
flying = 0, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
idle_before_spawning = 9, detectors\bomb_timer, 0, 0, 0, 0, "","idle"
spawning = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"


[medaid_b]:identity_immunities
GroupControlSection = spawn_group
$spawn = "weapons\mine\medaid_b"
hud = medaid_b_hud
animation_slot = 11
allow_inertion = true
slot = 1
attach_angle_offset = 0,0,0
attach_position_offset = -0.1,-0.1,0
attach_bone_name = bip01_r_hand
belt = false
af_actor_properties = off
actor_properties = on

$prefetch = 64
cform = skeleton
class = ARTEFACT
visual = huds\item_aptechka.ogf
description = "Пустая Аптечка"
inv_name = "Пустая Аптечка"
inv_name_short = "Пустая Аптечка"
inv_weight = 0.0

inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 14
cost = 50

jump_height = 0
lights_enabled = false

snd_draw = weapons\pm_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\t_pm_shot ;pm_shoot
snd_empty = weapons\pistol_empty
snd_reload = weapons\pm_reload, 0.8
snd_close = weapons\generic_close
snd_idle_sprint = weapons\generic_close
snd_hide = weapons\generic_close
snd_show = weapons\generic_close
snd_activate = weapons\generic_close
snd_idle = weapons\generic_close


;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = medaid_absorbation

artefact_activation_seq = medaid_activation

[medaid_b_hud]
orientation = 0, 0, 0
position = 0, -0.155, 0
visual = huds\medaid.ogf


anim_idle_sprint = using
anim_activate = using
anim_show = using
anim_hide = using
anim_idle = using


[medaid_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 = 1.0

 

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

Сравни эту строчку с конфигом бинокля и сделай вывод.

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

Насколько сильно влияет кол-во костей в модели на производительность? Большинство артов ПЫСов имеют не более 2. У меня есть модель арта, я хочу к ней приложить интересную анимацию, которая двигается на скелете из ~15-20 костей. Я сторонник оптимизации, нежели красоты, вот думаю и гадаю, стоит ли для арта так замарачиваться. 

Канал брата сталкера! Загляни на огонёк!

"Ну рипнуть-то, наверное, легче!" (С) Андрей Лавров

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

 

 

Сравни эту строчку с конфигом бинокля и сделай вывод.
Поменять строчку пол дела, надо менять все строчки, добавлять и убирать. Не всё так просто
Ссылка на комментарий

@Mododel15, какой вопрос - такой ответ.

Написал бы развернуто, чего ты хочешь добиться.

Изменено пользователем Earth2Space
  • Согласен 2
Ссылка на комментарий

 

 

Может надо как-то вэйпоинты (Путь) подвесить к воздуху? А то мало ли при компиляции он слетает на террейн.

Так распакуй олл_спавн и глянь его пути.

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

 

 

Буду рад, если скажите какие-то тонкости в этом деле и мою ошибку. Может надо как-то вэйпоинты (Путь) подвесить к воздуху? А то мало ли при компиляции он слетает на террейн. Я не знаю в общем причину этих невероятных чудес. Спасибо.

Я без всякого СДК спавнил вертуху с путем, все лётало, висело, и улетало, куда надо. Сдается мне. с логикой не все в ажуре. Если все точки верны (кстати, точки в воздухе даже без точных вертексов будут работать), по идее у тебя все должно пыхтеть.

 

И кстати, почему ты не хочешь в логике написать переход на нужную секцию при получении поршня, когда ГГ спавнится на локации по типу:

on_info = {+твой_поршень} твоя_секция_перехода

 

Вот как я делал свою логику вертухе (по аналогии, как сделано ПЫСами на Радаре):

[logic]


active = heli_move@idle

[heli_move@idle]
path_move = jup_heli_idle
engine_sound = false
combat_ignore = true
invulnerable = false
on_info = {+take_message_german} heli_move@snd

[heli_move@snd]
path_move = jup_heli_idle_snd
engine_sound = true
combat_ignore = true
invulnerable = false
on_info = {+heli_start} heli_move@move

[heli_move@move]
path_move = jup_heli_move
engine_sound = true
combat_ignore = true
invulnerable = false
on_signal = jup_heli_move | %+heli_move%
on_info = {+heli_move} heli_move@stop

[heli_move@stop]
path_move = jup_heli_stop
engine_sound = true
default_velocity = 0
combat_ignore = true
invulnerable = false
velosity = 0
on_info = {+give_ecolog_info} heli_move@idle2

[heli_move@idle2]
path_move = jup_heli_idle2
engine_sound = true
combat_ignore = true
invulnerable = false
on_signal = jup_heli_stop | heli_move@idle3

[heli_move@idle3]
path_move = jup_heli_idle3
engine_sound = false
combat_ignore = true
invulnerable = false

 

 

[jup_heli_idle]
points = p0
p0:name = wp00
p0:position = -274.58590698242,20.30507850647,529.63134765625
p0:game_vertex_id = 3701
p0:level_vertex_id = 93656

[jup_heli_idle_snd]
points = p0
p0:name = wp00
p0:position = -274.58590698242,20.30507850647,529.63134765625
p0:game_vertex_id = 3701
p0:level_vertex_id = 93656

[jup_heli_move]
points = p0,p1,p2,p3,p4,p5
p0:name = wp00
p0:position = -274.58590698242,20.30507850647,529.63134765625
p0:game_vertex_id = 3701
p0:level_vertex_id = 93656
p0:links = p1(1)

p1:name = wp01
p1:position = -274.56921386719,38.261661529541,529.66265869141
p1:game_vertex_id = 3701
p1:level_vertex_id = 93656
p1:links = p2(1)

p2:name = wp02
p2:position = -328.51330566406,53.790298461914,495.95755004883
p2:game_vertex_id = 3701
p2:level_vertex_id = 93656
p2:links = p3(1)

p3:name = wp03|dv=10|v=10
p3:position = -372.38760375977,69.980010986328,481.57647705078
p3:game_vertex_id = 3701
p3:level_vertex_id = 93656
p3:links = p4(1)

p4:name = wp04|dv=3|v=3
p4:position = -404.40237426758,42.828231811523,410.05102539063
p4:game_vertex_id = 3701
p4:level_vertex_id = 38855
p4:links = p5(1)

p5:name = wp05|dv=0|v=0|sig=jup_heli_move
p5:position = -379.65417480469,21.24892616272,444.32305908203
p5:game_vertex_id = 3701
p5:level_vertex_id = 75919

[jup_heli_stop]
points = p0
p0:name = wp00|dv=0|v=0
p0:position = -379.65417480469,21.24892616272,444.32305908203
p0:game_vertex_id = 3701
p0:level_vertex_id = 75919

[jup_heli_idle2]
points = p0,p1,p2,p3,p4,p5
p0:name = wp00
p0:position = -379.65417480469,21.24892616272,444.32305908203
p0:game_vertex_id = 3701
p0:level_vertex_id = 75919
p0:links = p1(1)

p1:name = wp01|dv=3|v=3
p1:position = -404.40237426758,42.828231811523,410.05102539063
p1:game_vertex_id = 3701
p1:level_vertex_id = 38855
p1:links = p2(1)

p2:name = wp02|dv=10|v=10
p2:position = -372.38760375977,69.980010986328,481.57647705078
p2:game_vertex_id = 3701
p2:level_vertex_id = 93656
p2:links = p3(1)

p3:name = wp03|dv=10|v=10
p3:position = -328.51330566406,53.790298461914,495.95755004883
p3:game_vertex_id = 3701
p3:level_vertex_id = 93656
p3:links = p4(1)

p4:name = wp04|dv=3|v=3
p4:position = -274.56921386719,38.261661529541,529.66265869141
p4:game_vertex_id = 3701
p4:level_vertex_id = 93656
p4:links = p5(1)

p5:name = wp05|dv=0|v=0|sig=jup_heli_stop
p5:position = -274.58590698242,20.30507850647,529.63134765625
p5:game_vertex_id = 3701
p5:level_vertex_id = 93656

[jup_heli_idle3]
points = p0
p0:name = wp00
p0:position = -274.58590698242,20.30507850647,529.63134765625
p0:game_vertex_id = 3701
p0:level_vertex_id = 93656

 

 

Точки показал для того, чтобы было видно, где on_signal выдается. Само собой, логику можно вынести в конфиг.

  • Полезно 2

Сталкер - наше всё!

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

Почему скрипт не корректно работает с предметом medaid? Помогите разобраться) Вот скрипт:

 

 

function use_medkit_oz( obj )
if obj == nil then return end
if obj:section() ~= "medkit" then return end
local s_obj = alife():create( "medaid_b", vector(), 0, 0, db.actor:id() )
snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
local Timer_zrems = time_global() + 5000
local effect_start = function()
if s_obj.online and Timer_zrems < time_global() then
return true
end
end
local effect_stop = function()
if snd:playing () then
snd:stop ()
end
alife():release( s_obj, true )
end
level.add_call( effect_start, effect_stop )
end

 

 

Вот конфиг:

 

 

[medaid_activation]
starting = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
flying = 0, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
idle_before_spawning = 9, detectors\bomb_timer, 0, 0, 0, 0, "","idle"
spawning = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"


[medaid_b]:identity_immunities
GroupControlSection = spawn_group
$spawn = "weapons\mine\medaid_b"
hud = medaid_b_hud
animation_slot = 11
allow_inertion = true
slot = 1
attach_angle_offset = 0,0,0
attach_position_offset = -0.1,-0.1,0
attach_bone_name = bip01_r_hand
belt = false
af_actor_properties = off
actor_properties = on

$prefetch = 64
cform = skeleton
class = ARTEFACT
visual = huds\item_aptechka.ogf
description = "Пустая Аптечка"
inv_name = "Пустая Аптечка"
inv_name_short = "Пустая Аптечка"
inv_weight = 0.0

inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 6
inv_grid_y = 14
cost = 50

jump_height = 0
lights_enabled = false

snd_draw = weapons\pm_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\t_pm_shot ;pm_shoot
snd_empty = weapons\pistol_empty
snd_reload = weapons\pm_reload, 0.8
snd_close = weapons\generic_close
snd_idle_sprint = weapons\generic_close
snd_hide = weapons\generic_close
snd_show = weapons\generic_close
snd_activate = weapons\generic_close
snd_idle = weapons\generic_close


;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = medaid_absorbation

artefact_activation_seq = medaid_activation

[medaid_b_hud]
orientation = 0, 0, 0
position = 0, -0.155, 0
visual = huds\medaid.ogf


anim_idle_sprint = using
anim_activate = using
anim_show = using
anim_hide = using
anim_idle = using


[medaid_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 = 1.0

 

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

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

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

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

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

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

Войти

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

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

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