-
Постов
8 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Календарь
Сообщения, опубликованные DlinnyiAl
-
-
olol
Ооо, это уже действительно интересно, большое спасибо за такую информацию!
-
разве это не говорит о том, что работает, но только в глобальных и направленных скриптах ?
Ну как сказать, "may trigger" еще можно перевести, как "может сработать, а может и не сработать, как повезет". В общем, как и с дверьми. Привносит в рандом еще больший рандом, но работать с этим можно, конечно.
-
mortuus
Да, спасибо, olol уже это предлагал, действительно гораздо более "чистый" способ с точки зрения загрязнения игрового мира. Гораздо более трудоемкий, чем предложенный мной, но чистый.
Но если бы вы точнее объяснили чего хотите, то, возможно, вам что-то более дельное посоветовали.По сути, если вкратце - прикручиваю озвучку Вильи из Скайрима к компаньону в Морр. Как это выглядит с точки зрения моего вопроса: по таймеру компаньон говорит фразу из заготовленного списка + в зависимости от местности + при наличии определенных условий расы/пола/здоровья/погоды/времени суток и т.д. Как-то так.
При использовании описанных мной меток, было бы достаточно раскидать их по локациям. А так, нужно over1000 локаций прописывать в скриптах. И по сути, что-то более дельное сложно предложить, все-таки скриптовый язык Морра весьма скуден, а MWSE я не буду использовать исходя из его некоторой глюковатости.
Но это уже не проблема, гораздо сложнее будет найти способ, чтобы враги не нападали на компаньона в драке (нечего у меня прокачку отбирать). Конечно, можно сделать компаньона трусом, чтобы он сразу убегал, но в таком случае враги иногда начинают его преследовать, а такой паровоз это уже ни в какие ворота... Самое обидное, что та же Emma явно пыталась решить эту проблему в своих плагинах, но ни один из её способов не работает. Пока что не придумал ничего умнее, чем дать каждому зверю\изначально_агрессивному_npc скрипт, либо встроить в его скрипт, если он есть:
if DontAttackCompanion == 1 if GetTarget id_Companion == 1 StopCombat StartCombat, Player endif endif
Но затронуть столько npc - это индусский код чистой пробы. Думаю, что сделаю две версии: с возможностью режима пацифиста и без.
Ну вот как-то так, объяснил поточнее все свои текущие трудности, с которыми столкнулся, спасибо за внимание и за прошлые и будущие советы)
-
Ув. olol, простите мне мой английский, но на мой взгляд, в вашей цитате из девятой редакции MSD приведено ровно тоже самое, что я написал. Что cellchanged не сработает при телепортации:
It doesn’t return 1 for scripted teleporting or magic teleporting.И что хуже, есть уточнение, что CellChanged может не сработать даже при обычном перемещении через дверь:
CellChanged doesn't always trigger, even if the player enters the cell via a normal teleport door.Однако, вы разумеется правы, не стоит плодить лишние сущности. Уже сделал список локаций, постараюсь разбить их поэффективнее на малые части и проверить через массив скриптов. Спасибо за ваши с mortuus советы насчет скриптов. От себя добавлю, что не стоит забывать и про максимальное количество возможных условий if-elseif в одном скрипте (127). С учетом множественных проверок это даже более важно, чем максимальный размер скрипта.
____
P.S.:
внушительный список меньше тысячи локаций? Тогда строчек вам хватит.Больше.
-
в id_lock проверяем нужные нам локации
Спасибо, но как я уже писал выше, список столь велик, что перебором это не решить. Да и есть мнение, хоть и недоказанное, что cellchanged не сработает при телепортации.
-
Здравствуйте, мастера, прошу вашего совета. Такая проблема: есть плагин с NPC компаньоном, и он должен реагировать на определенный список локаций. Список столь велик, что банальным перебором с GetPCCell это не решаемо. "Частичное совпадение" названия локации тоже исключается. Хотелось бы выслушать ваше мнение по поводу решения данной задачи, т.к. мое решение - тот еще индусский код. И да, реакция используется не в диалоге.
Изначально была идея повесить компаньону скрипт с "GetDistance" до метки (если объект вне текущего interior, то он возвращет 0), но к сожалению он определяет расстояние только для уникального объекта - либо для последнего добавленного в CS объекта, NPC или кричера. Пришлось отказаться.
Вот, собсвенно то, до чего я додумался: в каждую локацию, в пустоту на карте помещается объект "метка" со скриптом, который раз в секунду изменяет на +1 определенную глоб. переменную. А NPC каждые 2 секунды проверяет, изменилась ли переменная (значит локация помечена) или нет (значит реакция не нужна).
-
Люди, ну ёлы палы! Руководство лежит на форуме уже семь лет, и хоть кто нибудь бы сказал, что в нем есть ошибки в скрипте Фаргота:
1. В некоторых местах вместо "prospectref" написана необъявленная переменная "prospect"
2. строчку "stopscript siren_call" нужно вынести в самый конец, после endwhile
Использовал его как тест для редактора скриптов, столько времени потерял...
Вопросы по сайту и форуму
в Приёмная совета
Опубликовано · Изменено пользователем DlinnyiAl
Подскажите пожалуйста, как поменять привязанную почту на основном сайте fullrest.ru? Побегал по настройкам, но ничего похожего не нашел.А, ладно. Пофиг.