Lanc Опубликовано 24 апреля, 2011 Жалоба Поделиться Опубликовано 24 апреля, 2011 (изменено) Ниже скрипт, не помню getpos. Верный? ;a, b, c - globals blablabla...if state 1if ( timer < 5 ) set a to player->getpos xset b to player->getpos zset c to player->getpos y player->position a b c 0 if ( timer >= 5 ) set a to 0set b to 0set c to 0set state to0set timer to 0 blablabla Будет ли это работать следующем образом, что при любом влиянии на игрока ( движение под ним обьектов в течении 5 секунд ) он будет сохранять положение, которое имел до таймера? И морка проверяет условия по миллисекундам или по секундам? Если по секундам, то по идеи он будет все равно дергаться.. Изменено 24 апреля, 2011 пользователем Lanc Ссылка на комментарий Поделиться на другие сайты Поделиться
DaedricLord Опубликовано 24 апреля, 2011 Жалоба Поделиться Опубликовано 24 апреля, 2011 Скрипт правильный, но игрок в любом случае будет дергаться, это еще зависит от скорости компьютера и возможностей морроувинда, попробуй лучше добавить замедлить падение в 1000п или скажем левитацию на игрока, тогда это значительно снизит дерганье, еще это зависит от того что под игроком и что ты делаешь. вот скажем я использовал как раз эту технику Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 24 апреля, 2011 Жалоба Поделиться Опубликовано 24 апреля, 2011 проверяет в каждом кадревнутрь условия надо бы таймер++ сделать иначе он всегда будет меньше 5 нет?брать позицию вынести из первого условия, я так понимаю, там когда включается set state to 1, вот в том месте и брать позицию, в в первой проверке только позишен и оставить во втором условии неясны нули для позиции, нафиг они нужны? http://fullrest.ru/files/morrowind/programms/msfd Ссылка на комментарий Поделиться на другие сайты Поделиться
Lanc Опубликовано 25 апреля, 2011 Автор Жалоба Поделиться Опубликовано 25 апреля, 2011 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 endifendif if ( state == 2 ) enableplayercontrols set timer to 0 set state to 3endif кидает на красную гору Ссылка на комментарий Поделиться на другие сайты Поделиться
DaedricLord Опубликовано 25 апреля, 2011 Жалоба Поделиться Опубликовано 25 апреля, 2011 попробуй поставить запятые здесь => 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, "Домик" Ссылка на комментарий Поделиться на другие сайты Поделиться
Lanc Опубликовано 26 апреля, 2011 Автор Жалоба Поделиться Опубликовано 26 апреля, 2011 Тфу пл.. Спс.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти