Fast Track Checkpoints (by map)

How to add a fast track system using a map


The player presses the Right trigger and is presented with a map (an overhead view of the land) where all the checkpoints he has activated are marked. Using a cursor he can select one of the locations and by pressing A is transported there.

This tutorial is quite complicated and uses the Cursor system developed by An Average Recon and Mindcraft Max. You can view An Average Recon’s video for developing a Cursor for Xbox here.

You will need to ensure that you indent the lines correctly. Cutting and pasting blocks of kode that are the same, but with slight alterations for each checkpoint is probably the easiest way to create these brains.


Set up your checkpoints as described in the tutorial: Fast Track Checkpoint System

Create a logic cube for your camera. Create a logic cube for your Map navigation system

In camera brain

WHEN [Right trigger][pressed] DO [toggle] [IWP:mapnav][boolvar:show menu]
WHEN [IWP:mapnav][boolvar:show menu] DO [fixed camera][Fixed Camera 1]

This camera should be an overhead shot of your world.

In Mapnav brain

Set up the cursor control system

  1. WHEN DO [forward[equals][north]
  2. WHEN [once] DO [vectorvar:origin][equals][position]
  3. WHEN [is using controller] DO
  4. ….WHEN [else] DO [global][vectorvar:mousepos][equals][mouse position]
  5. ….WHEN [left stick] DO [move][at speed][0.18][with strafing][object relative]
  6. …WHEN [position][z][>=][vectorvar:origin][z][plus][1] DO [position][z][equals][vectorvar:origin][z][plus][1]
  7. …WHEN [position][z][<=][vectorvar:origin][z][minus][1] DO [position][z][equals][vectorvar:origin][z][minus][1]
  8. …WHEN [position][x][>=][vectorvar:origin][x][plus][1] DO [position][z][equals][vectorvar:origin][x][plus][1]
  9. …WHEN [position][x][<=][vectorvar:origin][x][minus][1] DO [position][z][equals][vectorvar:origin][x][minus][1]
  10. …WHEN DO [global][vectorvar:mousepos][x][=][position][x][minus][vectorvar:origin][x]
  11. …WHEN DO [global][vectorvar:mousepos][y][=][position][z][minus][origin][z]

Now we need to display the cursor and turn off the players brain so they cant move about

  1. WHEN [boolvar:show menu]
  2. …WHEN DO [display][icon:move][scale][0.3][at screen position][global][vectorvar:mouse pos][priority][2]
  3. …WHEN DO [IWP:hero][brain is active][=][false]
  4. WHEN[not] [boolvar:show menu]
  5. …WHEN [IWP:hero][brain is active][=][true]

Now we need to find out the coordinates of the checkpoints on your map. Add this line (it will be temporary)

17. …WHEN DO [display][global][vectorvar:mouse pos][screen top left]

When you test your map, you will see 3 sets of numbers for the coordinates of your cursor. The first is east (or x), the second is World up (or y), the third is z and remains at 0 (it is not needed). Move your cursor to the place you want your checkpoint marker to be. Note the coordinates. Now add the checkpoints to your brain

  1. WHEN [vectorvar:shrine][=][east][multiplied by][0.1][plus][World up][multiplied by][-0.3]

Do this for all of your checkpoints – now you can delete line 17

Now we add the instructions for displaying a checkpoint, by checking to see if it is active.

  1. …WHEN [global][objset:check][contains][IWP:The shrine]
  2. …/…WHEN DO [boolvar:shrine found][=][true]
  3. …/…WHEN [boolvar:shrine selected] DO [display][icon:fly][red][at screen pos][vectorvar:shrine]
  4. …/…/…WHEN [else] DO [disply][icon:fly][at screen pos][vectorvar:shrine]

Then we add the call to action to use the checkpoint to fast track our player

  1. …/…/…WHEN [A][pressed] DO [IWP:hero][position][equals][IWP:The shrine][position]
  2. …/…/…/…WHEN DO [boolvar:show menu][equals][false]

You do this for all your checkpoints
We now add the kode that will determine if the cursor is in the same position as the checkpoint on the map.

  1. WHEN [global][vectorvar:mousepos][x][>][vectorvar:shrine][x][minus][0.05]
  2. …WHEN [else] DO [boolvar:shrine selected][equals][false]
  3. …WHEN [global][vectorvar:mouse pos][x][<][vectorvar:shrine][x][plus][0.05
  4. …/…WHEN [else] DO [boolvar:shrine selected][=][false]
  5. …/…WHEN [global][vectorvar:mouse pos][y][>][vectorvar:shrine][y][minus][0.05]
  6. …/…/…WHEN [else] DO [shrine selected][equals][false]
  7. …/…/…WHEN [global][vectorvar:mouse pos][y][<][vectorvar:shrine][y][plus][0.05][and][boolvar:shrine found]DO [boolvar: shrine selected][=][true]
  8. …/…/…/…WHEN [else] DO [shrine selected][=][false]

You do this for every checkpoint.

Comments are closed.

Powered by

Up ↑

%d bloggers like this: