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

Помогите со скриптом пожалуйста


Рекомендуемые сообщения

Доброго времени суток. Цель скрипта вроде несложная - использовать свиток призыва скелета рядом с нпс или подойти с этим скелетом к ней, она пугается и её приходит успокаивать охранник, оставляя свой пост. Так как играю я уже долгое время на 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
Ссылка на комментарий
Поделиться на другие сайты

В Ванили, от свитков нельзя получить Айди вложенного в них заклиания.
Такое работает только для спелов прямого наложения.

В  ОпМВ *повидимости* изменили поведение обнаружения заклинания, отчего (наложение зачарования) свитка считывается аналогично наложению обычного заклинания.

 

Для МВ.

Либо создавать спелл и дополнительно накладывать его на игрока скриптом (при экипировке свитка).

Либо ловить само событие через:

Цитата

107 => sEffectSummonSkeletalMinion

т.е. через

  GetEffect == 107  sEffectSummonSkeletalMinion

а не

GetSpellEffects

Но здесь не будет иметь значение, каким образом и по какому случаю, игрок призвал Скелета, к себе, в гости.

Изменено пользователем EJ-12
Ссылка на комментарий
Поделиться на другие сайты

3 часа назад, EJ-12 сказал:

В Ванили, от свитков нельзя получить Айди вложенного в них заклиания.
Такое работает только для спелов прямого наложения.

В  ОпМВ *повидимости* изменили поведение обнаружения заклинания, отчего (наложение зачарования) свитка считывается аналогично наложению обычного заклинания.

 

Для МВ.

Либо создавать спелл и дополнительно накладывать его на игрока скриптом (при экипировке свитка).

Либо ловить само событие через:

т.е. через

  == 75

а не

GetSpellEffects

Но здесь не будет иметь значение, каким образом и по какому случаю, игрок призвал Скелета, к себе, в гости.

Вот оно что, я бы и дальше о стену бился. Спасибо тебе, добрый человек.

Ссылка на комментарий
Поделиться на другие сайты

 

 

Цитата

 

 

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 базовых спеллов по списку.

Другое дело, что МВСЕ, может уметь много больше, но это уже совсем другие скрипты с их историей.

 

 

Изменено пользователем EJ-12
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...