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

Сохранение позиции


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

Ниже скрипт, не помню getpos. Верный?

 

 

;a, b, c - globals

 

blablabla...

if state 1

if ( timer < 5 )

 

set a to player->getpos x

set b to player->getpos z

set c to player->getpos y

 

player->position a b c 0

 

if ( timer >= 5 )

 

set a to 0

set b to 0

set c to 0

set state to0

set timer to 0

 

blablabla

 

Будет ли это работать следующем образом, что при любом влиянии на игрока ( движение под ним обьектов в течении 5 секунд ) он будет сохранять положение, которое имел до таймера? И морка проверяет условия по миллисекундам или по секундам? Если по секундам, то по идеи он будет все равно дергаться..

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

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

 

вот скажем

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

проверяет в каждом кадре

внутрь условия надо бы таймер++ сделать иначе он всегда будет меньше 5 нет?

брать позицию вынести из первого условия, я так понимаю, там когда включается set state to 1, вот в том месте и брать позицию, в в первой проверке только позишен и оставить

 

во втором условии неясны нули для позиции, нафиг они нужны?

 

http://fullrest.ru/files/morrowind/programms/msfd

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

if ( state == 1 )

set timer to ( timer + GetSecondsPassed )

set "18_pos_x" to ( player->getpos, X )

set "19_pos_z" to ( player->getpos, Z )

set "20_pos_y" to ( player->getpos, Y )

 

if ( timer < 8 )

cast "01_distruct" player

"distructor"->MoveWorld z 125

"distructor1"->MoveWorld z 125

"distructor2"->MoveWorld x -125

"distructor3"->MoveWorld x -125

player->position "18_pos_x" "20_pos_y" "19_pos_z" 0 "Домик"

else

set state to 2

endif

endif

 

if ( state == 2 )

enableplayercontrols

set timer to 0

set state to 3

endif

 

кидает на красную гору

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

попробуй поставить запятые здесь =>

 

player->position "18_pos_x", "20_pos_y", "19_pos_z", 0, "Домик"

 

и еще здесь у тебя ошибка при player->Position ты не должен писать "Домик" такое можно писать только с PositionCell

тоесть у тебя должно быть так =>

player->positioncell "18_pos_x", "20_pos_y", "19_pos_z", 0, "Домик"

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

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

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

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

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

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

Войти

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

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

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