Перейти к содержанию

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

 

010cdbd72f.png

Тема посвящена моддингу на платформе Тень Чернобыля.

 

Правила темы:

  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть.
  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
  • Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, vader_33 сказал:

Deathman так делать там больше нечего, просто вставить готовый код в функцию и прописать в ui_mm_main.xml текстуры


Дополнено 4 минуты спустя

Yarkov Desorec видел на стримах беты radiophobia 3, она на движке огср, но не знаю, огср-овские детекторы или своя реализация. Сама бета и актуальные патчи в дискорде разработчик выкладывает (на moddb есть ссылка на дискорд)


Дополнено 25 минуты спустя

Deathman вот пример для оригинала, для кордона и свалки

https://disk.yandex.ru/d/hDDaaMLn19J7SA

Спасибо! Я очень сильно благодарен. Попробую подключить поддержку .ogm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем здрас-си и с НГ. Подскажите, есть ли какая нибудь формула для пересчёта координат для худа и инвентаря с 16:9 на 4:3?


                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет, экспериментирую с  нетпаками и хочу хочу сделать спавн спейс рестриктора и чтобы при заходи гг в него появлялась надпись на экране до тех пор пока он стоит в нём. Вызываю так:

Спойлер

----------
-- чтение формы из нет-пакета
----------
function r_shape(packet)
 local s
 local st = {}
 st.count = packet:r_u8()
 st.shapes = {}
 for i=1, st.count do
 s = {}
 s.type = packet:r_u8()
 if s.type == 0 then
 s.center = packet:r_vec3()
 s.radius = packet:r_float()
 else
 s.axis_x = packet:r_vec3()
 s.axis_y = packet:r_vec3()
 s.axis_z = packet:r_vec3()
 s.offset = packet:r_vec3()
 end
 st.shapes = s
 end
 return st
end

----------
-- запись формы в нет-пакет
----------
function w_shape(packet, st)
 local s
 packet:w_u8(st.count)
 for i=1, st.count do
 s = st.shapes
 packet:w_u8(s.type)
 if s.type == 0 then
 packet:w_vec3(s.center)
 packet:w_float(s.radius)
 else
 packet:w_vec3(s.axis_x)
 packet:w_vec3(s.axis_y)
 packet:w_vec3(s.axis_z)
 packet:w_vec3(s.offset)
 end
 end
end

----------
-- перепаковка нет-пакета созданного скриптом рестрикта
----------
function rewrite_restrictor(se_obj, custom, radius)
 local packet = net_packet()
 se_obj:STATE_Write(packet)
 local game_vertex_id = packet:r_u16()
 local distance = packet:r_float()
 local direct_control = packet:r_s32()
 local level_vertex_id = packet:r_s32()
 local object_flags = packet:r_s32()
 local custom_data = packet:r_stringZ()
 local story_id = packet:r_s32()
 local spawn_story_id = packet:r_s32()
 local shape = r_shape(packet)
 local restrictor_type = packet:r_u8()

 custom_data = custom
 shape = {}
 shape.count = 1
 shape.shapes = {}
 shape.shapes[1] = {}
 shape.shapes[1].type = 0
 shape.shapes[1].center = vector():set(0,0,0)
 shape.shapes[1].radius = radius

 packet:w_u16(game_vertex_id)
 packet:w_float(distance)
 packet:w_s32(direct_control)
 packet:w_s32(level_vertex_id)
 packet:w_s32(object_flags)
 packet:w_stringZ(custom_data)
 packet:w_s32(story_id)
 packet:w_s32(spawn_story_id)
 w_shape(packet, shape)
 packet:w_u8(restrictor_type)
 se_obj:STATE_Read(packet, packet:w_tell() - packet:r_tell())
end

function spawn_zones()
--Кордон
esc_spawn1_zone()
end


--Escape
function esc_spawn1_zone()
  local se_obj = alife():create("space_restrictor",vector():set(-206.853,-19.663,-140.029),45944,61)
  local custom = "[logic]\n"..
