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

Не работает AITravel


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

Здравствуйте, при попытке использования функции AITravel в скриптах или в диалогах неписи просто застывают на месте. я даже пробовал скопировать скрипт из Morrowind_Scripting_for_Dummies_8.0_Rus.

 

Begin Travel

Short do_once

 

If (do_once==0)

AiTravel, 1359, 2700, 1045

Set do_once to 1

endif

 

End Travel

 

и протэстил его на чистом Морровинде, но результат тот же :dontknow: почему? :scratch:

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

AiTravel, 1359, 2700, 1045

Циферки какие-то большие - в оригинальной игре у подавляющего количества неписей аифоллов по нулям, значит, стоит попробовать меньшие цифры, должно помочь - если нет, то и в правду мощный глюк.

Кстати, возможно не хватает четвертой цифры, да.

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

Я попробовал AiTravel, -2, 2, 0, 1 но результат тот же :dontknow:

Под "цифрами меньше" подразумевались цифры, меньшие, чем предложенные Вами, но не отрицательные - в скрипте центуриона тов. Баладаса AiFollow Player 0 0 0 0 работает, центурион ходит за игроком...

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

Циферки какие-то большие - в оригинальной игре у подавляющего количества неписей аифоллов по нулям, значит, стоит попробовать меньшие цифры, должно помочь - если нет, то и в правду мощный глюк.
AIFollow и AITravel - разные фукции.

Работают ли оригинальные игровые скрипты с использованием этой функции? Например, квест с тайником Фаргота.

Если да, то что-то не так с применением скрипта. Хм, довольно большое значение указано по оси Z, дело в горах где-то происходит?

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

AIFollow и AITravel - разные фукции.

Я имел ввиду именно AIFollow - в подавляющем большинстве квестов с компаньонами используется команда с нулями - тот же центурион Баладаса как пример, да.

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

Здравствуйте, при попытке использования функции AITravel в скриптах или в диалогах неписи просто застывают на месте. я даже пробовал скопировать скрипт из Morrowind_Scripting_for_Dummies_8.0_Rus.

Может попробовать добавить:

 

if ( menumode == 1 )

return

endif

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

Я имел ввиду именно AIFollow - в подавляющем большинстве квестов с компаньонами используется команда с нулями - тот же центурион Баладаса как пример, да.
Так вопрос-то про AITravel. И цифры там значат совсем другое, нежели в AIFollow.
Ссылка на комментарий
Поделиться на другие сайты

Так вопрос-то про AITravel. И цифры там значат совсем другое, нежели в AIFollow.

В последнее время подслеповат стал, думал, вопрос про AiFollow... Извиняюсь за неправильную помощь.

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

Так вопрос-то про AITravel. И цифры там значат совсем другое, нежели в AIFollow.

Может невтему вопрос, но. :jokingly: А в самой игре можно эти координаты узнать?

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

AIFollow и AITravel - разные фукции.

Работают ли оригинальные игровые скрипты с использованием этой функции? Например, квест с тайником Фаргота.

Если да, то что-то не так с применением скрипта. Хм, довольно большое значение указано по оси Z, дело в горах где-то происходит?

Нет. дело происходит не в горах :jokingly: я взял откуда-то эти значения только для проверки :jokingly: впоследствии я буду использовать вместо AITravel xAITravel с переменными.

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

Скрипт в начале верный, только разве что после AiTravel не надо запятой. Я бы попробовал тщательно проверить координаты (в том числе и по оси Z). Может, Актер не может следовать, потомучто цель является недостижимой.

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

 

Второй раз слышу о такой странной проблеме. Я как-то заставлял кричеров ходить с использованием АИТревел. У всех они ходили, а у одного человека - застывали на месте. Причину так и не удалось понять.

 

Щас посмотрел синтаксис Беседки (что иногда бывает крайне критично), так он вообще разнообразный:

	 AiTravel -26 -660 -750 0 - без запятых и с пробелами (и с индексом)
Fargoth->AiTravel -11468.595,-71511.531,173.728	- с запятыми и без пробелов
 AITravel 185, 174, 170 - с запятыми и пробелами

 

А кроме чистого моррика какие еще комбинации версий игры использовались? Морр + Трибунал + Блудмун?

Если удасться найти решение - просьба написать как.

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

