`versual's simple ai `make variable's global player as integer global ai as integer global waypoint as integer global waypointup as integer global distance as word sync on sync rate 30 `a simple ai player = 1 ai = 2 waypoint = 3 waypointup = 4 `the player make object cube player,1 `color player position object player,-7,-7,0 color object player,rgb(0,0,255) Set object collision to boxes player `the ai make object cube ai,1 `color ai color object ai,rgb(255,0,0) `position ai position object ai,-15,0,0 Set object collision to boxes ai `waypoint make object cube waypoint,1 position object waypoint,9,0,0 color object waypoint,rgb(0,255,0) Set object collision to boxes waypoint `waypoint 3 make object cube waypointup,1 position object waypointup,-1,7,0 color object waypointup,rgb(0,255,0) Set object collision to boxes waypointup `position camera in 3d world position camera 0,0,-20 point object ai,object position x(waypoint),object position y(waypoint),object position z(waypoint) do move object ai,0.1 go() if object collision(ai,waypoint) point object ai,object position x(player),object position y(player),object position z(player) move object ai,0.1 endif if object collision(ai,player) point object ai,object position x(waypointup),object position y(waypointup),object position z(waypointup) move object ai,0.1 endif if object collision(ai,waypointup) point object ai,object position x(waypoint),object position y(waypoint),object position z(waypoint) move object ai,0.1 endif `making ai follow player `player control's if rightkey()=1 then move object right player,1 if leftkey()=1 then move object left player,1 if upkey()=1 then move object up player,1 if downkey()=1 then move object down player,1 text 240,10,"Versual's simple 3 waypoint ai." sync loop function go() x1 = object position x(player) y1 = object position y(player) z1 = object position z(player) x2 = object position x(ai) y2 = object position y(ai) z2 = object position z(ai) distance = sqrt((x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2) if (ai > distance) point object ai,object position x(player)+x1,object position y(player)+y1,object position Z(player)+z1 move object ai, 0.1 endif endfunction 1