Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
Всем привет! Я практически полный ноль в скриптах, только начал осваивать азы, задам вопрос глупый наверное, но все таки.
В файле bind_physic_object.script в функции update зарегистрированы коллбэки для объектов с секцией "drop_box", и по идее когда эти объекты уходят в оффлайн или разрушаются, коллбэки нужно ведь убрать в функциях net_destroy() и death_callback. Прописать в них следующее self.object:set_callback(callback.death, nil) и т.д. Есть смысл это прописывать, или коллбеки автоматически "умирают" вместе с разрушенным деревянным ящиком к примеру? Просто хочется понять, как будет правильно.
Доброго дня! Столкнулся с проблемой следующего рода: после редактирования непися тот перестаёт общаться с гг, то есть исчезает кнопка разговор. С чем это может быть связано? Анимации и иммунитет прописаны как у изначальной модели. И ещё вопрос в дагонку: не как не могу понять как в оригинальном зове припяти реализованы квесты на пойди принеси, т.е. Тот же квест от коряги, где можно закончить квест, не беря задание, просто отдав ящик, или квест от сыча на принести ноут, каким образом после того как гг приносит ноут не появляется диалог на взятие диалога? Подозреваю, что после взятии предмета даётся инфопоршень с закрытием диалога на сам квест. Каким образом сие реализовано на самом деле?
CorsaiR, Для начала далеко не каждый физ объект биндиться в принципе (см функцию init), далее колбеки прикручиваются к объектам по определенным условиям: наличие в спавне секции drop_box, а таких объектов ЗП ровно НОЛЬ! или класс inventory_box. Далее при уничтожении объекта естественно не будет вызова и колбеков для него (вот только inventory_box не уничтожить!).
ЦитатаHoperise ()
после редактирования непися тот перестаёт общаться с гг
Чего редактировали то!? #ТЕЛЕПАТОВ_НЕТ!
Сообщение отредактировал denis2000 - Вторник, 25.09.2018, 14:17
denis2000, на работающую (модель, которую успел опробовать нормально работает) модель фаната надел кепку в зп. До этого все работало. До этого пробовал корректировать и другие модели, но все работало как часы.
Сообщение отредактировал Hoperise - Вторник, 25.09.2018, 17:37
Решил вывести [ПЕРЕЗАРЯДКА] на экран после того, как осталось 5 патронов в bind_stalker.script, но попробовал его сделать примером выдачи сообщения о чрезмерном кол-ве радиации. Вылетает.
скрипт вывода сообщения о радиации:
--' Вывод сообщения о большой радиации if self.object.radiation >= 0.7 then local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static == nil then hud:AddCustomStatic("cs_radiation_danger", true) hud:GetCustomStatic("cs_radiation_danger"):wnd():TextControl():SetTextST("st_radiation_danger") end else local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static ~= nil then hud:RemoveCustomStatic("cs_radiation_danger") end end
мой скрипт вывода сообщения о малом количестве патронов:
if self.object.ammo >= 5 then local hud = get_hud() local custom_static = hud:GetCustomStatic("reloading_vivod") if custom_static == nil then hud:AddCustomStatic("reloading_vivod", true) hud:GetCustomStatic("reloading_vivod"):wnd():TextControl():SetTextST("st_reload_vivod") end else local hud = get_hud() local custom_static = hud:GetCustomStatic("reloading_vivod") if custom_static ~= nil then hud:RemoveCustomStatic("reloading_vivod") end 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 : ...call of pripyat\gamedata\scripts\bind_stalker.script:320: attempt to compare number with nil
sergej5500, Я прописал все новые артефакты в секцию велеса в devices.ltx, и он не видит никаких артов. Ни 1ого, ни 2ого, ни 3его уровней. А сварог видит абсолютно все. Возможно я криво их вписал? Влияет ли как-то нумерация артефактов в этом файле?
Конечно, влияет! Странно, что вы по порядку не стали писать, ведь предыдущие секции артефактов все идут по порядку возрастания.
Просто видел в каком-то моде, там не было нумерации по порядку. От 1 до n, но вразброс, я так же и сделал... Попробую сегодня прям по порядку все сделать.
Для начала далеко не каждый физ объект биндиться в принципе (см функцию init), далее колбеки прикручиваются к объектам по определенным условиям: наличие в спавне секции drop_box, а таких объектов ЗП ровно НОЛЬ! или класс inventory_box. Далее при уничтожении объекта естественно не будет вызова и колбеков для него (вот только inventory_box не уничтожить!).
Да об этом я в курсе. На самом деле мне вопрос нужно было задать в вопроснице по ТЧ, но тема там неактивная, пока дождешься ответа... В ТЧ как раз таки деревянные ящики по drop_box биндятся, а вот в ЗП они биндятся по секции logic, которая там active = nil, но все таки.
Не подскажешь в какой функции лучше регать коллбэки - в reinit или update, и в чем разница.
Сообщение отредактировал CorsaiR - Среда, 26.09.2018, 19:53
Народ! Пытаюсь вернуть в саркофаг голограмму осознания, получаю вылет
FATAL ERROR
[error]Expression : !m_DefaultCharacters.empty() [error]Function : CSE_ALifeTraderAbstract::specific_character [error]File : D:\prog_repository\sources\trunk\xrServerEntities\xrServer_Objects_ALife_Monsters.cpp [error]Line : 351 [error]Description : no default specific character set for class [error]Arguments : osoznanie