Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 3 924 Опубликовано 13 февраля, 2022 stalker032 Можно писать столько условий, сколько хочешь. Точно так же с функциями, выдачей и отбиранием инфопоршней. on_info = {+info1 +info2 -info3 =actor_has_item(item)} %=func1 +info4 +info5% sr_idle@start Ну и если тебе надо два условия, которые переходят в разные секции пиши так: on_info = {+info1} sr_idle@start on_info2 = {+info2} sr_idle@end А вообще, по поводу логики есть отличная статья, к которой я обычно обращаюсь: Логика Сталкера Там всё разделено по частям, для НПС, SR и PH, ну и прочее, по типу "колбеков". Почитай на досуге. 1 Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 13 февраля, 2022 Neptun о спасибо большое, ты лучший! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 13 февраля, 2022 Ладно, настало время и мне что-то спросить) Существует ли функция, вызываемая из логики, проверяющая, что НПС в данный момент начал выполнять свою работу? Именно начал, а не идёт её выполнять. В программировании мало что понимаю, но беглый осмотр скриптов навёл на пару функций, которые вроде как оно, но как вызвать их проверку - не очень понял, а примеров в игре нет. И второе тоже касается скриптов. На базе анимпоинта делаю спящих сталкеров (sleeper не очень удобен и не очень подходит в моём случае), через play_sound воспроизвожу звуки сна из соответствующей папки. В целом норм, но хотелось бы, чтоб они храпели не безостановочно. Есть ли более цивилизованный способ? Может, в файлах есть или кто-то писал функцию проигрывания рандомно берущихся из папки звуков с рандомным же периодом? Смотрел, как это у раненых реализовано, но руками не трогал, ибо большую часть кода не разобрал) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shadept 11 Опубликовано 13 февраля, 2022 (изменено) 8 часов назад, Крим сказал: У тебя ошибка. В active написано - animpoint, а в логике НПС есть только animpoint@plateau_stalker_exclusive_questnpc. Просто пропиши в active = animpoint@plateau_stalker_exclusive_questnpc И все заработает. Тут советую все-таки написать какой-нибудь другой инфопоршень. Например, give_gauss_info Дополнено 1 минуту спустя Здесь ты кое-что перепутал. level_spot = quest_npc, trade = trader\mechanic\medic\guider\quest_npc Дополнено 4 минуты спустя Если видишь подобное в вылете, то это значит, что игра что-то не может открыть. В твоем случае, секцию с логикой. Но я могу и ошибаться. Тут новая ошибка появилась. Спойлер FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...ker call of pripyat\gamedata\scripts\xr_logic.script:939: bad argument #1 to 'gfind' (string expected, got nil) stack trace: ХЗ чё не так. Может формат не тот где-то в скрипте. Спойлер [logic@plateau_stalker_exclusive_questnpc] active = animpoint@plateau_stalker_exclusive_questnpc suitable = {=check_npc_name(plateau_stalker_exclusive_questnpc)}true prior = 90 level_spot = trader\mechanic\medic\guider\quest_npc trade = quest_npc [animpoint@plateau_stalker_exclusive_questnpc] use_camp = false meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = false gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false cover_name = plateau_stalker_exclusive_debil_animpoint on_info = {+infoportion} %=give_item(wpn_gauss)% Изменено 13 февраля, 2022 пользователем shadept Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 февраля, 2022 1 минуту назад, shadept сказал: level_spot = trader\mechanic\medic\guider\quest_npc trade = quest_npc Попробуй это исправить. Ошибки не видишь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shadept 11 Опубликовано 13 февраля, 2022 (изменено) 39 минут назад, Крим сказал: Попробуй это исправить. Ошибки не видишь? А. Всё, понял. Просто туториал одного челика смотрел по эксклюзивным персам и чуть читал stalkerin Дополнено 3 минуты спустя 39 минут назад, Крим сказал: Попробуй это исправить. Ошибки не видишь? Исправил. Игра ещё крашится с такой же ошибкой. Может ещё что-то забыл, но нету с чем сверить. UPD: Исправил всё. Дополнено 46 минуты спустя У меня вот другая проблема теперь - кастомный портрет для квестового перса не работает. Указал правильно координаты и всё в XML, имя тоже указал в character_desc и ui_actor_portrets одинаковое, но в игре просто синий прямоугольник. Изменено 13 февраля, 2022 пользователем shadept Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
stalker032 5 Опубликовано 13 февраля, 2022 FATAL ERROR [error]Expression : ai().level_graph().valid_vertex_id(vertex->data().level_vertex_id()) [error]Function : CPatrolPathManager::select_point [error]File : D:\prog_repository\sources\trunk\xrGame\patrol_path_manager.cpp [error]Line : 173 [error]Description : patrol path[esc_arm_base_chasleep13_walk], point on path ["wp01|a=sleep"],object [esc_arm_base_patrule_40195] stack trace: В чём беда? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 13 февраля, 2022 stalker032 Вроде точка пути не на АИ-сетке. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 февраля, 2022 (изменено) shadept Новые иконки нужно прописывать в прочих файлах. Сам не знаю, как делать. Попробуй поискать гайды на ютубе или в интернете. Изменено 13 февраля, 2022 пользователем Крим Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
stalker032 5 Опубликовано 13 февраля, 2022 (изменено) stack trace: 0023:0A30E8B3 xrGame.dll, CDialogHolder::CDialogHolder() 0023:0A30FB45 xrGame.dll, CDialogHolder::CDialogHolder() 0023:05DEA5B4 lua.JIT.1.1.4.dll, lua_getinfo() 0023:05DEA898 lua.JIT.1.1.4.dll, lua_getinfo() 0023:05DE20A5 lua.JIT.1.1.4.dll, lua_call() 0023:05DEAAE8 lua.JIT.1.1.4.dll, lua_yield() 0023:03979DC6 luabind.beta7-devel.rc4.dll, luabind::detail::pcall() а здесь, в чём проблем? upd: Вылет вылечил, но это связано с логикой, если я правильно понял. Изменено 13 февраля, 2022 пользователем stalker032 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 13 февраля, 2022 shadept Вот, нашел Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shadept 11 Опубликовано 13 февраля, 2022 1 минуту назад, Крим сказал: shadept Вот, нашел Иконки (Скрыть контент) Оказывается я забыл положить ui_actor_portrets.xml в textures_descr. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Daniil1989 22 Опубликовано 13 февраля, 2022 Как сделать состояние похмеля у гг. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
stalker032 5 Опубликовано 13 февраля, 2022 Спойлер Destroying Direct3D... * RM_Dump: textures : 0 * RM_Dump: rtargets : 0 * RM_Dump: vs : 0 * RM_Dump: ps : 0 * RM_Dump: dcl : 0 * RM_Dump: states : 0 * RM_Dump: tex_list : 0 * RM_Dump: matrices : 0 * RM_Dump: lst_constants: 0 * RM_Dump: v_passes : 0 * RM_Dump: v_elements: 0 * RM_Dump: v_shaders : 0 refCount:pBaseZB 1 refCount:pBaseRT 1 DeviceREF: 1 В чём причина вылета, кто знает? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 13 февраля, 2022 Есть ли проверка на попадание в части тела нпс, к примеру в голову? было же вроде где-то Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
shadept 11 Опубликовано 13 февраля, 2022 Ребят, куда вписать файл таск менеджера кастомной локации (tm_location.ltx) чтобы он в игре читался и работал? В system.ltx не нашел его. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 506 Опубликовано 14 февраля, 2022 stalker032 это лог норм завершения игры, а не вылета. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 февраля, 2022 2 часа назад, Paradox27kms сказал: Есть ли проверка на попадание в части тела нпс, к примеру в голову? было же вроде где-то Проверяется только через hit нужного НПС: {=hitted_on_bone(bip01_head)} - проверка, чтобы был нанесён хит по голове. 2 часа назад, shadept сказал: Ребят, куда вписать файл таск менеджера кастомной локации (tm_location.ltx) чтобы он в игре читался и работал? В system.ltx не нашел его. gamedata\configs\misc\task_manager.ltx Дополнено 9 минуты спустя 10 часов назад, Daniil1989 сказал: Как сделать состояние похмеля у гг. Выпей водки. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 14 февраля, 2022 (изменено) А есть возможность создать функцию, которая отключает и активирует определенное количество аномалий? Подскажите. Изменено 14 февраля, 2022 пользователем Крим Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 февраля, 2022 4 минуты назад, Крим сказал: А есть возможность создать функцию, которая отключает и активирует определенное количество аномалий? Подскажите. Юпитер, задание Аномальное растение: там не спавн аномалий, а их включение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 14 февраля, 2022 Neptun благодарю, надо попробовать Дополнено 57 минуты спустя Neptun а где найти список остальных костей? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 14 февраля, 2022 2 часа назад, Paradox27kms сказал: где найти список остальных костей? Загружаете модель в SDK Actor Editor, включаете отображение шейпов, выбираете нужный и смотрите сустав к которому этот шейп привязан. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 14 февраля, 2022 denis2000 Зачем? Я нашел в mp_actor.ltx default = 1.0, -1, 0.1 bip01_pelvis = 0.25, 15, 0.8 ;от ядра до пояса bip01_spine = 0.3, 15, 0.8 ;в основном без шейпа bip01_spine1 = 0.4, 15, 0.8 ;торс до шеи bip01_spine2 = 0.4, 15, 0.8 bip01_neck = 1.25, 5, 0.1 ;в основном без шейпа bip01_head = 2, 5, 0.1 ;очень большой шейп eye_left = 3, 5, 0.1 ;глаза eye_right = 3, 5, 0.1 ;глаза jaw_1 = 1.25, 5, 0.1 ;рот от шеи до носа bip01_l_clavicle = 0.4, 15, 0.8 ;плечо + bip01_spine1 bip01_l_upperarm = 0.3, 6, 0.6, 1 ;0.2 bip01_l_forearm = 0.3, 6, 0.5, 1 ; bip01_l_hand = 0.2, 6, 0.2, 1 ;было 0.15 bip01_l_finger0 = 0.2, 6, 0.2, 1 bip01_l_finger1 = 0.2, 6, 0.2, 1 bip01_l_finger2 = 0.2, 6, 0.2, 1 bip01_r_clavicle = 0.4, 15, 0.8 ;плечо + bip01_spine1 bip01_r_upperarm = 0.3, 4, 0.6, 1 bip01_r_forearm = 0.3, 4, 0.5, 1 bip01_r_hand = 0.2, 4, 0.2, 1 bip01_r_finger0 = 0.2, 4, 0.2, 1 bip01_r_finger1 = 0.2, 4, 0.2, 1 bip01_r_finger2 = 0.2, 4, 0.2, 1 bip01_l_thigh = 0.3, 12, 0.5 ;бедро bip01_l_calf = 0.25, 12, 0.4 ;голень bip01_l_foot = 0.15, 12, 0.3 ;пятка,1 bip01_l_toe0 = 0.15, 12, 0.2 ;пальцы,1 bip01_r_thigh = 0.3, 9, 0.5 ;бедро bip01_r_calf = 0.25, 9, 0.4 ;голень bip01_r_foot = 0.15, 9, 0.3 ;пятка,1 bip01_r_toe0 = 0.15, 9, 0.2 ;пальцы,1 Дополнено 0 минут спустя Существует ли проверка из какого оружия был убит НПС? например если с ножа то... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 февраля, 2022 17 минут назад, Paradox27kms сказал: Существует ли проверка из какого оружия был убит НПС? например если с ножа то... По-моему, такое отследить невозможно, но можно отследить из какого оружия ГГ убил НПС. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paradox27kms 15 Опубликовано 14 февраля, 2022 Neptun в студию если не сложно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты