<waypoints type="RUN">
   <onLoad>
      rInterval = 1;
	_recordQuest = true;
	_recordHarvest = false;
	_inrange = 200;
	_waypointpass = 20;
      saveKey    = key.VK_NUMPAD3;   -- save recorded nodes and exit
      resetKey    = key.VK_NUMPAD8;   -- discard (clear) recorded nodes
      restartKey    = key.VK_NUMPAD9;   -- save and clear recorded nodes
      cprintf(cli.green, "RoM harvest node recorder\n");
      printf(callLang[0]            -- Save recorded nodes and exit
         .. callLang[1]            -- Discard (clear) recorded nodes
         .. callLang[2]            -- Save and clear recorded nodes
         .. callLang[3],            -- Recording at %d interval
         getKeyName(saveKey), getKeyName(resetKey),
         getKeyName(restartKey), rInterval);
	startQuestDetect()
      local hf_key_pressed, hf_key;
      local lCount = 0;
      while(true) do
         lCount = lCount + rInterval;
         hf_key_pressed = false;

         if( keyPressed(saveKey) ) then   -- save key pressed
            hf_key_pressed = true;
            hf_key = "SAVE";
         end;
         if( keyPressed(restartKey) ) then   -- restart key pressed
            hf_key_pressed = true;
            hf_key = "RESTART";
         end;
         if( keyPressed(resetKey) ) then   -- reset key pressed
            hf_key_pressed = true;
            hf_key = "RESET";
         end;

         if( hf_key_pressed == false and    -- key released, do the work
            hf_key ) then               -- and key not empty

            -- SAVE Key: save waypoint file and exit
            if( hf_key == "SAVE" ) then
               recordeNodes(_recordQuest, _recordHarvest ,_inrange , _waypointpass);
               saveRecpoints();
               hf_key = " ";   -- clear last pressed key
               error("\nSaving nodes and exiting node recorder.", 0);
               break;
            end;

            if( hf_key == "RESET" ) then
               wpList = {}; -- DON'T save clear table
               hf_key = " ";   -- clear last pressed key
               print("Nodes discarded, list is now empty.");
            end;

            if( hf_key == "RESTART" ) then
               recordeNodes(_recordQuest, _recordHarvest ,_inrange , _waypointpass);
               saveRecpoints();
               hf_key = " ";   -- clear last pressed key
            end

            hf_key = nil;   -- clear last pressed key
         end;
         
         if lCount >= (rInterval * 1000) then
            recordeNodes(_recordQuest, _recordHarvest ,_inrange , _waypointpass);
            lCount = 0;
         end
         
         yrest(rInterval);
         
      end
   </onLoad>
</waypoints>