Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Всем снова привет! Есть у меня 2 вопроса: 1) Каким образом можно проверить наличие определённого костюма, надетого на ГГ (не просто в инвентаре валяется, а надет). Помню в оригинале в путевопроводе такое есть: если надета "Сева", то тебя не бьют газы. Вот только сколько я не искал, ни в какую найти этот скрипт не могу. 2) Можно ли без изменения движка игры убрать эту туманность вдали. Чтоб нельзя было разглядеть что-либо дальше света фонаря.
function check_actor_outfit(outfit_sect) return db.actor:get_current_outfit() and db.actor:get_current_outfit():section() == outfit_sect end
Применение:
Код
return check_actor_outfit("stalker_outfit")
Или:
Код
if check_actor_outfit("stalker_outfit") then -- your code end
2) Редактировать погодные конфиги. Если дальность видимости выкручена на максимум и применены все возможные настройки конфигов против тумана, то можно увеличить дистанцию максимальной видимости в исходниках.
Overfirst и molodoy_chelovek, спасибо. Возникла ещё проблема. Решил задействовать в логике скрипты. Прописал в xr_conditions.script (туда ли?) в самый конец:
function actor_in_isolated_outfit() return mod_scripts.actor_in_isolated_outfit() end
Вылет, ругается на этот скрипт. Поменял чуть-чуть:
function actor_in_isolated_outfit() mod_scripts.actor_in_isolated_outfit() end
Снова вылет, такой-же. Файл есть, скрипт тоже. Сам делаю, копируя с другого скрипта. Если надо, вот лог:
FATAL ERROR
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : ..\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...er Зов Припяти\gamedata\scripts\xr_conditions.script:1751: attempt to index global 'mod_scripts' (a nil value)
stack trace:
(1751 строка - это как раз мой скрипт. Сам далеко (очень) не скриптер)
Prostomod, либо неверно указано имя файла со скриптом, либо в нем синтаксическая ошибка. Рекомендую проверить через script Syntax Checker.
molodoy_chelovek, в туториале по переносу локаций упоминался способ шаманства с лайтмапами - инвертирование каналов или что-то такое. Попробуйте поискать по таким запросам.
Как отключить музыку амбиент на локации ? (Вот эти к примеру zaton_day или zaton_night) Я нашел Схема sr silence (отключение динамической музыки), однако она не работала. НО решив зайти в скрипт sr_silence и понял, что оно отключает не то что мне нужно, а именно Музыку При Битве
Сообщение отредактировал RoboCat - Четверг, 29.08.2019, 11:19
function sg_ambient_normal(actor,npc,p) local v = xr_logic.pstor_retrieve(actor, 'sg_snd_volume_music', get_console():get_float("snd_volume_music")) get_console():execute("snd_volume_music "..tostring(v)) end
function sg_ambient_low(actor,npc,p) local v = get_console():get_float("snd_volume_music") xr_logic.pstor_store(actor, 'sg_snd_volume_music', v)
get_console():execute("snd_volume_music "..tostring(v / 4)) end
function sg_ambient_none(actor,npc,p) local v = get_console():get_float("snd_volume_music") xr_logic.pstor_store(actor, 'sg_snd_volume_music', v)
get_console():execute("snd_volume_music "..tostring(0)) end
Если полностью, то в файле configs\game_maps_single.ltx прописать уровню новую секцию, например, silent_section и в файле game_levels_music.ltx, также, прописать её [silent_section]
Из-за чего может не срабатывать on_signal = path_end? Вейпоинт сто процентов на аи сетке, и доходя до него нпс не смотрит в path_look. И может ли быть это связано с тем, что я где-то не прописал новую локацию, на которой эта проблема? Логика нпс эксклюзивная upd. поставил 2 вейпоинта (смарт_терреин_walker_1_walk и look), отключил этому нпс экслюзивную логику, он идет на этот вейпоинт но все так же не реагирует на look поинт, и при этом бесконечно говорит сталкерские фразы (типо "не зря я тут столько небо копчу" и т.п)
Сообщение отредактировал molodoy_chelovek - Четверг, 29.08.2019, 14:51
Я проверил скрипты с помощью script Syntax Checker, там была одна ошибка, которую исправил. Однако возникла следующая проблема - игра игнорирует скрипты вообще и продолжает работать как будто этих скриптов и нету. В логике прописано 100%, в xr_conditions.script есть ссылка на файл со скриптом, в котором скрипт тоже есть.
Prostomod, Почему Вы не скидываете саму функцию? может она и работает, но не так как Вам нужно. Давать подсказки в таком случае - что пальцем в небо тыкать. Я бы мог подсказать, но не понимаю как скрипт от Overfirst используется в логике.
Сообщение отредактировал molodoy_chelovek - Четверг, 29.08.2019, 13:14
!actor_in_isolated_outfit - это проверка что на ГГ не надет нужный комбез. Теперь скрипт в xr_conditions.script:
function actor_in_isolated_outfit() mod_scripts.actor_in_isolated_outfit() end
Сделал ссыль на файл mod_scripts.script (чтоб не разбрасываться скриптами, решил их все перенести в один файл). Вот как выглядит функция (у меня 2 варианта опробовано):
function actor_in_isolated_outfit() local outfit_in_slot=db.actor:item_in_slot(7) if outfit_in_slot:section()=="scientific_outfit" or outfit_in_slot:section()=="svoboda_scientific_outfit" or outfit_in_slot:section()=="dolg_scientific_outfit" or outfit_in_slot:section()=="monolith_scientific_outfit" or outfit_in_slot:section()=="ecolog_outfit" then return true end end
Использовался и вариант 2:
function actor_in_isolated_outfit() if check_actor_outfit("scientific_outfit") then return true elseif check_actor_outfit("svoboda_scientific_outfit") then return true elseif check_actor_outfit("dolg_scientific_outfit") then return true elseif check_actor_outfit("monolith_scientific_outfit") then return true elseif check_actor_outfit("ecolog_outfit") then return true end end
и функция check_actor_outfit в этом же файле:
function check_actor_outfit(outfit_sect) return db.actor:get_current_outfit() and db.actor:get_current_outfit():section() == outfit_sect end
Думал так сделать: функции проверяют надет ли нужный костюм на ГГ (задел на будущее), а в логике у меня стоит условие что на ГГ не одет нужный костюм (если надет - то ничего происходить не должно). Для теста использовал ecolog_outfit, перед входом в рестриктор надел его. Однако логика переключилась на следующую секцию, несмотря на костюм. Есть ещё несколько функций, которые сделаны абсолютно аналогичным способом. Если надо - могу и их показать. Скрипты, напомню, проверены с помощью script Syntax Checker.
Сообщение отредактировал Prostomod - Четверг, 29.08.2019, 15:56