Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Чистое Небо. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 4 3 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 3 мая, 2023 imcrazyhoudini braindead = true, нужен, если хотите чтобы монстр заагрился после хита по нему combat_ignore_cond = always? Не работает? Хм... А попробуйте combat_ignore_cond = true Остается вариант со схемой ремарк с анимацией jump. Может быть вариант и с mob_walker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 3 мая, 2023 2 часа назад, Mass сказал: combat_ignore_cond = always? Не работает? Хм... А попробуйте combat_ignore_cond = true это схемы для НПС 2 часа назад, Mass сказал: braindead = true, нужен, если хотите чтобы монстр заагрился после хита по нему и снова промах - braindead как раз является тем параметром, после которого монстр игнорит даже после хита по нём 2 часа назад, Mass сказал: Остается вариант со схемой ремарк с анимацией jump. если бы анимацию удлинить как-то... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 3 мая, 2023 (изменено) 12 минут назад, imcrazyhoudini сказал: это схемы для НПС С чего вы взяли, даже не проверяя, что эти параметры юзают только нпс? 12 минут назад, imcrazyhoudini сказал: и снова промах - braindead Ах, да! Пересмотрел скрипт. В зп его нет! Я перепутал с другим параметром. А что за анимацию используете? Изменено 3 мая, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 3 мая, 2023 36 минут назад, Mass сказал: С чего вы взяли, даже не проверяя, что эти параметры юзают только нпс? оверрайды монстров оверрайды нпс и я как раз проверял это в игре, оверрайды нпс никаким образом не влияют на монстров 38 минут назад, Mass сказал: А что за анимацию используете? для прыжка? ну, там их три: boloto_jump_prepare, boloto_jump_fly, boloto_jump_end подготовка-прыжок-завершение и вот вторую бы удлинить Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 3 мая, 2023 (изменено) 1 час назад, imcrazyhoudini сказал: оверрайды монстров оверрайды нпс Здесь настройки для ТЧ! В ЧН разрабы добавили xr_combat_ignore с кондлистом для мобов( см xr_logic). Уже в ЧН надобность только для монстров оверрайдов отпала, поэтому в ЗП это порезали! 1 час назад, imcrazyhoudini сказал: и вот вторую бы удлинить может быть вот так? Не проверял action(self.object, anim("boloto_jump_fly"), look(look.point, db.actor:position()), cond(cond.time_end, 5500)) --'cond.anim_end Я посмотрел снова скрипт mob_remark. Возможно стоит играться с настройкой time в логике задать при анимке хоть 10000 и посмотреть на результат. Самому интересно что выйдет. Изменено 3 мая, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass нашёл баг - braindead не работает в mob_remark судя по всему Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 17 минут назад, imcrazyhoudini сказал: braindead не работает Настроек по аналогии alife_mode нет в mob_remark! Есть лишь в mob_walker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass блин, хреново, как же заставить монстра быть безобидным Дополнено 0 минут спустя Mass не понимаю, почему не работает (не отыгрывает анимацию даже первую): Спойлер [logic] active = mob_walker [mob_walker] path_walk = blood_walk path_look = blood_look braindead = true state = vis on_info = {+test_jump} mob_remark [mob_remark] target = blood_look,0 anim = boloto_jump_prepare braindead = true combat_ignore_cond = true on_signal = anim_end | mob_remark@2 [mob_remark@2] target = blood_look,0 anim = boloto_jump_fly braindead = true time = 5000 combat_ignore_cond = true on_signal = anim_end | mob_remark@3 [mob_remark@3] target = blood_look,0 anim = boloto_jump_end braindead = true combat_ignore_cond = true on_signal = anim_end | mob_walker Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 (изменено) Потому что не стоит всему доверять из ВИКИ! Смотрите сам скрипт! Параметра target нет вовсе! Также вметсо сигнала anim_end нужно использовать action_end Хотите чтобы braindead работал. Так сделайте его сами. в set_scheme пропишите st.alife_mode = mob_alife_mgr.cfg_get_mode(ini, section, npc) и в метод update добавьте проверку в самый вверх if mob_alife_mgr.alife_control(self.object, db.actor, self.st.alife_mode) then return end Изменено 4 мая, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass Спойлер [logic] active = mob_walker [mob_walker] path_walk = blood_walk path_look = blood_look braindead = true state = vis on_info = {+test_jump} mob_remark [mob_remark] anim = boloto_jump_prepare on_signal = action_end | mob_remark@2 [mob_remark@2] anim = boloto_jump_fly time = 5000 on_signal = action_end | mob_remark@3 [mob_remark@3] anim = boloto_jump_end on_signal = action_end | mob_walker не работает анимка Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 2 минуты назад, imcrazyhoudini сказал: не работает анимка Попробуйте добавить в логику anim_movement = true Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ferveks 140 Опубликовано 4 мая, 2023 Разве прыжок не в схеме чот-там-jumper или как-то так должен задаваться? Поющий Немо Группа VK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Ferveks только снорки умеют этой схемой пользоваться Дополнено 3 минуты спустя Mass не, не пашет чёрт знает в чём прикол... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 (изменено) 13 минут назад, imcrazyhoudini сказал: чёрт знает в чём прикол Остается муторное дело-делать с помощью биндера. Создаете нового кровососа со спец секции и уже на апдейте проверяете находится ли он рядом. Берете его под контроль скрипта делаете анимацию и отвязываете от скрипта Еще можно попробовать повозиться с mob_walker, и когда кровосос делает прыжок, в путях прописать t=100000. Как проверка подойдет Изменено 4 мая, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass знать бы почему anim не считывается... даже другие анимки не отыгрывает хотя по консоли - точно переходит в mob_remark Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 2 часа назад, imcrazyhoudini сказал: знать бы почему anim не считывается. У меня заработало! Чтобы заюзать анимку boloto_jump_prepare нужно не использовать anim, а создать новую настройку anims в схеме и в ресет заюзать этот метод action(self.object, anim(self.st.anims), sound(sound.idle), cnd) Потому что тогда скрипт пытался проиграть анимацию при помощи пространство имен anim, та мэтой анимации не находилось вот и монстр тупил Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass можно пожалуйста полный пример того что вы сделали? а то я в этом дуб-дубом Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 mob_remark.script imcrazyhoudini Это черновая работа Юзать только anims = "ваша анимка" Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass а переход в следующую секцию по окончании anims есть, или как? on_signal = anims_end? или как? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 imcrazyhoudini Можно через on_info, on_timer... 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass взял ваш скрипт, вылет потом впихнул в ваш скрипт это, в function mob_remark:reset_scheme() 56 минут назад, Mass сказал: action(self.object, anim(self.st.anims), sound(sound.idle), cnd) просто эту строку, без ничего, пред end, вылет, безлоговый думаю что-то может я не так впихнул? логика такая у меня Спойлер [mob_remark] anims = boloto_jump_prepare braindead = true state = vis on_game_timer = 10 | mob_remark@2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 (изменено) 4 минуты назад, imcrazyhoudini сказал: потом впихнул в ваш скрипт это, в function mob_remark:reset_scheme() Ничего не надо было делать Лучше конечно через сигнал on_signal = action_end | mob_remark@2 Тогда монстр точно отыграет свой экшен и перейдет в другую секцию Дополнено 2 минуты спустя 4 минуты назад, imcrazyhoudini сказал: braindead А вот это можете впихнуть как я писал выше Изменено 4 мая, 2023 пользователем Mass Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 Mass ваш скрипт + логика которая указана сверху: Спойлер * loading script mob_remark.script FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrServerEntities\script_engine.cpp [error]Line : 180 [error]Description : <no expression> [error]Arguments : LUA error: C++ exception stack trace: 0x00000000EA302506 xrCore.dll, _Init_thread_footer + 86 byte(s), D:\a\_work\1\s\src\vctools\crt\vcstartup\src\misc\thread_safe_statics.cpp, 247 0x00000000EA3203CF xrCore.dll, xrDebug::backend + 191 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrCore\xrDebugNew.cpp, 178 0x00000000EA3209CF xrCore.dll, xrDebug::fatal + 143 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrCore\xrDebugNew.cpp, 308 0x00000000E8BCAF53 xrGame.dll, CScriptEngine::lua_error + 163 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrServerEntities\script_engine.cpp, 184 0x00000000E9068C11 xrGame.dll, CScriptBinderObjectWrapper::shedule_Update + 145 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\script_binder_object_wrapper.cpp, 85 + 126 byte(s) 0x00000000E8E9C5BB xrGame.dll, CGameObject::shedule_Update + 123 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\GameObject.cpp, 842 0x00000000E8E81FD7 xrGame.dll, CEntity::shedule_Update + 23 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\Entity.cpp, 329 0x00000000E8E84DC2 xrGame.dll, CEntityAlive::shedule_Update + 18 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\entity_alive.cpp, 218 0x00000000E8E37854 xrGame.dll, CCustomMonster::shedule_Update + 356 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\CustomMonster.cpp, 339 0x00000000E8CFFE24 xrGame.dll, CBaseMonster::shedule_Update + 20 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\ai\Monsters\BaseMonster\base_monster.cpp, 237 0x00000000E8D09BCE xrGame.dll, CAI_Bloodsucker::shedule_Update + 14 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\ai\Monsters\Bloodsucker\bloodsucker.cpp, 459 0x000000003F367EAC xrEngine.exe, CSheduler::ProcessStep + 476 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\xrSheduler.cpp, 342 0x000000003F367C3F xrEngine.exe, CSheduler::Update + 367 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\xrSheduler.cpp, 434 0x00000000E8EA0A07 xrGame.dll, CGamePersistent::OnFrame + 935 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrGame\GamePersistent.cpp, 615 0x000000003F30C5C7 xrEngine.exe, CRegistrator<pureFrame>::Process + 87 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\pure.h, 115 0x000000003F339961 xrEngine.exe, CRenderDevice::FrameMove + 321 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\device.cpp, 522 0x000000003F339EFB xrEngine.exe, CRenderDevice::on_idle + 395 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\device.cpp, 313 0x000000003F339D4F xrEngine.exe, CRenderDevice::message_loop + 111 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\device.cpp, 427 0x000000003F339B70 xrEngine.exe, CRenderDevice::Run + 480 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\device.cpp, 471 0x000000003F37F958 xrEngine.exe, Startup + 344 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\x_ray.cpp, 277 0x000000003F37F0E6 xrEngine.exe, WinMain_impl + 1830 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\x_ray.cpp, 757 0x000000003F37E959 xrEngine.exe, WinMain + 9 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrEngine\x_ray.cpp, 808 0x000000003F33544E xrEngine.exe, __scrt_common_main_seh + 262 byte(s), D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl, 288 + 33 byte(s) 0x0000000076F0651D kernel32.dll, BaseThreadInitThunk + 13 byte(s) 0x000000007749C201 ntdll.dll, RtlUserThreadStart + 33 byte(s) xrEngine.exe caused an EXCEPTION_BREAKPOINT in module xrCore.dll at 00000000EA32046A, xrDebug::backend()+0346 byte(s), D:\S.T.A.L.K.E.R. Clear Sky\Hike\xray\xrCore\xrDebugNew.cpp, line 0230 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 95 Опубликовано 4 мая, 2023 imcrazyhoudini Хм... в Зп всё работает. Надо будет проверить на чём спотыкается... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imcrazyhoudini 1 123 Опубликовано 4 мая, 2023 2 минуты назад, Mass сказал: в Зп всё работает. я почему-то так и подумал, что вы на зп шаманите:) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты