DSD3mon Опубликовано 17 июля, 2006 Жалоба Поделиться Опубликовано 17 июля, 2006 Мне надо чтобы непись прошел через несколько точек, вернулся назад и опять повторил свой путь. Я написал вот такой скрипт, но он не работает. Подскажите пожайлуста, почему?begin travel1 short pos if (GetAIPackageDone == 1) if (pos == 0) set pos to 1 Aitravel, -91327.03, -39600.58, 500 elseif (pos == 1) Aitravel, -86957.23, -41100.21, 500 set pos to 2 elseif (pos == 2) Aitravel, -86805.88, -36947.26, 500 set pos to 3 elseif (pos == 3) Aitravel, -86276.20, -36293.97, 500 set pos to 4 elseif (pos == 4) Aitravel, -86381.81, -35170.97, 500 set pos to 5 elseif (pos == 5) Aitravel, -89655.80, -36131.33, 500 set pos to 6 elseif (pos == 6) Aitravel, -92648.48, -37114.23, 500 set pos to 7 elseif (pos == 7) Aitravel, -92593.55, -39073.47, 500 set pos to 8 elseif (pos == 8) Aitravel, -96234.72, -39068.94, 600 set pos to 0 ENDIF else return endif Ссылка на комментарий Поделиться на другие сайты Поделиться
Boblen Опубликовано 18 июля, 2006 Жалоба Поделиться Опубликовано 18 июля, 2006 Тему перенес, т.к. скрипт явно относиться к 3 части. Читай MSfD - поймешь как его доработать. Ссылка на комментарий Поделиться на другие сайты Поделиться
Майк Опубликовано 18 июля, 2006 Жалоба Поделиться Опубликовано 18 июля, 2006 MFSD8пример скрипта зацикленного движения Begin TravelLoop short state float timer if ( menumode == 1 ); если меню открыто - не исполнять return endif ;начало движения if ( state == 0 ) if ( player -> GetDistance HB_adros_darani < 5000 ) set state to 5 endif ;******************* Он начинает свой путь elseif ( state == 5 ) SetHello 0 AITravel -8144, -19409, 728;new co-ords point 1 set state to 10 elseif ( state == 10 ) if ( GetAIPackageDone == 1 );он пришел в точку 1 set state to 40 endif elseif ( State == 40 ) AITravel -9147, -19459, 720; новые координаты точки 2 set State to 50 elseif ( state == 50 ) if ( GetAIPackageDone == 1 );он пришел в точку 2 set state to 60 endif elseif ( state == 60 ) AITravel -8144, -19409, 728; новые координаты точки 1 set state to 70 elseif ( state == 70 ) if ( GetAIPackageDone == 1 );он пришел в точку 1 set state to 80 endif elseif ( state == 80 ) AITravel -6640, -18496, 1040;новые координаты точки 0 set state to 90 elseif ( state == 90 ) if ( GetAIPackageDone == 1 );он пришел в точку 0 set state to 0 endif endif End TravelLoop Ссылка на комментарий Поделиться на другие сайты Поделиться
DSD3mon Опубликовано 18 июля, 2006 Автор Жалоба Поделиться Опубликовано 18 июля, 2006 Спасиба большое. Ссылка на комментарий Поделиться на другие сайты Поделиться
DSD3mon Опубликовано 18 июля, 2006 Автор Жалоба Поделиться Опубликовано 18 июля, 2006 Во-первых, вместо player -> GetDistance HB_adros_darani < 5000 нужно GetDistance, player < 5000 (ведь скрипт лежит на непие), без этого Скрипт неработает, а во-вторых, я доделал этот скрипт под себя, а он полностю не работает.Begin 1DS_Travel1 short pos if ( menumode == 1 ) return endif if ( pos == 0 ) if (GetDistance, player < 5000 ) set pos to 1 endif elseif ( pos == 1 ) Aitravel, -91327.03, -39600.58, 500; точка А set pos to 2 elseif ( pos == 2 ) if ( GetAIPackageDone == 1 ) set pos to 3 endif elseif ( pos == 3 ) Aitravel, -86957.23, -41100.21, 500; точка B set pos to 4 elseif ( pos == 4 ) if ( GetAIPackageDone == 1 ) set pos to 5 endif elseif ( pos == 5 ) Aitravel, -86805.88, -36947.26, 500; точка C set pos to 6 elseif ( pos == 6 ) if ( GetAIPackageDone == 1 ) set pos to 7 endif elseif ( pos == 7 ) Aitravel, -86276.20, -36293.97, 500; точка D set pos to 8 elseif ( pos == 8 ) if ( GetAIPackageDone == 1 ) set pos to 9 endif elseif ( pos == 9 ) Aitravel, -86381.81, -35170.97, 500; точка E set pos to 10 elseif ( pos == 10 ) if ( GetAIPackageDone == 1 ) set pos to 11 endif elseif ( pos == 11 ) Aitravel, -89655.80, -36131.33, 500; точка F set pos to 12 elseif ( pos == 12 ) if ( GetAIPackageDone == 1 ) set pos to 13 endif elseif ( pos == 13 ) Aitravel, -92648.48, -37114.23, 500; точка G set pos to 14 elseif ( pos == 14 ) if ( GetAIPackageDone == 1 ) set pos to 15 endif elseif ( pos == 15 ) Aitravel, -92593.55, -39073.47, 500; точка H set pos to 16 elseif ( pos == 16 ) if ( GetAIPackageDone == 1 ) set pos to 17 endif elseif ( pos == 17 ) Aitravel, -96234.72, -39068.94, 600; точка I set pos to 18 elseif ( pos == 18 ) if ( GetAIPackageDone == 1 ) set pos to 0 endif endif EndНепись на отрезке АВ разворачивается и идет в начало(І) , Что это может быть?Вот таким маршрутом он должен ходить: Ссылка на комментарий Поделиться на другие сайты Поделиться
DSD3mon Опубликовано 21 июля, 2006 Автор Жалоба Поделиться Опубликовано 21 июля, 2006 Все, спасибо всем, сам разобрался. Просто по ходу не должно быть никаких статиков, а то непись тогда не понимает что делать и возвращается на стартовую позицию. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти