Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Stalker54, Если нужно полностью, то можно удалить у модели НПС шейп, а если нужен полупрозрачный то соответствующими шейдерами с прозрачностью. OP_artovod, Текстура trees_fuflo прозрачна только при определенном шейдере, на стандартном шейдере НПС она будет непрозрачной.
Сообщение отредактировал denis2000 - Пятница, 22.05.2020, 21:07
Вот скрипт, который присваивает надпись. Я хочу, чтобы если в руках нож была одна запись, а если нет - другая. И я сделал так:
Код
local character_use = (ini:r_string(self.object:section(), "character_use")) local character_not_use = "monstr_character_use" if db.actor:active_slot()==1 then self.object:set_tip_text(character_use) else self.object:set_tip_text(character_not_use) end
Но тут проблема, надпись присваивается в момент смерти мутанта, то есть, если я убил его ножом будет одна надпись, а если пистолетом - другая. Как сделать проверку каждую секунду для надписи, как в Update, чтобы она менялась при смене оружия?
Всем добра написал проверку для логики которая проверяет что выброс закончился, но с задержкой.
Цитата
function surge_complete_delay(p) local time_delay = time_global() + p[1] * 1000 return surge_manager.is_finished() or fallout_manager.is_finished() or psi_storm_manager.is_finished() and time_global() > time_delay end
Но я словил вылет
Код
Expression : !m_error_code Function : raii_guard::~raii_guard File : ..\xrServerEntities\script_storage.cpp Line : 748 Description : ...all of pripyat\gamedata\scripts\xr_conditions.script:1756: attempt to perform arithmetic on field '?' (a nil value)
Я так понял это из-за того что я помножил на p[1]. Если это так то можно это как то обойти? P.S И да у меня еще подключена атмосфера поэтому там ещё проверки на другие явления зоны.
Это неправильно. Параметр p передаётся третьим. Первые два - объект актора и объект того, откуда вызывается функция. Вот так верно:
Код
function surge_complete_delay(actor, npc, p)
Вылета не будет, но реализация функции выглядит очень сомнительно... Оно не будет работать так, как вы хотите. Выполнение происходит практически мгновенно и последнее выражение time_global() > time_delay никогда не успеет вернуть true.
function surge_complete_delay(actor, npc, p) local time_delay = time_global() + p[1] * 1000 if time_global() > time_delay then return surge_manager.is_finished() or fallout_manager.is_finished() or psi_storm_manager.is_finished() end end
Сообщение отредактировал Kelvin - Пятница, 22.05.2020, 23:28
Доброго времени суток, сделал метательный нож на классе болта (реализацию взял в Упавшей Звезде). Если метнуть нож в НПС который в данный момент выполняет работу на смарт кавере - хит нпс не наносится - hit_callback вообще не срабатывает. Для дефолтных работ на смарт каверах (типа stay_table, stay_wall - без указания Available_animations в логике) хит не срабатывает всегда, если указать другую анимку, то с некоторым хит срабатывает (например с ward), с некоторыми (jup_b41_novikov_stand) нет. В чем может быть причина? Конфиг ножа:
Есть место куда ГГ заходить нельзя чтобы люлей не получить, но если происходит выброс, то тогда можно туда заходить. И тут проблема сразу появляется. Если выброс закачивается глав герой сразу пулю получит потому что потому что по логике то время когда он может в данной зоне находится прошло. Вот хотел это при помощи скрипта сделать
Kelvin, а on_timer чем не подходит? После Выброса запускаем таймер, и по истечению времени переходим на схему в которой игрок погибнет, находясь этой зоне. Как пример.
Сообщение отредактировал molodoy_chelovek - Суббота, 23.05.2020, 00:01
makdm, не совсем, у меня добавлен лут у мутантов. Когда ты наводишь на мертвого мутанта то появляется надпись, мол "Собрать лут (F)". Вообщем мод "Мясника". Я хотел сделать проверку, что для разделки нужен нож. Я это сделал, все работает как надо, но я хотел изменить надпись, мол "Достаньте нож чтобы разделать", если в руках его нет. Но так получилось, что надпись определяется при смерти мутанта, то есть, когда умирает мутант, то ему присваивается надпись, в зависимости от того, был ли в тот момент в руках нож или нет. Например, убил ножом надпись с лутом, убил с ТОЗа - надпись "Достаньте нож", и она уже никак не измениться. А мне надо чтобы проверка была как бы динамичной и проверяла наличие в руках ножа каждую секунду.