"active = sr_idle\n"..
"[sr_idle]\n"..
"on_actor_inside = %+space_greem_zone%"
  rewrite_restrictor(se_obj, custom, 2.0)
  level.map_add_object_spot_ser(se_obj.id, "crlc_small", "Костёр")
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol так какая проблема-то


В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol а, это не ко мне, не разбираюсь в логике. Вот надо сразу писать, что помощь по логике нужна, распугали тут всех нет-пакетами. Если именно через рестрикторы иконку выводить - добавить в логику рестриктора on_actor_inside = ... - это на вход, сюда функцию добавления custom static. on_actor_outside = .. - это на выход, сюда функцию удаления


В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет! Помогите, пожалуйста, советом: как получить через скрипт активное задание или строковое представление его title(показывается по нажатию на TAB и выбирается в ПДА) или это вшито в движок?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

vetalion в оп 2/2.1 при нажатии на tab в сообщения выводился список активных заданий, которые можно сдать на текущей локации, может получится оттуда выдрать (не знаю, правился ли для этого движок, готовой удобной функции для этого нету)

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

В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет, снова я. Нужно проиграть скриптом звук в определённом месте по квесту, спейсом не хочется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Paracetamol 

local snd = xr_sound.get_safe_sound_object("helicopter\\hit_2")
snd:play_at_pos(obj, позиция, sound_object.s3d)

позиция либо по какому-нибудь объекту obj:position() либо vector():set(x,y,z)

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

В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

как можно скриптово добавить туман вокруг actor? буквально в радиусе 10-20 метров нужно..


Слишком огромная подпись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

1beer поменять погоду не пойдет?


В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, vader_33 сказал:

1beer поменять погоду не пойдет?

нужно скриптово буквально на пару секунд закинуть на одну локу, а потом обратно.. в будующем данная лока еще будет использоваться..


Слишком огромная подпись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

1beer создать аномалию "туман" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Sikorskyi сказал:

1beer создать аномалию "туман" ?

такая есть в тч? можешь примерный код накидать?


Слишком огромная подпись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Что-то типа:

Спойлер

 

;----------- Облако -----------------------
[zone_clouds_bad]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_clouds_bad"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0.0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = zone_mosquito_bald

postprocess                = postprocess_fog

BirthProbability        = 0.0
hit_type                = chemical_burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles                = a_ufp_particles\clouds_bad
blowout_particles            = a_ufp_particles\clouds_bad

idle_sound            = ambient\x18\x18_wind_1
blowout_sound        = ambient\x18\x18_wind_1
hit_sound            = ambient\x18\x18_wind_1
entrance_sound        = ambient\x18\x18_wind_1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.01,0.4,0.01
light_range               = 6.0
light_time                = 0.4
light_height        = 0.4    

idle_light            = off
idle_light_range    = 8.0
idle_light_range_delta = 0.2
idle_light_anim        = koster_01
idle_light_height    = 0.70

visible_by_detector = off

artefacts            = af_gold_fish, 0.4

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0.2
artefact_spawn_particles    = anomaly\a-01-heat-smoke_old00
artefact_born_sound         = ambient\silence

throw_out_power             = 0.6
artefact_spawn_height         = 0.3

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

 

Это из ОГСЕ.
 


Дополнено 19 минуты спустя

Вот конфиг Тумана:

Спойлер

 

;----------- Туман -----------------------
[zone_fog]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_fog"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = ambient\random\rt_sickened1

postprocess                = postprocess_fog

BirthProbability        = 0.2
hit_type                = burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles            = a_ufp_particles\fog_01
blowout_particles        = a_ufp_particles\fog_01

idle_sound            = ambient\random\rt_sickened1
blowout_sound        = ambient\random\rt_sickened1
hit_sound            = ambient\random\rt_sickened1
entrance_sound        = ambient\random\rt_sickened1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.5,0.4,0.3
light_range               = 30.0
light_time                = 0.9;0.35
light_height        = 1.5    

idle_light            = off

visible_by_detector = off

artefacts            = 

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0
artefact_spawn_particles    = 
artefact_born_sound             =  

throw_out_power                 = 0
artefact_spawn_height         = 0    

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

;----------- Сигаретный дым в помещении -----------------------
[zone_fog_cigarette]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_fog_cigarette"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = ambient\random\rt_sickened1

