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

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

 
 

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

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


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

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

  • Лайк 1

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

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


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

Всем привет! Помогите, пожалуйста, советом: как получить через скрипт активное задание или строковое представление его 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

 

 

  • Лайк 1

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


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

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

  • Спасибо 1

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

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


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

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


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

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


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

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

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>

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

Всем удачи!

  • Хабар 1

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


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

1beer в оригинале никак, только удалить и заспавнить новый, на огср движке через move_to_ruck


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

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


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

1beer в оригинале никак, только удалить и заспавнить новый, на огср движке через move_to_ruck

а есть ли пример с move_to_ruck?


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

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


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

1beer что-то вроде db.actor:move_to_ruck(obj), нет щас под рукой ничего с огср. Объект в слоте получить можно так db.actor:item_in_slot(слот)

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

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

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


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

подскажите как выключить уборщик трупов в оп 2.2. сам скрипт


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

как сделать чтобы аптечки лечили постепенно?

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


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

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

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

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

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

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

Войти

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

Войти

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

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