this is a clip from the one i wrote, its messy, but they dudes wont interact with the rest of the world if i have it different
have a look, it may help you come up with something better
have a look, it may help you come up with something better
For e.tEnemies = Each tEnemies tx# = EntityX#(e\mass) ty# = EntityY#(e\mass) tz# = EntityZ#(e\mass) PositionEntity e\body, tx#, ty#, tz# PositionEntity e\pivot, tx#, ty#, tz# ryaw# = EntityYaw#(e\pivot, 0) cyaw# = EntityYaw#(e\body, 0) cr# = CurveValue#(cyaw#, ryaw#, 15) RotateEntity e\body, 0, cr#, 0 If Not Animating(e\model) Then Animate(e\model,1,.23,enemy_mode_walk) Else If e\mode = 1 e\woddle = (e\woddle + .12) Mod AnimLength(e\model) at# = AnimTime(e\model) PositionEntity e\model, 0, -3 + (Cos(at * 110)/ 2), 0 ;TurnEntity e\model, (Cos(at * 110)/ 2),0,0 RotateEntity e\model, (Cos(at * 110)*2),EntityYaw(e\model),-(Cos(e\woddle * 110)*3) EndIf End If If e\currentnode=0 Then e\mode = 3 ;If e\timer>0 Then e\timer = e\timer - 1 If e\mode = 3 If e\direction = 0 Then ; going from 1 ... 2... 3... oldnode = e\currentnode nextnode = e\currentnode + 1 Else; going to 3... 2... 1... nextnode = e\currentnode - 1 EndIf vring = 0 e\newnode = e\newnode + 1 veld% = 1 For n.tNodes = Each tNodes If e\nodegroup$ = n\nodegroup$ vring = vring + 1 If n\nodeid = oldnode Then If (n\choose$ <> "") And (e\newnode>2) ; Bot can choose e\newnode = 0 If Int(Rnd(1))=1 Then veld% = 0 ; Not to set the next node! npath$ = n\choose$ npathid$ = n\choosepath$ For jn.tNodes = Each tNodes If jn\nodegroup$ = npath$ If jn\nodeid = Int(npathid$) e\targetnode = jn\pivot e\currentnode = jn\nodeid e\nodegroup$ = npath$ End If End If Next End If End If EndIf If veld% = 1 Then If n\nodeid = nextnode Then e\targetnode = n\pivot e\currentnode = n\nodeid End If EndIf EndIf Next If veld% = 1 Then If (nextnode > vring) e\direction = 1 ElseIf (nextnode < 1) e\direction = 0 EndIf EndIf e\mode = 1 End If If e\mode = 1 Then If e\targetnode<>0 Then PointEntity e\pivot, e\targetnode MoveEntity e\mass,0,0,.24 ryaw# = EntityYaw(e\pivot) RotateEntity e\mass, 0, ryaw#, 0 d# = EntityDistance(e\targetnode,e\mass) If d#<4 Then ; hes reached his target e\mode = 3 e\timer = 60 End If EndIf EndIf e\y_vel#=(ty-e\PlayerY) e\PlayerY=ty e\y_vel=e\y_vel-.07 TranslateEntity e\mass,0,e\y_vel,0 Next