postprocess                = postprocess_fog

BirthProbability        = 0.2
hit_type                = burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles            = a_ufp_particles\cigarette_dust
blowout_particles        = a_ufp_particles\cigarette_dust


idle_sound            = ambient\random\rt_sickened1
blowout_sound        = ambient\random\rt_sickened1
hit_sound            = ambient\random\rt_sickened1
entrance_sound        = ambient\random\rt_sickened1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.5,0.4,0.3
light_range               = 30.0
light_time                = 0.9;0.35
light_height        = 1.5    

idle_light            = off
idle_light_range    = 8.0
idle_light_range_delta = 0.2
idle_light_anim        = koster_01
idle_light_height    = 0.70

visible_by_detector = off

artefacts            = 

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0
artefact_spawn_particles    = 
artefact_born_sound             =  

throw_out_power                 = 0
artefact_spawn_height         = 0    

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

;----------- Туман в помещении -----------------------
[zone_fog_indoor]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_fog_indoor"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = ambient\random\rt_sickened1

postprocess                = postprocess_fog

BirthProbability        = 0.2
hit_type                = burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles            = a_ufp_particles\fog_indoor
blowout_particles        = a_ufp_particles\fog_indoor

idle_sound            = ambient\random\rt_sickened1
blowout_sound        = ambient\random\rt_sickened1
hit_sound            = ambient\random\rt_sickened1
entrance_sound        = ambient\random\rt_sickened1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.5,0.4,0.3
light_range               = 30.0
light_time                = 0.9;0.35
light_height        = 1.5    

idle_light            = off
idle_light_range    = 8.0
idle_light_range_delta = 0.2
idle_light_anim        = koster_01
idle_light_height    = 0.70

visible_by_detector = off

artefacts            = 

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0
artefact_spawn_particles    = 
artefact_born_sound             =  

throw_out_power                 = 0
artefact_spawn_height         = 0    

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

;----------- Туман на земле -----------------------
[zone_fog_ground]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_fog_ground"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = ambient\random\rt_sickened1

postprocess                = postprocess_fog

BirthProbability        = 0.2
hit_type                = burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles            = a_ufp_particles\fog_ground
blowout_particles        = a_ufp_particles\fog_ground

idle_sound            = ambient\random\rt_sickened1
blowout_sound        = ambient\random\rt_sickened1
hit_sound            = ambient\random\rt_sickened1
entrance_sound        = ambient\random\rt_sickened1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.5,0.4,0.3
light_range               = 30.0
light_time                = 0.9;0.35
light_height        = 1.5    

idle_light            = off
idle_light_range    = 8.0
idle_light_range_delta = 0.2
idle_light_anim        = koster_01
idle_light_height    = 0.70

visible_by_detector = off

artefacts            = 

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0
artefact_spawn_particles    = 
artefact_born_sound             =  

throw_out_power                 = 0
artefact_spawn_height         = 0    

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

;----------- Туман движется -----------------------
[zone_fog_move]
GroupControlSection        = spawn_group_zone
$spawn                     = "zones\zone_fog_move"
$prefetch                 = 16
class                    = ZS_MBALD
hit_impulse_scale        = 0
effective_radius        = 0
actor_blowout_radius_percent    = 0

ef_anomaly_type            = 1
ef_weapon_type            = 13

sound                    = ambient\random\rt_sickened1

postprocess                = postprocess_fog

BirthProbability        = 0.2
hit_type                = burn

min_start_power            = 0.99
max_start_power            = 1.00
attenuation                = 1
period                    = 1
min_artefact_count        = 0
max_artefact_count        = 0

idle_particles            = a_ufp_particles\fog_move
blowout_particles        = a_ufp_particles\fog_move

idle_sound            = ambient\random\rt_sickened1
blowout_sound        = ambient\random\rt_sickened1
hit_sound            = ambient\random\rt_sickened1
entrance_sound        = ambient\random\rt_sickened1


awaking_time        = 100
blowout_time        = 500    
accamulate_time        = 245

blowout_light_time        = 200
blowout_explosion_time    = 200
blowout_particles_time    = 200
blowout_sound_time      = 100

