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