Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Народ! Интерфейс в моде делал ещё лет 6-7 назад, имеется ввиду миникарта, горячие клавиши и всё что находится в левом нижнем углу, напомните пожалуста все ресурсы которые задействованы для этого, просто тупо не помню..((
В чем проблема? [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : ..\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...all of pripyat\gamedata\scripts\bind_campfire.script:48: attempt to index field 'actor' (a nil value)
Здравствуйте, возникла тут проблема: При торговле в Сидоровичем, а именно при попытке что-то купить или продать происходит вылет:
FATAL ERROR
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : ..\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ....r. call of pripyat\gamedata\scripts\xr_logic.script:603: attempt to call field '?' (a nil value)
stack trace:
Игра жалуется на эту функцию, конкретней то, что выделенно красным:
function pick_section_from_condlist(actor, npc, condlist) local rval = nil -- math.random(100)
local newsect = nil local infop_conditions_met for n, cond in pairs(condlist) do infop_conditions_met = true -- изначально считаем, что все условия переключения удовлетворены for inum, infop in pairs(cond.infop_check) do if infop.prob then if not rval then rval = math.random(100) end if infop.prob < rval then infop_conditions_met = false -- инфопоршен есть, но он не должен присутствовать break end elseif infop.func then if not xr_conditions[infop.func] then if type(npc.name) == "function" then abort("object '%s': pick_section_from_condlist: function '%s' is " .."not defined in xr_conditions.script", npc:name(), infop.func) else abort("object '%s': pick_section_from_condlist: function '%s' is " .."not defined in xr_conditions.script", tostring(npc.name), infop.func) end end --if xr_conditions[infop.func](actor, npc) then if infop.params then if xr_conditions[infop.func](actor, npc, infop.params) then if not infop.expected then infop_conditions_met = false -- инфопоршен есть, но не должен присутствовать break end else if infop.expected then infop_conditions_met = false -- инфопоршен есть, но не должен присутствовать break end end else if xr_conditions[infop.func](actor, npc) then if not infop.expected then infop_conditions_met = false -- инфопоршен есть, но не должен присутствовать break end else if infop.expected then infop_conditions_met = false -- инфопоршен есть, но не должен присутствовать break end end end elseif has_alife_info(infop.name) then if not infop.required then infop_conditions_met = false -- инфопоршен есть, но он не должен присутствовать break else -- end else if infop.required then infop_conditions_met = false -- инфопоршена нет, но он нужен break else -- end end end if infop_conditions_met then -- Условия выполнены. Независимо от того, задана ли секция, нужно проставить требуемые -- infoportions: for inum, infop in pairs(cond.infop_set) do if db.actor == nil then abort("TRYING TO SET INFOS THEN ACTOR IS NIL") end if infop.func then if not xr_effects[infop.func] then abort("object '%s': pick_section_from_condlist: function '%s' is " .."not defined in xr_effects.script", if_then_else(npc, npc:name(), "nil"), infop.func) end if infop.params then xr_effects[infop.func](actor, npc, infop.params) else xr_effects[infop.func](actor, npc) end elseif infop.required then if not has_alife_info(infop.name) then actor:give_info_portion(infop.name) end else if has_alife_info(infop.name) then disable_info(infop.name) end end end if cond.section == "never" then return nil else return cond.section end end end return nil end
В скриптах, я не хорош. Подскажите, пожалуйста, в чем проблема?
Я написал схему поведения для НПС с одним action, она нормально работает, потом прекондишины отрубают мой экшен, подключается алайф экшен, НПС начинает просто "гулять". Затем я снова загоняю НПС в схему поведения, во 2й раз все идет не как должно - у экшена (не алайф) срабытывает метод activate_scheme и все, метод execute не работает совсем, НПС топчится на месте. Скрипт схемы поведения.
Добро. А можно вынудить НПС использовать только одно конкретное оружие, даже если в инвентаре у него будет ствол лучше? Например, использование только ПМ.