disable_time        = 5000
disable_time_small    = 5000
disable_idle_time    = 100    

ignore_nonalive        = false
ignore_small        = false
ignore_artefacts    = false

blowout_light        = off
light_color            = 0.5,0.4,0.3
light_range               = 30.0
light_time                = 0.9;0.35
light_height        = 1.5    

idle_light            = off

visible_by_detector = off

artefacts            = 

spawn_blowout_artefacts         = off

artefact_spawn_probability     = 0
artefact_spawn_particles    = 
artefact_born_sound             =  

throw_out_power                 = 0
artefact_spawn_height         = 0    

blowout_wind                = off

blowout_wind_time_start         = 0
blowout_wind_time_peak          = 300
blowout_wind_time_end        = 600
blowout_wind_power            = 0.9

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Спасибо, но...

Сам код в движке выглядит так

    case kSCORES:
        {
            SDrawStaticStruct* ss    = AddCustomStatic("main_task", true);
            SGameTaskObjective* o    = pActor->GameTaskManager().ActiveObjective();
            if(!o)
                ss->m_static->SetTextST    ("st_no_active_task");
            else
                ss->m_static->SetTextST    (*(o->description));

        }break;

Кроме статика в gamedata ничего не нашёл, возможно не там искал? Есть возможность без сборки движка импортировать недостающий функционал? Как  добраться до ActiveTask или ActiveObjective или типа того?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

vetalion без ковыряний движка не добавить ничего нового, только пользоваться тем, что разработчики вывели в скрипты (всякие функции, методы есть в lua_help.script, описание большинства есть в теме справочника по функциям и классам на амк). Легко можно получить только квесты, прописанные в task_manager.ltx (табличка self.active_task_by_type в task_manager.script), а вот с остальными квестами беда. Наверно, только велосипедами можно получить, не нашел ничего подходящего в lua_help. Поэтому предложил посмотреть реализацию в оп (лучше в оп-2, а не в 2.1, в оп 2 вроде не особо было движковых правок)


Дополнено 9 минуты спустя
3 часа назад, 1beer сказал:

нужно скриптово буквально на пару секунд закинуть на одну локу, а потом обратно

Скриптом поменять level.set_weather("секция", true), потом либо сама сменится либо снова поменять на обычную. Или отдельно эффект через level.set_weather_fx. С аномалией хороший вариант, но помню, что на склонах выглядело не очень, только на ровной поверхности красиво стелилась. Если на локации нет склонов, то аномалия пойдет

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

В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Спасибо. В оп 2.1 я сгенерил справку: Локация -->Квестовики --> Задания-Награды(чтобы не выходя из игры знать, что нести) с помощью их же скриптов, но там ничего не нашлось. В общем получилось как и предполагалось, что нельзя. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет! Подскажите, как можно организовать удар от НПС в морду актера? Может у кого есть готовая функция, чтобы ее можно было вызвать экшеном из диалога в нужном месте? Буду рад любым предложениям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Спасибо, это я видел.  Но в xr_effects.script - только проверка на присутствие оружия в руках и эффекты от удара, самой анимации удара нет. xr_abuse.script - как я понял, используется для вызова из логики НПС. Как там сама анимация удара задействуется не пойму - не на том уровне у меня скрипты.

Поэтому и подумал, может кто-нибудь уже знает ответ

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

muzafir добавить свою отдельную функцию, в которой будет вызов abuse и следом добавить эффект камеры с функции из xr_effects


В беге за рассветом приближаешь свой закат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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


Слишком огромная подпись.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Заработало! Может кому-нибудь пригодится:

function actor_punch(npc)
	if db.actor:position():distance_to_sqr(npc:position()) > 4 then
		return
	else
		npc:add_animation("udar_0")
	end
	
	set_inactivate_input_time(30)
	local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]])
	snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)

	level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "")		
end

Можно вызывать из диалога экшеном, тогда ГГ получит по морде от собеседника. Только перед вызовом этой функции вставьте стандартный 

<action>dialogs.break_dialog</action>

чтобы прервать диалог. Ну или засуньте это тоже в функцию.

Всем удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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