Показать сообщение отдельно
Старый 04.12.2009, 18:37   #22
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: Смена Анимации.

И опять же как , да есть !!! Когда переходит границу дистанции 5-ти , то как бешенный кролик влево в право и всё . Выходит за границы 5-ти хорошо анимируется ходьбой. Хр#новина какая та.
Вот код создания и апдейта бота. (наш бот - model.На остальное не обращайте внимания.)

Function create_bot(x#,y#,z#)
b.bot=New bot
b\model=LoadAnimMesh ("Data\Bots\Zombie.b3d")
b\animrun=LoadAnimSeq (b\model,"Data\Bots\run.b3d")
b\animattack=LoadAnimSeq (b\model,"Data\Bots\attack.b3d")
Animate b\model,1,Rnd (0.4,1.,b\animrun
ScaleEntity b\model,0.05,0.05,0.05
PositionEntity b\model,x#,y#,z#
;RotateEntity b\model,0,-180,0
b\entity=CreateSphere(32,b\model)
ScaleEntity b\entity,15,30,10
;PositionEntity b\entity,x#,y#,z#
MoveEntity b\entity,-3,40,-5
EntityAlpha b\entity,0
EntityPickMode b\entity,2
b\life=10
Return True
End Function

Function update_bot()
v#=Rnd (0.01,0.07)
For a.bot=Each bot
TurnEntity a\model,0,Sgn(DeltaYaw(a\model,player))*-0.9,0
MoveEntity a\model,0,0,-v#
;AI
dist#=EntityDistance (a\model,player)
If dist < 5 Then
If AnimSeq (a\model)<>a\animattack
Animate a\model,3,1,a\animattack,2
Else
If AnimSeq (a\model) <> a\animrun
Animate a\model,3,1,a\animrun,1
EndIf
EndIf
EndIf
;EndAI
Next
End Function
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием