Alvikor Опубликовано Суббота в 15:16 Жалоба Поделиться Опубликовано Суббота в 15:16 Доброго времени суток. Цель скрипта вроде несложная - использовать свиток призыва скелета рядом с нпс или подойти с этим скелетом к ней, она пугается и её приходит успокаивать охранник, оставляя свой пост. Так как играю я уже долгое время на OpenMw - тестировал на нём, всё работает. Но на ванильном движке не происходит ничего, ошибки не сыпят но и действий нет. В мир MWScript только погружаюсь, но голова уже не выдерживает.) Сам скрипт: begin sr_getundead short doonce if ( doonce == 1 ) return endif if ( GetJournalIndex TG_hit_to_the_heart != 10 ) return endif if ( doonce == 0 ) if ( GetDistance, Player <= 300 ) if ( Player -> GetSpellEffects, "sc_summonskeletalservant" == 1) say, "vo\d\f\Fle_DF001.wav", "Это вам так с рук не сойдет!" dreggs->AiTravel 1002 80 -82 0 messagebox "Дреггс идет успокаивать Ллайназу" set doonce to 1 endif endif endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 17 часов назад Жалоба Поделиться Опубликовано 17 часов назад (изменено) В Ванили, от свитков нельзя получить Айди вложенного в них заклиания. Такое работает только для спелов прямого наложения. В ОпМВ *повидимости* изменили поведение обнаружения заклинания, отчего (наложение зачарования) свитка считывается аналогично наложению обычного заклинания. Для МВ. Либо создавать спелл и дополнительно накладывать его на игрока скриптом (при экипировке свитка). Либо ловить само событие через: Цитата 107 => sEffectSummonSkeletalMinion т.е. через GetEffect == 107 sEffectSummonSkeletalMinion а не GetSpellEffects Но здесь не будет иметь значение, каким образом и по какому случаю, игрок призвал Скелета, к себе, в гости. Изменено 1 час назад пользователем EJ-12 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alvikor Опубликовано 14 часов назад Автор Жалоба Поделиться Опубликовано 14 часов назад 3 часа назад, EJ-12 сказал: В Ванили, от свитков нельзя получить Айди вложенного в них заклиания. Такое работает только для спелов прямого наложения. В ОпМВ *повидимости* изменили поведение обнаружения заклинания, отчего (наложение зачарования) свитка считывается аналогично наложению обычного заклинания. Для МВ. Либо создавать спелл и дополнительно накладывать его на игрока скриптом (при экипировке свитка). Либо ловить само событие через: т.е. через == 75 а не GetSpellEffects Но здесь не будет иметь значение, каким образом и по какому случаю, игрок призвал Скелета, к себе, в гости. Вот оно что, я бы и дальше о стену бился. Спасибо тебе, добрый человек. Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 1 час назад Жалоба Поделиться Опубликовано 1 час назад (изменено) Цитата RemoveEffects, Effect_ID#_enum Player -> RemoveEffects, 75 Удаляет все заклинания с актера, которые включают этот Эффект. Для этой функции вам нужен номер ID-эффекта, в отличие от функции GetEffect, где вам нужен сам ID-эффекта (Браво, Bethesda!). Поправочка. Цитата if ( Player->GetEffect sEffectSummonSkeletalMinion == 1 ) а не, Цитата if ( Player->GetEffect 107 == 1 ) Такое только для удаление спеллов используется. И еще, sc_summonskeletalservant - ID свитка, а не спелла (который в зачаровании свитка прописан, это sc_summonskeletalminion). Здесь существенная "отсебятина" ОпМВ, т.к. по логике, мог бы считываться ID зачарования, а не объекта который содержит зачарование. Но это уже технические нюансы. В МВ ни первое, ни второе не работает, только ID заклинания из раздела Spellmaking, либо ID базовых спеллов по списку. Другое дело, что МВСЕ, может уметь много больше, но это уже совсем другие скрипты с их историей. Изменено 1 час назад пользователем EJ-12 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти