-
Публикаций
687 -
Зарегистрирован
-
Посещение
-
Победитель дней
9
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент Neptun
-
Должны быть выполнены все условия. function bar_balamut_kpk_items(first_speaker, second_speaker) local item_sections = { [1] = "device_pda_quest_bar" } local needed = 5 local count = 0 local item_section local function calc(temp, item) if item:section() == item_section then count = count + 1 end end for k,v in pairs(item_sections) do item_section = v get_story_object("actor"):iterate_inventory(calc, actor) -- printf("?bar_balamut_kpk_items? : section [%s] count [%s]", tostring(v), tostring(count)) end return count >= needed end function bar_relocate_items_balamut(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "device_pda_quest_bar", 3) end
-
=enable_ui() Без скобок. %=run_postprocess(black:1:false)% У тебя уже написано false, этот процесс не надо останавливать, хотя это не влияет на игру, просто к слову. Дополнено 1 минуту спустя После взаимодействия с тутором логика уходит в nil, как я понимаю. Так вот, останавливать тутор уже не надо. Дополнено 2 минуты спустя Можно сделать и так: =turn_on(second_level_light_2:second_level_light_3)
-
Что, правда? Вы тестировали на СЛЕПОЙ СОБАКЕ? [hit@dog_1] on_info = {=hitted_on_bone(bip01_head)} %=messege_head_shot%, {!hitted_on_bone(bip01_head)} %=messege_loser% Как бы я не изворачивался, но всё время прилетало сообщение, что я промахнулся, то есть срабатывала вторая часть проверки. Дополнено 25 минуты спустя Серьёзно, именно этой гадской собаке невозможно сделать хедшот.
-
Тип звука: undefined. Дополнено 4 минуты спустя Ну, смотри, одна функция выключает фонарик, другая - включает: function disable_actor_torch(actor, npc) local torch = db.actor:object("device_torch") if torch ~= nil and torch:torch_enabled() then torch:enable_torch(false) actor_torch = true end end function enable_actor_torch(actor, npc) db.actor:object("device_torch"):enable_torch(true) end Осталось написать скрипт, который бы вызывал их поочерёдно с радномным интервалом времени.
-
gamedata\scripts\cam_effector_sets.script В конце создаёшь секцию, типа: название_секции = { start = { }, idle = { {anim = "scenario_cam\\путь\\кат_сцена_1", looped = "false", global_cameffect = true}, {anim = "scenario_cam\\путь\\кат_сцена_2", looped = "false", global_cameffect = true}, }, finish = { } } А потом просто запускаешь как обычную кат-сцену, только изменена будет эта строчка: cam_effector = название_секции Ну и глобальный эффект можешь не прописывать, так как он уже учтён.
-
on_info = {+info} %=spawn_art_anomal_zone(аномальная_зона:артефакт)% В xr_effects.script добавить: function spawn_art_anomal_zone(actor, obj, p) _g.add_art(p[1], p[2]) end В _g.script добавить: function add_art(zone_name, art_section) local binder = db.anomaly_by_name[zone_name] binder:set_forced_override(art_section) binder:spawn_artefact_randomly() end
-
В meet данного НПС добавь строчки: close_anim = nil close_victim = nil far_anim = nil far_victim = nil Дополнено 0 минут спустя Это тема по ЗП. Дополнено 6 минуты спустя Создаёшь рестриктор на этой локации и самое банальное: [logic] active = sr_idle@process [sr_idle@process] on_info = {=actor_on_level(локация)} %=процесс% on_info2 = {+info} sr_idle@nil [sr_idle@nil] Рандомные звуки для кого? Для ГГ, для НПС, для объекта. Без названных параметров суть будет в этих строчках: path = путь\название_ shuffle = rnd Потом в папку со звуками кидаешь свои дорожки с именами: название_1, название_2 и тд.