tate navigate // navigate to the waypoint.
findnearactor WAYPOINT 409600 TEMP
getactor[TEMP].hitag MHITAG // TEMP is in this case the waypoint actor.
ifvarvare MHITAG COUNT // make sure the waypoint he is going to is the next sequential one, so he doesnt backtrack.
// IE only find nearactor with a hightag the count currently has, one at a time.
ifvarn TEMP -1 // the actor should only care about the waypoint if both statements return true.
{
getactor[TEMP].x MX
getactor[TEMP].y MY
getactor[THISACTOR].x x
getactor[THISACTOR].y y
subvarvar MX x
subvarvar MY y
getangle ANGVAR MX MY
setactor[THISACTOR].ang ANGVAR
}
// here starts my own changes to make the system do what i need.
// if the actor is within the accepted distance from the waypoint, make him aim for the next one by adding one to the count.
findnearactor WAYPOINT 512 TEMP2
getactor[TEMP].hitag MHITAG
ifvarn TEMP2 -1
ifvarvare MHITAG COUNT // add 1 to count only if the current waypoint has the same value as the one where the player was moving towards,
// used to prevent a retrigger causing the count to rise 1 every tick the actor is within the set distance
{
addvar COUNT 1
spawn EXPLOSION2 // just to check if he reaches the correct point, and does not re-trigger the count. set off fireworks one you reach your goal.
break // force restart of the subroutine
}
ends
i tried putting a ifvarvarn MHITAG COUNT { break } after the actual getting the angle code but that didnt seem to work, if i place a waypoint between the actor, and it has not the correct hitag the actor will then ignore the one that does have the correct hitag, this makes figure 8 forms impossible, wich is something i could live with, but surely there is a way around it.
i was thinking allong the lines of running a search through the spriteid's until it finds the correct one before proceeding.
but my actor does not follow a simple path i layed out start to finish, so thats a win.

Help
Duke4.net
DNF #1
Duke 3D #1




