Перейти к содержанию

Azazellz

Пользователь
  • Постов

    2 075
  • Зарегистрирован

  • Посещение

Весь контент Azazellz

  1. Вот не знаю. В файлах я их точно видел =) Но что драконов видно за пределами прогруженных ячеек - это факт.
  2. Драконы - отдельная штука. Их может быть видно очень издалека. У них даже свои ЛОДы есть. Но как их полет в деталях реализован - я тоже не в курсе.
  3. Эээ. Нет. Все призрачные эффекты работают через эту функцию. В том числе и "Снадобье фантома", которое игроку альфу на 0.5 ставит, пока эффект зелья работает.
  4. Как я уже говорил, SetAlpha может быть применена только на актерах. Т.е. чтобы это заработало, сначала ты должен сказать скрипту, что self - это именно актер, а не что-то абстрактное. Scriptname _SGDyingScript extends ObjectReference {Plays an fx when something is unsummoned} EffectShader Property AtronachUnsummonDeathFXS Auto EVENT onDying(actor myKiller)    AtronachUnsummonDeathFXS.Play(self)       actor akTarget = (self as form) as actor    akTarget.SetAlpha(0.1, true)   utility.wait(1.1)   self.Disable()    self.Delete() ENDEVENT
  5. Значит, что-то не так ставишь. Скрипт целиком давай.
  6. От кривого движка игры это зависит.   Загугли и скачай Shadow Striping Fix, он исправляет такие штуки для ванильных интерьеров. Потом посмотри через ТесЭдит, что конкретно он изменяет, и поймешь, в чем дело. Сам я в это не залазил никогда, так что понятия не имею, какой параметр за это отвечает.
  7. Пробуй дальше. Что-то не так делаешь =)
  8. Ну вообще, если ты видишь, что это сделано в ванильной игре - так разберись, как оно сделано, и просто скопируй этот метод. Зачем изобретать велосипед?   Я так думаю, там к этим существам прикреплен скрипт, который срабатывает в момент смерти существа, и работать он будет на чем угодно.   И да, как выше заметили - функция ванильная. Используется в скриптах призраков, в маг. эффектах зелья призрачного вида, где-то еще... В СКСЕ другая.
  9. Если на маг.эффекте это висит - попробуй с ивента взять akTarget вместо self. Ну или указать, что self тут - actor, а не что-то еще. Ибо вроде как оно только на actor работает, на просто референсы не прокатит.
  10. "Просто скопировать" - мало. Нужно еще понимать, как она применяется. Вот скажет этот Ghost из примера выше - он у тебя где-нибудь определен?
  11. https://www.creationkit.com/index.php?title=SetAlpha_-_Actor В синтаксисе где-то ошибаешься, скорее всего. Пример правильно написания с сылки выше: Ghost.SetAlpha(0.9, true)
  12. https://www.creationkit.com/index.php?title=Enchantment Строка Worn Restriction   Понятия не имею, где тут можно ошибиться, если честно.
  13. 1) Дофига всего. 2) Использовать в зависимости от ситуации. 3) Система экипировки и энчантов. Условия. Составление крафт-категорий в кузне. Скриптинг. Прочие штуки, тысячи их.   Кейворды - это глобальная штука, которая используется много где. Конкретику тут писать долго.
  14. Cамое надежное - взять этот танто, и перенести модель со всеми дополнениями (ножны, кровь, и т.д.) в другой файл с нормальной коллизией. От какого-нибудь ванильного кинжала, например. Потому что если ты попробуешь перетащить коллизию к этому файлу - игра будет крашиться. Ну или по крайней мере, у меня такое не получалось.
  15. Открыть оба дополнения одновременно. Это возможно. Ищи в кофиге СК строчку bAllowMultipleMasterLoads и поставь значение на 1.   Ну и изменения надо вносить не в само дополнение, а в свой новый файл.
  16. Да вот хз. Возможно, что глобалы нельзя "на лету" назначать. Только с проперти. Но тут я не уверен. В скрипте квеста у тебя оно у тебя в любом случае как проперти должно быть прописано, и функция тоже там лежит, и оттуда работает. Попробуй дебаг-уведомлений в скрипт добавить. Чтоб они при вызове тебе выводили сверху эту глобалку, опредилилось ли туда что-то, или нет. Ну и еще, есть команда Mod. Работает проще, чем связка Get\Set.
  17. Не видел.
  18. Тыкай кнопку "Set as Active File" перед тем, как загружаешь свой плагин. Тогда измненения в него будут вноситься.
  19. Глобальная переменная то так же называется, как в скрипте? Вызов внешней функции, не из текущего скрипта, происходит несколько иначе.   Ну тогда тебе сюда. Но лучше начать с самого начала. Если у тебя нет знания основ - советы тебе ничем не помогут.
  20. Ну скорее всего тут такая бодяга - если у игрока есть камень, страж призывается как обычно. Если камня нет - то кастуется другая версия спелла, которая ставит невидимый маркер, и это маркер уже призывает на себя враждебного стража. А может оно оба раза маркер ставит, просто разных стражей призывает.   Я так думаю, что эту систему можно переделать, просто в проперти скрипта.изменив существо, которое призывается на маркер. Чтоб проперти ДЛЦшных скриптов смотреть и править, надо исходники скриптов перенести из папки Data\Scripts\Source\ИМЯ_ДЛЦ\ в просто Data\Scripts\Source\   Но, как я уж говорил, я в эту систему не лазил, так что там все может быть и по-другому.
  21. https://github.com/schlangster/skyui/wiki Вот официальная документация с примерами всех функций и тестовым меню. Все, что нужно для создания МСМ, есть там.
  22. Долго думал, почему у меня тоже нифига не компилируется. Потом допер.   Код в "серьезных" скриптах не может быть выброшен "просто так". Ему нужен либо ивент, с которого он будет включаться, либо функция, в которой он будет выполняться. А у тебя этого нет.   Только в скриптовых фрагментах (квестовые стадии, диалоговые окна) можно это все выкидывать не заморачиваясь, СК потом это в финальный скрипт сам собирает. С полноценными скриптами это так не работает.   Вот так это заработает Scriptname BLlevelScrInit extends Quest  GlobalVariable property BLlevel auto Function PlusLevel (int n) int BLlevVar = BLlevel.GetValueInt() BLlevel.SetValueInt(BLlevVar + n) EndFunction Потом можно будет вызывать эту функцию из диалогов, указывая нужное число n.   Но вообще, это излишне, так как в диалогах это должно работать и без всяких заморочек. GlobalVariable BLlevel int n = BLlevel.GetValueInt() BLlevel.SetValueInt(n + 100) Вот в таком виде.       Врядли это скриптами делается. На ИИ вообще сложно ими влиять, особенно на "базовый".   Разбери сам призыв стража, посмотри, как он устроен. Я туда не лазил никогда, так что ничего сказать не могу. Если оригинальный страж за игроком не следует - возможно, там не простой призыв, а скриптовая комбинация. Т.е. оно не призывает моба, как обычно, а спавнит его в указанную точку. А может и что-то более сложное, комбинированное.
  23. Так он может на другое ругается. Скрипт целиком давай, посмотрим, что там к чему.
  24. Вроде как непосредственно в диалогах нельзя объявлять переменные. Они только для простейших штук предназначены. Можно в связанном квесте это прописать, и из него уже вызывать. А можно через глобальную переменную прогонять. int n = BLlevel.GetValueInt() BLlevel.SetValueInt(n + 100) Такое вроде как должно сразу сработать, из диалога прямо. Только не забудь глобальную переменную с точно таким же названием сделать сначала.
×
×
  • Создать...