Так, господа, ситуация начинает проясняться ;-) Оказывается непися нельзя в другую локацию :-( :-( А почему у меня не заработал xAITravel я пока еще не понял
Ссылка на комментарий
Поделиться на другие сайты

Так, господа, ситуация начинает проясняться ;-) Оказывается непися нельзя в другую локацию :-( :-( А почему у меня не заработал xAITravel я пока еще не понял

Непися можно перемещать в другую локацию - подводим его к двери, дисейблим, а в другой локации енейблим, да.

А x-команды могут не работать бедз МВСЕ.

Кстати, от точки, где стоит непись к точке, куда мы его ведем скриптом (цифдерки) есть дорога?

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

Непися можно перемещать в другую локацию - подводим его к двери, дисейблим, а в другой локации енейблим, да.

А x-команды могут не работать бедз МВСЕ.

Кстати, от точки, где стоит непись к точке, куда мы его ведем скриптом (цифдерки) есть дорога?

Я сейчас не про интерьеры. Вот, например, вышли мы с моей невестой из Сейданина в район Горького берега, но обратно её одну отправить в город уже не получится, хотя город ещё виден :pardon:

MWSE есть, но я думаю, дело скорее не в нём ;-) теперь мне кажется, надо произвести дополнительные расчёты по оси Z, так как предмет, к которому должна подходить непись, кладётся прямо на пол

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

  • 2 недели спустя...

Теперь вопрос такой. Почему не работает данный скрипт?

 

begin k2KirStartNPCKiss

 

short tttr

float kPlayer_X

float kPlayer_Y

float kPlayer_Z

 

if ( tttr == 0 )

set kPlayer_X to Player -> GetPos, X

set kPlayer_Y to Player -> GetPos, Y

set kPlayer_Z to Player -> GetPos, Z

xaitravel kPlayer_X kPlayer_Y kPlayer_Z

set tttr to 1

endif

if ( tttr == 1)

if ( GetAIPackageDone == 1 ) ;он пришел в точку 1

;startscript Kir_Romance_Kiss

set tttr to 0

stopscript k2KirStartNPCKiss

endif

endIf

end

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

Эта часть сама по себе действует

 

 

begin k2KirStartNPCKiss

 

short tttr

float kPlayer_X

float kPlayer_Y

float kPlayer_Z

 

if ( tttr == 0 )

set kPlayer_X to Player -> GetPos, X

set kPlayer_Y to Player -> GetPos, Y

set kPlayer_Z to Player -> GetPos, Z

xaitravel kPlayer_X kPlayer_Y kPlayer_Z

set tttr to 1

endif

 

но если добавить вторую часть, непись застывает :dontknow:

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

Правильно, почему во втром блоке ты опять ставишь
set tttr to 0
скрипт начинается опять с первого блока и так далее до бесконечности.
Ссылка на комментарий
Поделиться на другие сайты

Правильно, почему во втром блоке ты опять ставишь скрипт начинается опять с первого блока и так далее до бесконечности.

А если не писать set tttr to 0, то при следующем вызове, скрипт действовать не будет. Так?

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

Слушайте, ничего не понимаю!!! %( %( Сейчас у меня и первая часть перестала работать =-O Сейчас пытаюсь выяснить почему :scratch:
Ссылка на комментарий
Поделиться на другие сайты

Я выяснил довольно любопытную вещь, хотя это может показаться бредом сивой кобылы :jokingly: но скрипт с xAITravel должен выглядеть примерно так:

 

begin kKirStartNPCKiss

 

short kislong

short kirtravelscrp

float Player_X

float Player_Y

float Player_Z

 

if ( kirtravelscrp == 0)

if ( kirtravelscrp == 0)

set kirtravelscrp to 1

set Player_X to Player -> GetPos, X

set Player_Y to Player -> GetPos, Y

set Player_Z to Player -> GetPos, Z

xaitravel Player_X Player_Y Player_Z

set kislong to 1

set "kKirStartNPCKiss".kislong to 2

startscript Kir_Romance_Kiss

elseif ( kislong < kislong )

if ( kislong == 9)

set kislong to 1

endif

endif

endif

end

 

Я и сам не понимаю зачем эту лишнюю чушь писать, но без неё непись застывает на месте. Можете сами проверить. Вместо чуши могут быть подставлены другие значения, но сокращать скрипт нельзя

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

Уважаемые форумчане, появились ещё два вопроса:

1) Можно ли как-нибудь прервать действие AITravel до её завершения и отправить непися в другую точку, или он обязательно должен дойти до точки 1, а потом уже из этой точки отправиться в точку 2?

2) Можно ли восстановить те idle, которые были до вызова AITravel, или надо задавать их снова?

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

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

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

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

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

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

Войти

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

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

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