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

Проблема: движение непися


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

Мне надо чтобы непись прошел через несколько точек, вернулся назад и опять повторил свой путь. Я написал вот такой скрипт, но он не работает. Подскажите пожайлуста, почему?

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

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

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

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

Во-первых, вместо 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

Непись на отрезке АВ разворачивается и идет в начало(І) , Что это может быть?

Вот таким маршрутом он должен ходить:

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

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

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

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

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

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

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

Войти

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

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

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