<?xml version="1.0" encoding="utf-8"?><waypoints>
<onLoad>
	changeProfileOption("MAX_TARGET_DIST", 25);
	changeProfileOption("COMBAT_DISTANCE", 25);
	
	local weapons = 2;
	local weapon1type = "BLADE"; -- main hand: AXE, AXE2H, BLADE, BLUDGEON, CLAYMORE, DAGGER, HAMMER, POLEARM, STAFF, WAND
	local weapon2type = "BLADE"; -- off-hand: AXE, AXE2H, BLADE, BLUDGEON, CLAYMORE, DAGGER, HAMMER, POLEARM, STAFF, WAND
	
	if(weapons == 1) then
		cprintf(cli.lightgreen,"Start training with %s weapon: %s!\n\n", weapons, weapon1type);
	elseif(weapons == 2) then
		cprintf(cli.lightgreen,"Start training with %s weapons: %s and %s!\n\n", weapons, weapon1type, weapon2type);
	else
		weapons = 1;
		cprintf(cli.lightred,"Weapons in waypoint file must be 1 or 2, please fix this!\n", weapons);
		cprintf(cli.lightgreen,"Start training with %s weapon: %s!\n\n", weapons, weapon1type);
	end
	
	local starttime = os.time();
	local startlevel1, startlevel2;
	local startpercent1, startpercent2;
	local reset1 = 0;
	local reset2 = 0;
	
	while true do
		player:clearTarget();
		local egg = player:findNearestNameOrId(106770)
			
		if egg and 50 > distance(egg.X, egg.Z, player.X, player.Z) then
			player:target(egg.Address)
			Attack()
			yrest(30000)
			
			cprintf(cli.lightgreen,"Dura mainhand: %s%%\n", math.floor(inventory:getMainHandDurability()));
			cprintf(cli.lightgreen,"Dura off-hand: %s%%\n", math.floor(inventory:getDurability(16)));

			-------------------------------
			
			
			local skill = RoMScript("GetPlayerCurrentSkillValue(\""..weapon1type.."\")");
			local levelmax = RoMScript("GetPlayerMaxSkillValue(\""..weapon1type.."\")");
			local level = math.floor(skill);
			local percent = math.floor((skill-level)*10000+0.5)/100;
			if (startlevel1 == nil) then
				reset1 = 1;
				startlevel1 = level;
				startpercent1 = skill-level;
			end
			if(startlevel1 ~= level) then
				reset1 = 1;
				startlevel1 = level;
				startpercent1 = skill-level;
				starttime = os.time();
			end
			
			local timediff = os.time() - starttime;
			local currentpercent = skill-level;
			local secondsleft = math.floor(((1-currentpercent)*timediff)/(currentpercent-startpercent1));
			local hours = math.floor(secondsleft/3600);
			local minutes = math.floor((secondsleft-(hours*3600))/60);
			local seconds = secondsleft - (hours*3600) - (minutes*60);
			
			if (reset1 == 1) then
				reset1 = 0;
				cprintf(cli.lightred,"%s level: %s/%s ... %s%%\tLvl in:: insufficient data to calculate time...\n", weapon1type, level, levelmax, percent);
			else
				cprintf(cli.lightgreen,"%s level: %s/%s ... %s%%\tLvl in: %sh %sm %ss\n", weapon1type, level, levelmax, percent, hours, minutes, seconds);
			end

			-------------------------------
			
			if( weapons == 2 and weapon1type ~= weapon2type) then
				
				local skill = RoMScript("GetPlayerCurrentSkillValue(\""..weapon2type.."\")");
				local levelmax = RoMScript("GetPlayerMaxSkillValue(\""..weapon2type.."\")");
				local level = math.floor(skill);
				local percent = math.floor((skill-level)*10000+0.5)/100;
				if (startlevel2 == nil) then
					reset2 = 1;
					startlevel2 = level;
					startpercent2 = skill-level;
				end
				if(startlevel2 ~= level) then
					reset2 = 1;
					startlevel2 = level;
					startpercent2 = skill-level;
					starttime = os.time();
				end
				
				local timediff = os.time() - starttime;
				local currentpercent = skill-level;
				local secondsleft = math.floor(((1-currentpercent)*timediff)/(currentpercent-startpercent2));
				local hours = math.floor(secondsleft/3600);
				local minutes = math.floor((secondsleft-(hours*3600))/60);
				local seconds = secondsleft - (hours*3600) - (minutes*60);
	
				if (reset2 == 1) then
					reset2 = 0;
					cprintf(cli.lightred,"%s level: %s/%s ... %s%%\tLvl in: insufficient data to calculate time...\n", weapon2type, level, levelmax, percent);
				else
					cprintf(cli.lightgreen,"%s level: %s/%s ... %s%%\tLvl in: %sh %sm %ss\n", weapon2type, level, levelmax, percent, hours, minutes, seconds);
				end
			end
			
			-------------------------------
					
			
			inventory:update()
			local hammer = inventory:itemTotalCount(201967);
			cprintf(cli.lightgreen,"Hammers left: %s\n", hammer);
			
			if ( 5 > inventory:getMainHandDurability() ) then 
				if hammer > 0 then
					cprintf(cli.lightred,"repairing mainhand....");
					inventory:useItem(201967);
					RoMScript("PickupEquipmentItem(15)");
					cprintf(cli.yellow,"done!\n");
					inventory:update();
				else
					cprintf(cli.lightred,"No simple rapair hammers in bag!\n");
					player:clearTarget();
					player:sleep();
				end
			end
			
			if ( 5 > inventory:getDurability(16) ) then
				if hammer > 1 then
					cprintf(cli.lightred,"repairing offhand....");
					inventory:useItem(201967);
					RoMScript("PickupEquipmentItem(16)");
					cprintf(cli.yellow,"done!\n");
					inventory:update();
				else
					cprintf(cli.lightred,"No or insufficient simple rapair hammers in bag!\n");
					player:clearTarget();
					player:sleep();
				end   
			end
		end
	end
</onLoad>
</waypoints>