Death Paths Jimmys Grinder Framework

User avatar
FarAwaY
Posts: 48
Joined: Sun Jan 29, 2017 9:31 pm
Has thanked: 22 times
Been thanked: 13 times

Re: Death Paths Jimmys Grinder Framework

Post by FarAwaY » Sat Mar 11, 2017 2:12 pm

Since some Updates Jimmys Grinder Framework dont Works like it have to do. I made some Test but i dont know why it doesn't works anymore so good like the first Time i test it.
Image

notteccy
Posts: 11
Joined: Fri Feb 03, 2017 1:13 am
Has thanked: 10 times

Re: Death Paths Jimmys Grinder Framework

Post by notteccy » Sat Mar 11, 2017 3:32 pm

Death path not working for me , will not self resurrect.... any ideas ? :)
:?

User avatar
nucular
Site Admin
Posts: 260
Joined: Sat Jan 07, 2017 9:08 pm
Has thanked: 27 times
Been thanked: 388 times

Re: Death Paths Jimmys Grinder Framework

Post by nucular » Sat Mar 11, 2017 5:15 pm

Yes since 5.3 they changed ressurection.

When NA hit's 5.3 i will add that change also in OfficialGrinderFramework.
Search in OfficialGrinderframework.lua for DialogList:GetDialog( "resurrect_dialog" ):IsVisible() you will find these 2 spots with different code.

Code: Select all

		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			Write ("Died switching the death nodes");
			Died = true;
			return false;
			
			.....
			
			
		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):Click();
			
			...
		end

bionuttt
Posts: 43
Joined: Sun Feb 05, 2017 8:25 pm
Has thanked: 5 times
Been thanked: 2 times

Re: Death Paths Jimmys Grinder Framework

Post by bionuttt » Sat Mar 11, 2017 7:23 pm

nucular wrote:
Sat Mar 11, 2017 5:15 pm
Yes since 5.3 they changed ressurection.

When NA hit's 5.3 i will add that change also in OfficialGrinderFramework.
Search in OfficialGrinderframework.lua for DialogList:GetDialog( "resurrect_dialog" ):IsVisible() you will find these 2 spots with different code.

Code: Select all

		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			Write ("Died switching the death nodes");
			Died = true;
			return false;
			
			.....
			
			
		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):Click();
			
			...
		end
where need to add this ? in OfficialGrinderframework.lua but what line couse i found more then 2

notteccy
Posts: 11
Joined: Fri Feb 03, 2017 1:13 am
Has thanked: 10 times

Re: Death Paths Jimmys Grinder Framework

Post by notteccy » Sun Mar 12, 2017 12:19 am

I think lines 136 and 641 .
need to confirm that with nucular though as i still dont have it working .......too long today will try again tomorrow :P
Thanks nucular for the scripting any idea why dont work for me ? is that the right lines ? :)

User avatar
nucular
Site Admin
Posts: 260
Joined: Sat Jan 07, 2017 9:08 pm
Has thanked: 27 times
Been thanked: 388 times

Re: Death Paths Jimmys Grinder Framework

Post by nucular » Sun Mar 12, 2017 6:35 am

JimmysGrinderFramework/GrinderFramework.lua For 5.3

Code: Select all

--[[

	--------------------------------------------------
	Copyright (C) 2011 Blastradius

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
	--------------------------------------------------
	
]]--

--[[

	Public Variables
	
		Controller			- Contains the controller instance. This can either be a player- or class-specific file.
		Class				- Contains the class instance. This is available when a player-specific file has been loaded.
		Framework			- Contains the framework functionality. These functions are used to run the engine.
		Helper				- Contains the helper functionality. These functions make it easier to execute actions.
		
	Private Variables
	
		_IsDead				- Indicates the target has died. Looting is only attempted once in case of full inventory.
		_IsResting			- Indicates whether or not the character is currently allowed to rest.
		_ForceLogout		- Indicates a force logout is coming up.
		_PositionStart		- Contains the starting position. This is used when no travel path has been allowed or loaded.
		_TravelStart		- Contains the object at which the travel list started.
		_TravelTimer		- Contains a timer indicating when to run to the next node.
		_SelectForce		- Contains the identifier of the entity to select. Used to avoid auto attacks on reflect.
		_SelectPrevious		- Contains the identifier of the previously selected entitiy.
		_SelectTimer		- Contains the timer of the previous send select command.
		_NumberOfLoot		- Contains the amount of times loot has been attempted.
		
	Room for Improvement
	
		Check inventory to see if you have room for additional items.
		Check for Loot windows, automatically roll and accept items.

]]--

--- OnLoad is called when the script is being initialized.
--
-- @return	void

function OnLoad()
	
	-- Load the settings from the file to allow the configuration of the framework.
	Settings = Include( "OfficialGrinderFramework/Settings.lua" );
	
	-- Load the helper functions that may be used by class- or player scripts.
	Helper = Include( "OfficialGrinderFramework/HelperFunction.lua" );
	
	-- Check if the settings file has been loaded correctly and contains the initalization routine.
	if Settings == nil or Helper == nil or Settings.Initialize == nil then
		Write( "Unable to find/load the framework settings/helper functions!" );
		Close();
		return false;
	end

	-- Actually load the values from the settings using the Initialize method.
	Settings:Initialize();
	
	-- Load the controller for the current player. This might fail if there is no specific file for the player.
	Controller = Include( "OfficialGrinderFramework/Players/" .. Player:GetName() .. ".lua" );
	
	-- Check if the controller was loaded, or load the class-specific controller.
	if Controller == nil then
		Controller = Include( "OfficialGrinderFramework/Classes/" .. Player:GetClass():ToString() .. ".lua" );
	else
		Class = Include( "OfficialGrinderFramework/Classes/" .. Player:GetClass():ToString() .. ".lua" );
	end
		
	-- If both a player controller and class controller are unavailable, abort the script.
	if Controller == nil then
		Write( "Unable to find a class or player controller!" );
		Close();
	-- Continue with the initialization of internal variables and perform some additional checks.
	else
	
		-- Initialize required framework variables.
		self._PositionStart = Player:GetPosition();
		self._NumberOfLoot = 0;
		
		-- Check the travel position and find the nearest node.
		Helper:CheckTravelPosition();
		
		-- Check if we are allowed to follow a travel path and one has been loaded; we need to ensure our position.
		if Settings.AllowTravel and TravelList ~= nil then
			self._TravelStart = TravelList:GetCurrent();
			TravelList:Move(); -- Move to the selected node!
		end
		
		-- Initialize the controller.
		if Controller.Initialize ~= nil then
			Controller:Initialize()
		end
	
	end

end

--- OnFrame: Detect movement stop on a per-frame basis to quickly chain movement.
--
-- @return	void

function OnFrame()
	if Settings.TravelDelay == 0 then
		if not Player:IsMoving() then
			if self._IsMoving then
				self:OnRun();
				self._IsMoving = false;
			end
		else
			self._IsMoving = true;
		end
	end
end

--- OnRun is called each frame to advance the script logic.
--
-- @return	void

function OnRun()
	if Died == null then
		Died = false;
	end
	if Died == false then
		-- Check if the resurrect dialog is available and the button enabled, go back to town.
		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			Write ("Died switching the death nodes");
			Died = true;
			return false;
		end

		-- Check if the ForceLogout value has been set, in which case we have to go.
		if self._ForceLogout ~= nil then
			-- Wait until the alert dialog is shown before closing the script.
			if DialogList:GetDialog( "quit_alert_dialog" ):IsVisible() then
				Close();
				return;
			end
			
			-- Use the console to logout.
			PlayerInput:Console( "/Logout" );
		end
		
		-- Check if we are currently busy or have been killed.
		if Player:IsBusy() or Player:IsDead() then
		--	return false;
		end
		
		-- Check if we are currently moving, when we are, we cannot do this.
		if not Player:IsMoving() and not Player:IsResting() then
		
			-- Check if we need to perform kind of healing routine.
			if Controller.Heal ~= nil and not Controller:Heal( true ) then
				return false;
			end
			
			-- Check the force members and see if we have to do anything.
			if Controller.Force ~= nil and not Controller:Force() then
				return false;
			end
			
			-- Check if we need to perform kind of healing routine.
			if Controller.Heal ~= nil and not Controller:Heal( false ) then
				return false;
			end
			
		end
		
		-- Check if we are allowed to attack
		if Settings.AllowAttack then
		
			-- Initialize the variable that we need to hold the target entity.
			local Entity = EntityList:GetEntity( Player:GetTargetID());
			
			-- Do an aggression check to see if something is attacking me.
			if Settings.AllowTravelAggressionCheck then
			
				local AggroEntity = Framework:FindTarget( true, Player:GetPosition());
				
				-- If something is attacking me, set is as the new target!
				if AggroEntity ~= nil and ( Entity == nil or Entity:IsDead()) then
					Player:SetTarget( AggroEntity );
					Player:SetMove( nil );
					self._IsResting = false;
					return false;
				end
				
			end
					
			-- Check if we are currently moving, when we are, don't continue.
			if Player:IsMoving() then
			
				-- Temporary fix until the new movement system is available.. sorry about that.
				while DialogList:GetDialog( "loot_dialog" ):IsVisible() do
					PlayerInput:Escape(); -- Close the damn loot.
				end
				if DialogList:GetDialog( "system_menu_dialog" ):IsVisible() then
					DialogList:GetDialog( "system_menu_dialog" ):SetVisible(false);
				end
				
				-- Check if the master name has been configured and attempt to find it.
				if Settings.MasterName ~= nil then
				
					-- Find the master entity, the one that is to be followed and supported.
					local EntityMaster = EntityList:GetEntity( Settings.MasterName );

					-- Check if the master is in the area and move to the master when not in range.
					if EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < 80 and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) > Settings.MasterMinimumRange then
						
						-- Check if the master is flying, in which case, we do the same!
						if EntityMaster:IsFlying() ~= Player:IsFlying() then
							if not EntityMaster:IsGliding() then
								PlayerInput:Ability( "Toggle Flight/Landing" );
								return;
							end
						end		
						
						Player:SetMove( EntityMaster:GetPosition());					
					elseif Settings.MasterMinimumRange > 0 and EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterMinimumRange then
						Player:SetMove( nil );
					end	
					
				end
				
				local MoveTarget = Player:GetMove();
				if MoveTarget == nil or Settings.AllowTravelPerfect or Player:GetPosition():DistanceToPosition( MoveTarget ) > 1 then
					return false;
				end

			end

			-- Check if responding on brands is allowed.
			if Settings.AllowBranding then
			
				-- Find the best brand to select. This can end up at a friendly to follow.
				local EntityBrand = Framework:FindBrand();
				
				-- Check if the branded target is friendly, in which case we need to follow it.
				if EntityBrand ~= nil and EntityBrand:IsFriendly() then
					if not Player:SetMove( EntityBrand:GetPosition()) and EntityBrand:IsResting() and not Player:IsResting() then
						PlayerInput:Ability( "Toggle Rest" );
						return false;
					end
				-- Check if the retrieved brand is valid and if the current target is set correctly.
				elseif EntityBrand ~= nil and ( Player:GetTargetID() == 0 or Player:GetTargetID() ~= EntityBrand:GetID() and not EntityBrand:IsDead()) then
					Player:SetTarget( EntityBrand );
					self._SelectTimer = Time() + 1000;
					return false;
				end
					
			end

			-- Check if potion usage has been allowed and we are not currently moving or resting.
			if Settings.Potion and not Player:IsMoving() and not self._IsResting then
				
				-- Check if a health potion is allowed and check if we have reached the threshold.
				if Settings.PotionHealth > 0 and Player:GetHealth() <= Settings.PotionHealth and not Helper:CheckPotionHealth() then
					return false;
				end
				
				-- Check if a mana potion is allowed and check if we have reached the threshold.
				if Settings.PotionMana > 0 and Player:GetMana() <= Settings.PotionMana and not Helper:CheckPotionMana() then
					return false;
				end
				
				-- Check if a recovery potion is allowed and check if we have reached the threshold.
				if Settings.PotionRecovery > 0 and Player:GetHealth() <= Settings.PotionRecovery and Player:GetMana() <= Settings.PotionRecovery and not Helper:CheckPotionRecovery() then
					return false;
				end
				
			end
			
			-- Check the current resting state and find a new target when we have no current target.
			if self._SelectForce == nil and ( self._IsDead ~= nil or Player:GetTargetID() == 0 or Player:GetTargetID() == Player:GetID() or self._SkipEntity == Player:GetTargetID()) then

				self._NumberOfLoot = 0;
				
				-- Check if the master name has been configured and attempt to find it.
				if Settings.MasterName ~= nil then
				
					-- Find the master entity, the one that is to be followed and supported.
					local EntityMaster = EntityList:GetEntity( Settings.MasterName );
					
					-- Check if the master is in the area and move to the master when not in range.
					if EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < 80 and Settings.MasterSupport then

						-- Find the target that has been selected by the master.
						local EntityMasterTarget = EntityList:GetEntity( EntityMaster:GetTargetID())
						
						-- Check if the master is resting, in which case, we do the same!
						if EntityMaster:IsResting() ~= Player:IsResting() then
							PlayerInput:Ability( "Toggle Rest" );
							return false;
						end
						
						-- Check if the master is flying, in which case, we do the same!
						if EntityMaster:IsFlying() ~= Player:IsFlying() then
							if not EntityMaster:IsGliding() and ( not Player:IsFlying() or Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange ) then
								PlayerInput:Ability( "Toggle Flight/Landing" );
								return;
							end
						end
						
						-- Check if the master is to be supported and is using an offensive skill!
						if EntityMasterTarget ~= nil and not EntityMasterTarget:IsFriendly() and Player:GetTargetID() ~= EntityMasterTarget:GetID() and not EntityMasterTarget:IsDead() and ( Settings.MasterSupportActive or ( EntityMaster:GetSkillID() ~= 0 and SkillList:GetSkill( EntityMaster:GetSkillID()):IsAttack())) then
							Player:SetTarget( EntityMasterTarget );
							self._SelectTimer = Time() + 1000;
							return false;
						end
						
					end
					
					if EntityMaster ~= nil and ( Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange or Player:SetMove( EntityMaster:GetPosition())) then
						-- Nothing.
					end
					
				end
			
				-- Make sure the forced dead switch is cleared now that we are running this routine.
				self._IsDead = nil;
				
				-- Make sure the previously selected entity is cleared.
				self._SelectPrevious = nil;
				
				-- Check if the target switching timer has been set and check if we are allowed to try again!
				if self._SelectTimer ~= nil and self._SelectTimer >= Time() then
					return false;
				-- Check our health and mana and enable the resting state when we have low health or mana (We cannot be under attack).
				elseif Settings.AllowRest and not self._IsResting and ( Player:GetHealth() < Settings.RestHealth or Player:GetMana() < Settings.RestMana or Player:GetFlightTime() < Settings.RestFlight ) and ( Settings.MasterName == nil or Settings.MasterName == Player:GetName() or EntityList:GetEntity( Settings.MasterName ) == nil ) then -- and Framework:FindTarget( false, nil, nil, true ) == nil then
					self._IsResting = true; 
					return false;
				-- When we are resting, wait until we are back at full health or start attacking when attacked.
				elseif self._IsResting then
					
					if Framework:FindTarget( true, Player:GetPosition()) ~= nil then
						self._IsResting = false;
					else
						-- Check the resting state and toggle rest when we have finished moving.
						if not Player:IsResting() and not Player:IsMoving() then
							PlayerInput:Ability( "Toggle Rest" );
							return false;
						end
						
						-- Nothing seems to be wrong so wait until we are back at full health and mana.
						if Player:GetHealth() == 100 and Player:GetManaCurrent() == Player:GetManaMaximum() and Player:GetFlightTime() == 100 then
							self._IsResting = false;
							return false;
						end
					end
				-- We are not in need of and kind of resting so continue selecting the next target.
				else -- if not Player:IsMoving() then
					
					-- Execute the pause routine. We need to perform certain checks here (We cannot be under attack).
					if Controller.Pause ~= nil and Target == nil and not Controller:Pause() then
						return false;
					end
					
					if Entity == nil or Entity:IsDead() or Entity:IsFriendly() then
						local AggroEntity = Framework:FindTarget( true, Player:GetPosition());
						if AggroEntity ~= nil then
							Player:SetTarget( AggroEntity );
							Player:SetMove( nil );
							self._IsResting = false;
							return false;
						end
					end
				
					-- Check if herb treatment should be checked and check it when it should.
					if not Player:IsFlying() and Settings.HerbTreatment and not Helper:CheckHerbTreatment() then
						_iTime = 4500;
						return false;
					end
					
					-- Check if mana treatment should be checked and check it when it should.
					if not Player:IsFlying() and Settings.ManaTreatment and not Helper:CheckManaTreatment() then
						_iTime = 4500;
						return false;
					end
					
					-- Check if travelling is allowed and a travel list has been loaded.
					if Settings.AllowTravel and TravelList ~= nil then
					
						-- Check if the current node is an action node, we will grind here!
						if TravelList:GetCurrent():IsAction() then
						
							-- Find a target that should be attacked.
							Entity = Framework:FindTarget( false, TravelList:GetCurrent():GetPosition());
							
							-- Configure the required minimum waiting time for each node.
							if self._TravelTimer == nil then
							
								-- Check if the node parameter is numeric, in which case we will use the value provided here.
								if tonumber( TravelList:GetCurrent():GetParam()) ~= nil then
									self._TravelTimer = Time() + tonumber( TravelList:GetCurrent():GetParam());
								-- Otherwise we will take the timer provided in the settings.
								else
									self._TravelTimer = Time() + Settings.TravelDelay;
								end
								
							end
						
							-- Check if a valid entity has been found.
							if Entity == nil then
							
								-- When we have arrived at the first node, pause until an entity has been available.
								if self._TravelTimer >= Time() then
									return true;
								-- Return to the original node position before trying to go to the next node.
								elseif Settings.AllowTravelPerfect and TravelList:Move() and Player:IsMoving() then
									return false;
								-- Finally we may go to the next node, clear the counter and timer and run to it.
								else
									-- Clear the travel timer, we need to set a new one once we have arrived.
									self._TravelTimer = nil;
									--
									if self._DetectNode ~= nil and not Settings.AllowTravelPerfect then
										Helper:CheckTravelPosition();
										self._DetectNode = nil;
									elseif not Player:IsBusy() or Player:GetPosition():DistanceToPosition( TravelList:GetCurrent():GetPosition()) <= 5 then
										TravelList:GetNext(); -- Select the next node in the travel list.
										if TravelList:GetCurrent():GetName() ~= "Death" then
											TravelList:Move(); -- Move to the selected node!
											Write ( "Moving to Next Node" );
										end
									end
									
									return true;
								end
								
							end
						
						-- Otherwise this might be a resting node, we need to set the resting state when we are not resting already!
						elseif TravelList:GetCurrent():IsRest() and not Player:IsResting() then
							self._IsResting = true;
						-- Otherwise this is a movement node, and as such, we need to move.
						elseif not Player:IsBusy() or Player:GetPosition():DistanceToPosition( TravelList:GetCurrent():GetPosition()) <= 5 then
							TravelList:GetNext();
							if TravelList:GetCurrent():GetName() ~= "Death" then
								TravelList:Move(); -- Move to the selected node!
								Write ( "Moving to Next Node" );
							end
						end
						
					-- Otherwise when travelling is not allowed, find a target nearby or start resting.
					elseif Settings.AllowTargetSearch then
					
						-- Find a target that should be attacked.
						Entity = Framework:FindTarget();
						
						-- Check if a valid entity has been found.
						if Entity == nil and self.AllowRest then
							self._IsResting = true;
							return true;
						end
						
					-- When attacking is not allowed and we aren't supposed to travel, wait patiently.
					else
						return true;
					end

					-- Set this entity as our new target.
					Player:SetTarget( Entity );
					self._SelectTimer = Time() + 1000;
					return false;
					
				end
				
			-- Check if we have a proper target. Start attacking when we have a proper target.
			else

				-- Find the entity that we have targeted.
				local Entity = nil;
				
				-- Check if a target has been forced to set and retrieve the entity.
				if self._SelectForce ~= nil then
					Entity = EntityList:GetEntity( _SelectForce );
				else
					Entity = EntityList:GetEntity( Player:GetTargetID());
				end
				
				-- Check if the found entity is valid and if the entity is friendly.
				if Entity == nil or Entity:IsFriendly() or Entity:IsGatherable() or Entity:IsObject() then
					self._IsDead = true;
					self._SelectForce = nil;
					return true;
				end

				-- Track the amount of selects that have been performed (Intentionally or by being attacked).
				if self._SelectPrevious == nil or Entity:GetID() ~= self._SelectPrevious then
					self._SelectPrevious = Entity:GetID();
				end
				
				-- When the entity has died, loot it and move on.
				if Entity:IsDead() then
					-- Check if we are allowed to loot the target and loot it!
					if Settings.AllowLoot and not Entity:IsPlayer() then -- and InventoryList:GetSlotCurrent() < InventoryList:GetSlotMaximum() then
						if PlayerInput:Ability( "Loot" ) then
							if Entity:GetPosition():DistanceToPosition( Player:GetPosition()) <= 7 then
								if ( Settings.AllowInsaneCpuConsumption and self._NumberOfLoot >= 30 ) or ( not Settings.AllowInsaneCpuConsumption and self._NumberOfLoot >= 4 ) then
									self._SkipEntity = Entity:GetID();
									self._IsDead = true;
								else
									self._NumberOfLoot = self._NumberOfLoot + 1;
								end
								self._DetectNode = true;
							end
							return false;
						end
					else
						self._SkipEntity = Entity:GetID();
						self._DetectNode = true;
						-- self._IsDead = true;
					end
					
					-- Return the function, we have completed it.
					return true;
					
				end
				
				-- Check if the resting state is still enabled and disable it when it is.
				if self._IsResting then
					self._IsResting = false;
				end

				-- Check if we are a melee orientated class and the target has reflect!
				-- NOTE: Removed CheckMelee, so even Sorcerers will take a break here. Some reason, that didn't work.. no clue why!
				if not Settings.AllowReflect and Helper:CheckReflect( Entity ) then
					
					-- Check if the controller contains a reflect function and run it.
					if Controller.Reflect ~= nil and not Controller:Reflect( Entity ) then
						return false;
					end
					
					-- Otherwise set the current target to myself.
					Player:SetTarget( Player );
					self._SelectForce = Entity:GetID();
					return false;
					
				-- When the enemy has been in a reflect state, set the target and remove the forced select.
				end

				-- Remove the forced select variable, we have passed through forced states.
				self._SelectForce = nil;
				
				-- Check if the current target is set correctly to the target. When forcing targets, this may not be the case.
				if Player:GetTargetID() ~= Entity:GetID() then
					Player:SetTarget( Entity );
					return false;
				end
				
				-- Retrieve the state of the entity to iterate to detect a stunned state.
				local EntityState = Entity:GetState();
							
				-- Initialize the stunned status of the target entity.
				local Stunned = false;
				
				-- Check if the retrieved entity state is correct.
				if EntityState ~= nil then
				
					-- Loop through the state of the target entity to see if it is stunned.
					for ID, StateIndex in DictionaryIterator( EntityState:GetList()) do
					
						-- Check if the state is correct and check if it is a stun.
						if StateIndex ~= nil and StateIndex:IsStun() then
							Stunned = true;
						end
						
					end
			
				end
				
				-- Check if we are currently in the resting state and stand up when we are.
				if Player:IsResting() then
					PlayerInput:Ability( "Toggle Rest" );
					return false;
				end

				-- Execute the attack routine and return what is returned.
				if Controller.Attack ~= nil then
				
					-- Check if the target does not have a target.
					if Entity:GetTargetId() == 0 and Player:GetClass():ToString() ~= "Spiritmaster" then
						-- Retrieve the distance to the target.
						local LosPosition = Player:GetPosition();
						-- Initialize a boolean indicating whether the Los is valid.
						local LosValid = false;
						-- Check if this entity matches the Los-variables.
						if self._LosPosition ~= nil and self._LosId ~= nil and self._LosTime ~= nil and Entity:GetId() == self._LosId then
							-- Retrieve the skill identifier.
							local SkillId = Player:GetSkillId();
							-- Check if the distance has changed.
							if math.floor( self._LosPosition.X ) ~= math.floor( Player:GetPosition().X ) and math.floor( self._LosPosition.Y ) ~= math.floor( Player:GetPosition().Y ) then
								LosValid = true;
							-- Check if we are performing an attack.
							elseif SkillId ~= 0 and SkillList:GetSkill( SkillId ):IsAttack() then
								LosValid = true;
							end
						-- Otherwise set the Los-variables.
						else
							LosValid = true;
							self._LosPosition = Player:GetPosition();
							self._LosId = Entity:GetId();
							self._LosTime = Time();
						end
						-- Check if the Los is not valid.
						if not LosValid then
							-- Check if the time has expired for the Los check!
							if self._LosTime + 4000 < Time() then
								self._LosIdSkip = Entity:GetId();
								Player:SetTarget( Player );
							end
						-- Otherwise extend the Los time.
						else
							self._LosTime = Time();
						end
					else
						self._LosIdSkip = nil;
					end
				
					return Controller:Attack( Entity, Entity:GetPosition():DistanceToPosition( Player:GetPosition()), Stunned );
				end
				
			end
			
		end
		
		-- Nothing was executed, continue with other functions.
		return true;
	elseif Died == true then
		-- Check if the resurrect dialog is available and the button enabled, go back to town.
		if Settings.AllowRessurectQuit and Player:IsDead() and DialogList:GetDialog( "resurrect_dialog" ):IsVisible() and DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):IsEnabled() then
			DialogList:GetDialog( "resurrect_dialog/resurrect_list/resurrect_prototype/ok" ):Click();
			-- self._ForceLogout = true;
			
			-- Check the travel position and find the nearest node.
			Helper:CheckTravelPosition();
			
			-- Check if we are allowed to follow a travel path and one has been loaded; we need to ensure our position.
			if Settings.AllowTravel and TravelList ~= nil then
				self._TravelStart = TravelList:GetCurrent();
				TravelList:Move(); -- Move to the selected node!
				Write ( "Setting First death node" );
			end
			return false;
		end

		-- Check if the ForceLogout value has been set, in which case we have to go.
		if self._ForceLogout ~= nil then
			-- Wait until the alert dialog is shown before closing the script.
			if DialogList:GetDialog( "quit_alert_dialog" ):IsVisible() then
				Close();
				return;
			end
			
			-- Use the console to logout.
			PlayerInput:Console( "/Logout" );
		end
		
		-- Check if we are currently busy or have been killed.
		if Player:IsBusy() or Player:IsDead() then
		--	return false;
		end
		
		-- Check if we are currently moving, when we are, we cannot do this.
		if not Player:IsMoving() and not Player:IsResting() then
		
			-- Check if we need to perform kind of healing routine.
			if Controller.Heal ~= nil and not Controller:Heal( true ) then
				return false;
			end
			
			-- Check the force members and see if we have to do anything.
			if Controller.Force ~= nil and not Controller:Force() then
				return false;
			end
			
			-- Check if we need to perform kind of healing routine.
			if Controller.Heal ~= nil and not Controller:Heal( false ) then
				return false;
			end
			
		end
		
		-- Check if we are allowed to attack
		if Settings.AllowAttack then
		
			-- Initialize the variable that we need to hold the target entity.
			local Entity = EntityList:GetEntity( Player:GetTargetID());
			
			-- Do an aggression check to see if something is attacking me.
			if Settings.AllowTravelAggressionCheck then
			
				local AggroEntity = Framework:FindTarget( true, Player:GetPosition());
				
				-- If something is attacking me, set is as the new target!
				if AggroEntity ~= nil and ( Entity == nil or Entity:IsDead()) then
					Player:SetTarget( AggroEntity );
					Player:SetMove( nil );
					self._IsResting = false;
					return false;
				end
				
			end
					
			-- Check if we are currently moving, when we are, don't continue.
			if Player:IsMoving() then
			
				-- Temporary fix until the new movement system is available.. sorry about that.
				while DialogList:GetDialog( "loot_dialog" ):IsVisible() do
					PlayerInput:Escape(); -- Close the damn loot.
				end
				if DialogList:GetDialog( "system_menu_dialog" ):IsVisible() then
					DialogList:GetDialog( "system_menu_dialog" ):SetVisible(false);
				end
				
				-- Check if the master name has been configured and attempt to find it.
				if Settings.MasterName ~= nil then
				
					-- Find the master entity, the one that is to be followed and supported.
					local EntityMaster = EntityList:GetEntity( Settings.MasterName );

					-- Check if the master is in the area and move to the master when not in range.
					if EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < 80 and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) > Settings.MasterMinimumRange then
						
						-- Check if the master is flying, in which case, we do the same!
						if EntityMaster:IsFlying() ~= Player:IsFlying() then
							if not EntityMaster:IsGliding() then
								PlayerInput:Ability( "Toggle Flight/Landing" );
								return;
							end
						end		
						
						Player:SetMove( EntityMaster:GetPosition());					
					elseif Settings.MasterMinimumRange > 0 and EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterMinimumRange then
						Player:SetMove( nil );
					end	
					
				end
				
				local MoveTarget = Player:GetMove();
				if MoveTarget == nil or Settings.AllowTravelPerfect or Player:GetPosition():DistanceToPosition( MoveTarget ) > 1 then
					return false;
				end

			end

			-- Check if responding on brands is allowed.
			if Settings.AllowBranding then
			
				-- Find the best brand to select. This can end up at a friendly to follow.
				local EntityBrand = Framework:FindBrand();
				
				-- Check if the branded target is friendly, in which case we need to follow it.
				if EntityBrand ~= nil and EntityBrand:IsFriendly() then
					if not Player:SetMove( EntityBrand:GetPosition()) and EntityBrand:IsResting() and not Player:IsResting() then
						PlayerInput:Ability( "Toggle Rest" );
						return false;
					end
				-- Check if the retrieved brand is valid and if the current target is set correctly.
				elseif EntityBrand ~= nil and ( Player:GetTargetID() == 0 or Player:GetTargetID() ~= EntityBrand:GetID() and not EntityBrand:IsDead()) then
					Player:SetTarget( EntityBrand );
					self._SelectTimer = Time() + 1000;
					return false;
				end
					
			end

			-- Check if potion usage has been allowed and we are not currently moving or resting.
			if Settings.Potion and not Player:IsMoving() and not self._IsResting then
				
				-- Check if a health potion is allowed and check if we have reached the threshold.
				if Settings.PotionHealth > 0 and Player:GetHealth() <= Settings.PotionHealth and not Helper:CheckPotionHealth() then
					return false;
				end
				
				-- Check if a mana potion is allowed and check if we have reached the threshold.
				if Settings.PotionMana > 0 and Player:GetMana() <= Settings.PotionMana and not Helper:CheckPotionMana() then
					return false;
				end
				
				-- Check if a recovery potion is allowed and check if we have reached the threshold.
				if Settings.PotionRecovery > 0 and Player:GetHealth() <= Settings.PotionRecovery and Player:GetMana() <= Settings.PotionRecovery and not Helper:CheckPotionRecovery() then
					return false;
				end
				
			end
			
			-- Check the current resting state and find a new target when we have no current target.
			if self._SelectForce == nil and ( self._IsDead ~= nil or Player:GetTargetID() == 0 or Player:GetTargetID() == Player:GetID() or self._SkipEntity == Player:GetTargetID()) then

				self._NumberOfLoot = 0;
				
				-- Check if the master name has been configured and attempt to find it.
				if Settings.MasterName ~= nil then
				
					-- Find the master entity, the one that is to be followed and supported.
					local EntityMaster = EntityList:GetEntity( Settings.MasterName );
					
					-- Check if the master is in the area and move to the master when not in range.
					if EntityMaster ~= nil and Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < 80 and Settings.MasterSupport then

						-- Find the target that has been selected by the master.
						local EntityMasterTarget = EntityList:GetEntity( EntityMaster:GetTargetID())
						
						-- Check if the master is resting, in which case, we do the same!
						if EntityMaster:IsResting() ~= Player:IsResting() then
							PlayerInput:Ability( "Toggle Rest" );
							return false;
						end
						
						-- Check if the master is flying, in which case, we do the same!
						if EntityMaster:IsFlying() ~= Player:IsFlying() then
							if not EntityMaster:IsGliding() and ( not Player:IsFlying() or Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange ) then
								PlayerInput:Ability( "Toggle Flight/Landing" );
								return;
							end
						end
						
						-- Check if the master is to be supported and is using an offensive skill!
						if EntityMasterTarget ~= nil and not EntityMasterTarget:IsFriendly() and Player:GetTargetID() ~= EntityMasterTarget:GetID() and not EntityMasterTarget:IsDead() and ( Settings.MasterSupportActive or ( EntityMaster:GetSkillID() ~= 0 and SkillList:GetSkill( EntityMaster:GetSkillID()):IsAttack())) then
							Player:SetTarget( EntityMasterTarget );
							self._SelectTimer = Time() + 1000;
							return false;
						end
						
					end
					
					if EntityMaster ~= nil and ( Player:GetPosition():DistanceToPosition( EntityMaster:GetPosition()) < Settings.MasterFollowRange or Player:SetMove( EntityMaster:GetPosition())) then
						-- Nothing.
					end
					
				end
			
				-- Make sure the forced dead switch is cleared now that we are running this routine.
				self._IsDead = nil;
				
				-- Make sure the previously selected entity is cleared.
				self._SelectPrevious = nil;
				
				-- Check if the target switching timer has been set and check if we are allowed to try again!
				if self._SelectTimer ~= nil and self._SelectTimer >= Time() then
					return false;
				-- Check our health and mana and enable the resting state when we have low health or mana (We cannot be under attack).
				elseif Settings.AllowRest and not self._IsResting and ( Player:GetHealth() < Settings.RestHealth or Player:GetMana() < Settings.RestMana or Player:GetFlightTime() < Settings.RestFlight ) and ( Settings.MasterName == nil or Settings.MasterName == Player:GetName() or EntityList:GetEntity( Settings.MasterName ) == nil ) then -- and Framework:FindTarget( false, nil, nil, true ) == nil then
					self._IsResting = true; 
					return false;
				-- When we are resting, wait until we are back at full health or start attacking when attacked.
				elseif self._IsResting then
					
					if Framework:FindTarget( true, Player:GetPosition()) ~= nil then
						self._IsResting = false;
					else
						-- Check the resting state and toggle rest when we have finished moving.
						if not Player:IsResting() and not Player:IsMoving() then
							PlayerInput:Ability( "Toggle Rest" );
							return false;
						end
						
						-- Nothing seems to be wrong so wait until we are back at full health and mana.
						if Player:GetHealth() == 100 and Player:GetManaCurrent() == Player:GetManaMaximum() and Player:GetFlightTime() == 100 then
							self._IsResting = false;
							return false;
						end
					end
				-- We are not in need of and kind of resting so continue selecting the next target.
				else -- if not Player:IsMoving() then
					
					-- Execute the pause routine. We need to perform certain checks here (We cannot be under attack).
					if Controller.Pause ~= nil and Target == nil and not Controller:Pause() then
						return false;
					end
					
					if Entity == nil or Entity:IsDead() or Entity:IsFriendly() then
						local AggroEntity = Framework:FindTarget( true, Player:GetPosition());
						if AggroEntity ~= nil then
							Player:SetTarget( AggroEntity );
							Player:SetMove( nil );
							self._IsResting = false;
							return false;
						end
					end
				
					-- Check if herb treatment should be checked and check it when it should.
					if not Player:IsFlying() and Settings.HerbTreatment and not Helper:CheckHerbTreatment() then
						_iTime = 4500;
						return false;
					end
					
					-- Check if mana treatment should be checked and check it when it should.
					if not Player:IsFlying() and Settings.ManaTreatment and not Helper:CheckManaTreatment() then
						_iTime = 4500;
						return false;
					end
					
					-- Check if travelling is allowed and a travel list has been loaded.
					if Settings.AllowTravel and TravelList ~= nil then
					
						-- Check if the current node is an action node, we will grind here!
						if TravelList:GetCurrent():IsAction() then
						
							-- Find a target that should be attacked.
							Entity = Framework:FindTarget( false, TravelList:GetCurrent():GetPosition());
							
							-- Configure the required minimum waiting time for each node.
							if self._TravelTimer == nil then
							
								-- Check if the node parameter is numeric, in which case we will use the value provided here.
								if tonumber( TravelList:GetCurrent():GetParam()) ~= nil then
									self._TravelTimer = Time() + tonumber( TravelList:GetCurrent():GetParam());
								-- Otherwise we will take the timer provided in the settings.
								else
									self._TravelTimer = Time() + Settings.TravelDelay;
								end
								
							end
						
							-- Check if a valid entity has been found.
							if Entity == nil then
							
								-- When we have arrived at the first node, pause until an entity has been available.
								if self._TravelTimer >= Time() then
									return true;
								-- Return to the original node position before trying to go to the next node.
								elseif Settings.AllowTravelPerfect and TravelList:Move() and Player:IsMoving() then
									return false;
								-- Finally we may go to the next node, clear the counter and timer and run to it.
								else
									-- Clear the travel timer, we need to set a new one once we have arrived.
									self._TravelTimer = nil;
									--
									if self._DetectNode ~= nil and not Settings.AllowTravelPerfect then
										Helper:CheckTravelPosition();
										self._DetectNode = nil;
									elseif not Player:IsBusy() or Player:GetPosition():DistanceToPosition( TravelList:GetCurrent():GetPosition()) <= 5 then
										TravelList:GetNext(); -- Select the next node in the travel list.
										if TravelList:GetCurrent():GetName() == "Death" then
											TravelList:Move(); -- Move to the selected node!
											Write ( "Moving to Death Node" );
										end
									end
									
									return true;
								end
								
							end
						
						-- Otherwise this might be a resting node, we need to set the resting state when we are not resting already!
						elseif TravelList:GetCurrent():IsRest() and not Player:IsResting() then
							self._IsResting = true;
						-- Otherwise this is a movement node, and as such, we need to move.
						elseif not Player:IsBusy() or Player:GetPosition():DistanceToPosition( TravelList:GetCurrent():GetPosition()) <= 5 then
							TravelList:GetNext();
							if TravelList:GetCurrent():GetName() == "Death" then
								TravelList:Move(); -- Move to the selected node!
								Write ( "Moving to Death Node" );
							elseif TravelList:GetCurrent():GetName() == "Start" then
								Died = false;
								Write ("Switching to Normal Nodes");
							end
						end
						
					-- Otherwise when travelling is not allowed, find a target nearby or start resting.
					elseif Settings.AllowTargetSearch then
					
						-- Find a target that should be attacked.
						Entity = Framework:FindTarget();
						
						-- Check if a valid entity has been found.
						if Entity == nil and self.AllowRest then
							self._IsResting = true;
							return true;
						end
						
					-- When attacking is not allowed and we aren't supposed to travel, wait patiently.
					else
						return true;
					end

					-- Set this entity as our new target.
					Player:SetTarget( Entity );
					self._SelectTimer = Time() + 1000;
					return false;
					
				end
				
			-- Check if we have a proper target. Start attacking when we have a proper target.
			else

				-- Find the entity that we have targeted.
				local Entity = nil;
				
				-- Check if a target has been forced to set and retrieve the entity.
				if self._SelectForce ~= nil then
					Entity = EntityList:GetEntity( _SelectForce );
				else
					Entity = EntityList:GetEntity( Player:GetTargetID());
				end
				
				-- Check if the found entity is valid and if the entity is friendly.
				if Entity == nil or Entity:IsFriendly() or Entity:IsGatherable() or Entity:IsObject() then
					self._IsDead = true;
					self._SelectForce = nil;
					return true;
				end

				-- Track the amount of selects that have been performed (Intentionally or by being attacked).
				if self._SelectPrevious == nil or Entity:GetID() ~= self._SelectPrevious then
					self._SelectPrevious = Entity:GetID();
				end
				
				-- When the entity has died, loot it and move on.
				if Entity:IsDead() then
					-- Check if we are allowed to loot the target and loot it!
					if Settings.AllowLoot and not Entity:IsPlayer() then -- and InventoryList:GetSlotCurrent() < InventoryList:GetSlotMaximum() then
						if PlayerInput:Ability( "Loot" ) then
							if Entity:GetPosition():DistanceToPosition( Player:GetPosition()) <= 7 then
								if ( Settings.AllowInsaneCpuConsumption and self._NumberOfLoot >= 30 ) or ( not Settings.AllowInsaneCpuConsumption and self._NumberOfLoot >= 4 ) then
									self._SkipEntity = Entity:GetID();
									self._IsDead = true;
								else
									self._NumberOfLoot = self._NumberOfLoot + 1;
								end
								self._DetectNode = true;
							end
							return false;
						end
					else
						self._SkipEntity = Entity:GetID();
						self._DetectNode = true;
						-- self._IsDead = true;
					end
					
					-- Return the function, we have completed it.
					return true;
					
				end
				
				-- Check if the resting state is still enabled and disable it when it is.
				if self._IsResting then
					self._IsResting = false;
				end

				-- Check if we are a melee orientated class and the target has reflect!
				-- NOTE: Removed CheckMelee, so even Sorcerers will take a break here. Some reason, that didn't work.. no clue why!
				if not Settings.AllowReflect and Helper:CheckReflect( Entity ) then
					
					-- Check if the controller contains a reflect function and run it.
					if Controller.Reflect ~= nil and not Controller:Reflect( Entity ) then
						return false;
					end
					
					-- Otherwise set the current target to myself.
					Player:SetTarget( Player );
					self._SelectForce = Entity:GetID();
					return false;
					
				-- When the enemy has been in a reflect state, set the target and remove the forced select.
				end

				-- Remove the forced select variable, we have passed through forced states.
				self._SelectForce = nil;
				
				-- Check if the current target is set correctly to the target. When forcing targets, this may not be the case.
				if Player:GetTargetID() ~= Entity:GetID() then
					Player:SetTarget( Entity );
					return false;
				end
				
				-- Retrieve the state of the entity to iterate to detect a stunned state.
				local EntityState = Entity:GetState();
							
				-- Initialize the stunned status of the target entity.
				local Stunned = false;
				
				-- Check if the retrieved entity state is correct.
				if EntityState ~= nil then
				
					-- Loop through the state of the target entity to see if it is stunned.
					for ID, StateIndex in DictionaryIterator( EntityState:GetList()) do
					
						-- Check if the state is correct and check if it is a stun.
						if StateIndex ~= nil and StateIndex:IsStun() then
							Stunned = true;
						end
						
					end
			
				end
				
				-- Check if we are currently in the resting state and stand up when we are.
				if Player:IsResting() then
					PlayerInput:Ability( "Toggle Rest" );
					return false;
				end

				-- Execute the attack routine and return what is returned.
				if Controller.Attack ~= nil then
				
					-- Check if the target does not have a target.
					if Entity:GetTargetId() == 0 and Player:GetClass():ToString() ~= "Spiritmaster" then
						-- Retrieve the distance to the target.
						local LosPosition = Player:GetPosition();
						-- Initialize a boolean indicating whether the Los is valid.
						local LosValid = false;
						-- Check if this entity matches the Los-variables.
						if self._LosPosition ~= nil and self._LosId ~= nil and self._LosTime ~= nil and Entity:GetId() == self._LosId then
							-- Retrieve the skill identifier.
							local SkillId = Player:GetSkillId();
							-- Check if the distance has changed.
							if math.floor( self._LosPosition.X ) ~= math.floor( Player:GetPosition().X ) and math.floor( self._LosPosition.Y ) ~= math.floor( Player:GetPosition().Y ) then
								LosValid = true;
							-- Check if we are performing an attack.
							elseif SkillId ~= 0 and SkillList:GetSkill( SkillId ):IsAttack() then
								LosValid = true;
							end
						-- Otherwise set the Los-variables.
						else
							LosValid = true;
							self._LosPosition = Player:GetPosition();
							self._LosId = Entity:GetId();
							self._LosTime = Time();
						end
						-- Check if the Los is not valid.
						if not LosValid then
							-- Check if the time has expired for the Los check!
							if self._LosTime + 4000 < Time() then
								self._LosIdSkip = Entity:GetId();
								Player:SetTarget( Player );
							end
						-- Otherwise extend the Los time.
						else
							self._LosTime = Time();
						end
					else
						self._LosIdSkip = nil;
					end
				
					return Controller:Attack( Entity, Entity:GetPosition():DistanceToPosition( Player:GetPosition()), Stunned );
				end
				
			end
		end
		
		-- Nothing was executed, continue with other functions.
		return true;
	end
end

--- Finds the entity that has the highest branded priority.
--
-- @return	void

function FindBrand()

	-- Retrieve the entity for the current brand.
	local Entity = EntityList:GetEntity( Player:GetBrand( 14 ));
	
	-- Check if the entity is valid and if it is alive.
	if Entity ~= nil and not Entity:IsDead() then
		return Entity;
	end
		
	-- Retrieve the entity for the current brand.
	Entity = EntityList:GetEntity( Player:GetBrand( 13 ));
	
	-- Check if the entity is valid and if it is alive.
	if Entity ~= nil and not Entity:IsDead() then
		return Entity;
	end
	
	-- Loop through the four numeric brands indicating the next targets.
	for i = 1, 4, 1 do
	
		-- Retrieve the entity for the current brand.
		Entity = EntityList:GetEntity( Player:GetBrand( i ));
		
		-- Check if the entity is valid and if it is alive.
		if Entity ~= nil and not Entity:IsDead() then
			return Entity;
		end
		
	end
	
	-- Retrieve the entity for the current brand.
	Entity = EntityList:GetEntity( Player:GetBrand( 12 ));
	
	-- Check if the entity is valid and if it is alive.
	if Entity ~= nil and not Entity:IsDead() and Entity:IsFriendly() then
		return Entity;
	end
	
	-- Return nothing, no brand has been found.
	return nil;
	
end	

--- Finds the spirit entity that is owned by the current player (if any).
--
-- @param	integer	Contains the identifier to look for.
-- @return	void

function FindSpirit( ID )

	-- Check the provided identifier to look for, otherwise use my own identifier.
	if ID == nil then
		ID = Player:GetID();
	end

	-- Loop through the available entities to find the spirit.
	for ID, Entity in DictionaryIterator( EntityList:GetList()) do
	
		-- Check if this monster is a spirit and belongs to me!
		if Entity:GetOwnerID() == Player:GetID() and string.find( Entity:GetName(), "Spirit" ) ~= nil then
			return Entity;	
		end
		
	end

	-- Return nothing, the spirit has not been found.
	return nil;
	
end

--- Finds the best monster to attack at the provided area.
--
-- @param	bool		Indicates whether or not to restrict to search to attackers.
-- @param	Vector3D	Contains the position to search from, otherwise the default is used.
-- @param	float		Contains the maximum distance to search entities in, otherwise the default is used.
-- @param	bool		Indicates whether or not to resrict to priority targets.
-- @return	Entity

function FindTarget( Restricted, Position, Distance, Priority )

	-- Prepare the variables to contain the list, best entity and distance.
	local EntitySpirit = Framework:FindSpirit();
	local BestEntity = nil;
	local BestDistance = 0;

	-- Check if a position has been provided and use the starting position when this is not the case.
	if Position == nil then
		Position = self._PositionStart;
	end

	-- Check if a position has been provided and use the starting position when this is not the case.
	if Distance == nil then
		if Restricted then
			Distance = 30;
		else
			Distance = Settings.TargetSearchDistance;
		end
	end

	-- Loop through the available entities to find the spirit.
	for ID, Entity in DictionaryIterator( EntityList:GetList()) do

		-- Check if this monster is in the maximum range from the starting position, if is a proper monster and if it is alive.
		if ( self._LosIdSkip == nil or ( Entity:GetId() ~= self._LosIdSkip or Entity:GetTargetId() == Player:GetId())) and Entity:IsMonster() and not Entity:IsFriendly() and not Entity:IsDead() and not Entity:IsObject() and not Entity:IsHidden() then

			if Position:DistanceToPosition( Entity:GetPosition()) < Distance then
			
				-- Check if this monster is not engaged in combat with another player. This is skipped when searching for attackers only!
				if not Priority and ( Restricted == nil or Restricted == false ) and ( Entity:GetTargetID() == 0 or Entity:GetTargetID() == Entity:GetID() or ForceList:GetForce( Entity:GetTargetID()) ~= nil or ( EntitySpirit ~= nil and Entity:GetTargetID() == EntitySpirit:GetID())) then

					-- Check if this entity has a level higher than one or we are in Ishalgen/Poeta.
					if Entity:GetLevel() > 1 or Player:GetWorld() == 220010000 or Player:GetWorld() == 210010000 then
					
						-- Calculate the distance from my position to the target entity.
						local CurrentDistance = Player:GetPosition():DistanceToPosition( Entity:GetPosition());
						
						-- Check if the monster is hostile, in which case it gets a higher priority due to it attacking us when near.
						if Entity:IsHostile() then
							CurrentDistance = CurrentDistance - 10;
						end
						
						-- Check if this entity is closer than the previous monster and remember it when it is.
						if BestDistance == 0 or BestDistance > CurrentDistance then
							BestDistance = CurrentDistance
							BestEntity = Entity;
						end
						
					end
					
				-- Check if this monster has targeted me and assign the highest priority on it!
				elseif Entity:GetTargetID() == Player:GetID() and BestDistance > -10 then
					BestEntity = Entity;
					BestDistance = -10;
				-- Check if this monster has targeted my spirit (if it is available), which will be the second highest priority!
				elseif EntitySpirit ~= nil and Entity:GetTargetID() == EntitySpirit:GetID() and BestDistance > -5 then
					BestEntity = Entity;
					BestDistance = -5;
				end
				
			end
			
		end
		
	end

	-- Return the best entity match we have found.
	return BestEntity;
	
end

bionuttt
Posts: 43
Joined: Sun Feb 05, 2017 8:25 pm
Has thanked: 5 times
Been thanked: 2 times

Re: Death Paths Jimmys Grinder Framework

Post by bionuttt » Sun Mar 12, 2017 8:50 am

my bot run like an mongol , he dont respect the waypoints form ress point until start point, when i start the bot he need to go for example to nodes 1 ,2 ,3 ,4 ....100 , he dont want to go like that he go 1 ,2 , 100. and stuck in the wall in tower.

Code: Select all

<TravelList Reverse="False">
  <Travel>
    <Name>Death</Name>
    <X>1401.24</X>
    <Y>1303.47</Y>
    <Z>336.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1406.12</X>
    <Y>1306.65</Y>
    <Z>336.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1410.74</X>
    <Y>1309.69</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1415.56</X>
    <Y>1312.61</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1420.05</X>
    <Y>1315.32</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1426.27</X>
    <Y>1319.07</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1431.88</X>
    <Y>1322.44</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1437.79</X>
    <Y>1325.93</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1442.21</X>
    <Y>1328.30</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1448.44</X>
    <Y>1330.80</Y>
    <Z>336.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1455.38</X>
    <Y>1332.46</Y>
    <Z>336.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1462.31</X>
    <Y>1332.60</Y>
    <Z>336.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1468.91</X>
    <Y>1331.58</Y>
    <Z>336.65</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1475.76</X>
    <Y>1329.99</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1482.42</X>
    <Y>1328.29</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1489.37</X>
    <Y>1326.42</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1495.78</X>
    <Y>1324.74</Y>
    <Z>336.80</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1503.03</X>
    <Y>1324.74</Y>
    <Z>335.81</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1509.79</X>
    <Y>1327.11</Y>
    <Z>332.85</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1514.46</X>
    <Y>1329.18</Y>
    <Z>330.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1520.46</X>
    <Y>1331.96</Y>
    <Z>329.88</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1527.15</X>
    <Y>1335.06</Y>
    <Z>329.88</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1532.85</X>
    <Y>1337.71</Y>
    <Z>327.41</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1539.50</X>
    <Y>1340.89</Y>
    <Z>324.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1545.81</X>
    <Y>1343.95</Y>
    <Z>323.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1551.66</X>
    <Y>1346.78</Y>
    <Z>321.80</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1555.85</X>
    <Y>1348.80</Y>
    <Z>319.92</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1560.14</X>
    <Y>1350.87</Y>
    <Z>318.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1566.54</X>
    <Y>1353.97</Y>
    <Z>316.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1572.90</X>
    <Y>1357.04</Y>
    <Z>315.64</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1578.56</X>
    <Y>1359.76</Y>
    <Z>314.35</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1585.17</X>
    <Y>1362.84</Y>
    <Z>313.52</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1591.72</X>
    <Y>1365.80</Y>
    <Z>313.08</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1598.06</X>
    <Y>1368.64</Y>
    <Z>311.49</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1604.17</X>
    <Y>1371.34</Y>
    <Z>309.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1610.23</X>
    <Y>1373.97</Y>
    <Z>308.35</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1615.07</X>
    <Y>1376.04</Y>
    <Z>307.49</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1621.05</X>
    <Y>1378.60</Y>
    <Z>306.54</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1627.65</X>
    <Y>1381.41</Y>
    <Z>305.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1633.61</X>
    <Y>1383.94</Y>
    <Z>305.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1640.17</X>
    <Y>1386.75</Y>
    <Z>305.64</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1646.43</X>
    <Y>1389.72</Y>
    <Z>306.16</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1652.08</X>
    <Y>1393.27</Y>
    <Z>307.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1655.78</X>
    <Y>1396.60</Y>
    <Z>307.97</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1660.11</X>
    <Y>1401.65</Y>
    <Z>308.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1664.30</X>
    <Y>1407.42</Y>
    <Z>309.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1668.23</X>
    <Y>1413.20</Y>
    <Z>309.55</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1672.23</X>
    <Y>1419.13</Y>
    <Z>309.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1675.91</X>
    <Y>1424.59</Y>
    <Z>308.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1679.82</X>
    <Y>1430.39</Y>
    <Z>308.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1683.82</X>
    <Y>1436.33</Y>
    <Z>307.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1687.51</X>
    <Y>1441.74</Y>
    <Z>307.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1691.55</X>
    <Y>1447.57</Y>
    <Z>307.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1695.31</X>
    <Y>1452.99</Y>
    <Z>307.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1698.74</X>
    <Y>1459.06</Y>
    <Z>306.89</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1701.06</X>
    <Y>1465.73</Y>
    <Z>306.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1702.98</X>
    <Y>1471.93</Y>
    <Z>305.82</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1704.91</X>
    <Y>1478.78</Y>
    <Z>305.14</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1706.74</X>
    <Y>1485.52</Y>
    <Z>304.61</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1708.73</X>
    <Y>1492.26</Y>
    <Z>304.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1710.77</X>
    <Y>1498.72</Y>
    <Z>303.78</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1712.93</X>
    <Y>1505.37</Y>
    <Z>303.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1715.42</X>
    <Y>1511.91</Y>
    <Z>303.46</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1718.63</X>
    <Y>1517.84</Y>
    <Z>303.82</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1723.07</X>
    <Y>1523.23</Y>
    <Z>304.59</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1728.31</X>
    <Y>1527.85</Y>
    <Z>305.53</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1733.80</X>
    <Y>1532.34</Y>
    <Z>306.50</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1739.00</X>
    <Y>1536.47</Y>
    <Z>307.56</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1744.54</X>
    <Y>1540.83</Y>
    <Z>308.80</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1749.85</X>
    <Y>1545.13</Y>
    <Z>309.76</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1754.62</X>
    <Y>1549.84</Y>
    <Z>310.68</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1759.37</X>
    <Y>1555.16</Y>
    <Z>311.86</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1763.82</X>
    <Y>1560.57</Y>
    <Z>313.05</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1767.53</X>
    <Y>1566.37</Y>
    <Z>314.39</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1770.11</X>
    <Y>1572.42</Y>
    <Z>315.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1773.09</X>
    <Y>1578.82</Y>
    <Z>316.92</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1775.97</X>
    <Y>1585.35</Y>
    <Z>317.96</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1777.41</X>
    <Y>1590.72</Y>
    <Z>318.64</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1774.92</X>
    <Y>1595.99</Y>
    <Z>318.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1770.43</X>
    <Y>1598.34</Y>
    <Z>318.23</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1763.89</X>
    <Y>1599.70</Y>
    <Z>317.35</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1756.87</X>
    <Y>1600.27</Y>
    <Z>316.16</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1749.85</X>
    <Y>1600.76</Y>
    <Z>314.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1743.25</X>
    <Y>1601.48</Y>
    <Z>313.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1736.47</X>
    <Y>1603.91</Y>
    <Z>311.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Start</Name>
    <X>1731.30</X>
    <Y>1606.67</Y>
    <Z>310.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1725.86</X>
    <Y>1602.62</Y>
    <Z>309.65</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1720.13</X>
    <Y>1598.25</Y>
    <Z>308.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1715.07</X>
    <Y>1593.50</Y>
    <Z>307.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1710.52</X>
    <Y>1588.28</Y>
    <Z>305.94</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1706.40</X>
    <Y>1583.07</Y>
    <Z>306.01</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1699.62</X>
    <Y>1581.10</Y>
    <Z>307.48</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1692.89</X>
    <Y>1580.40</Y>
    <Z>307.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1685.95</X>
    <Y>1579.52</Y>
    <Z>306.71</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1678.98</X>
    <Y>1579.28</Y>
    <Z>305.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1672.00</X>
    <Y>1580.15</Y>
    <Z>304.76</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1666.98</X>
    <Y>1584.14</Y>
    <Z>304.06</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1662.14</X>
    <Y>1589.36</Y>
    <Z>303.08</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1656.18</X>
    <Y>1591.00</Y>
    <Z>302.71</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1651.51</X>
    <Y>1585.68</Y>
    <Z>301.83</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1647.33</X>
    <Y>1580.01</Y>
    <Z>300.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1641.79</X>
    <Y>1579.33</Y>
    <Z>300.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1638.23</X>
    <Y>1585.93</Y>
    <Z>301.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1638.69</X>
    <Y>1592.38</Y>
    <Z>302.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1640.04</X>
    <Y>1599.47</Y>
    <Z>303.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1633.88</X>
    <Y>1602.19</Y>
    <Z>303.91</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1626.73</X>
    <Y>1602.10</Y>
    <Z>304.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1620.36</X>
    <Y>1602.04</Y>
    <Z>305.69</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1613.12</X>
    <Y>1601.95</Y>
    <Z>306.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1606.33</X>
    <Y>1600.12</Y>
    <Z>307.23</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1600.10</X>
    <Y>1597.38</Y>
    <Z>307.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1594.19</X>
    <Y>1594.46</Y>
    <Z>306.30</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1587.85</X>
    <Y>1591.12</Y>
    <Z>305.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1581.75</X>
    <Y>1587.76</Y>
    <Z>303.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1576.30</X>
    <Y>1583.80</Y>
    <Z>303.87</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1572.75</X>
    <Y>1578.02</Y>
    <Z>304.24</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1570.44</X>
    <Y>1571.30</Y>
    <Z>304.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1568.25</X>
    <Y>1565.20</Y>
    <Z>303.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1566.15</X>
    <Y>1558.28</Y>
    <Z>303.50</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1564.69</X>
    <Y>1551.46</Y>
    <Z>303.25</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1563.59</X>
    <Y>1545.20</Y>
    <Z>302.95</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1563.65</X>
    <Y>1538.09</Y>
    <Z>302.61</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.09</X>
    <Y>1537.40</Y>
    <Z>302.85</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1571.80</X>
    <Y>1543.50</Y>
    <Z>303.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1573.43</X>
    <Y>1550.33</Y>
    <Z>304.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1574.91</X>
    <Y>1556.67</Y>
    <Z>303.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1576.55</X>
    <Y>1563.66</Y>
    <Z>303.60</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1578.14</X>
    <Y>1570.49</Y>
    <Z>303.90</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1579.63</X>
    <Y>1576.86</Y>
    <Z>304.08</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1581.21</X>
    <Y>1583.75</Y>
    <Z>303.97</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1583.30</X>
    <Y>1590.35</Y>
    <Z>304.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1586.06</X>
    <Y>1597.02</Y>
    <Z>305.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1588.57</X>
    <Y>1603.00</Y>
    <Z>306.94</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1590.92</X>
    <Y>1609.55</Y>
    <Z>308.51</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.19</X>
    <Y>1616.37</Y>
    <Z>309.78</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.92</X>
    <Y>1623.35</Y>
    <Z>310.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1593.42</X>
    <Y>1630.31</Y>
    <Z>312.20</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1593.91</X>
    <Y>1637.33</Y>
    <Z>312.99</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1594.87</X>
    <Y>1643.89</Y>
    <Z>312.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1595.98</X>
    <Y>1650.67</Y>
    <Z>312.46</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.82</X>
    <Y>1657.82</Y>
    <Z>311.63</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.12</X>
    <Y>1664.63</Y>
    <Z>311.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.93</X>
    <Y>1670.84</Y>
    <Z>312.27</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1588.68</X>
    <Y>1675.88</Y>
    <Z>312.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1583.52</X>
    <Y>1680.66</Y>
    <Z>313.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1578.16</X>
    <Y>1685.34</Y>
    <Z>314.61</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1573.76</X>
    <Y>1690.61</Y>
    <Z>315.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.61</X>
    <Y>1695.88</Y>
    <Z>317.84</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1565.56</X>
    <Y>1701.51</Y>
    <Z>317.88</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1561.56</X>
    <Y>1707.42</Y>
    <Z>318.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1558.08</X>
    <Y>1712.91</Y>
    <Z>318.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1554.20</X>
    <Y>1719.14</Y>
    <Z>318.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1550.85</X>
    <Y>1724.56</Y>
    <Z>318.15</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1547.30</X>
    <Y>1730.77</Y>
    <Z>317.99</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1549.19</X>
    <Y>1735.44</Y>
    <Z>317.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1555.41</X>
    <Y>1732.19</Y>
    <Z>317.10</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1559.29</X>
    <Y>1727.05</Y>
    <Z>318.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1562.27</X>
    <Y>1720.54</Y>
    <Z>319.32</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1565.26</X>
    <Y>1713.92</Y>
    <Z>318.82</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.42</X>
    <Y>1709.04</Y>
    <Z>318.34</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1574.76</X>
    <Y>1704.19</Y>
    <Z>317.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1580.85</X>
    <Y>1700.98</Y>
    <Z>316.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1587.34</X>
    <Y>1698.23</Y>
    <Z>315.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1591.76</X>
    <Y>1692.86</Y>
    <Z>314.41</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.15</X>
    <Y>1687.30</Y>
    <Z>312.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1600.80</X>
    <Y>1682.11</Y>
    <Z>311.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1605.69</X>
    <Y>1677.92</Y>
    <Z>310.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1611.88</X>
    <Y>1674.04</Y>
    <Z>309.14</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1618.44</X>
    <Y>1671.95</Y>
    <Z>308.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1624.76</X>
    <Y>1670.53</Y>
    <Z>307.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1629.80</X>
    <Y>1669.41</Y>
    <Z>306.30</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1636.38</X>
    <Y>1667.37</Y>
    <Z>304.02</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1639.55</X>
    <Y>1661.70</Y>
    <Z>303.03</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1641.35</X>
    <Y>1654.87</Y>
    <Z>302.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1642.97</X>
    <Y>1648.23</Y>
    <Z>302.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1644.17</X>
    <Y>1641.70</Y>
    <Z>303.40</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1646.44</X>
    <Y>1635.31</Y>
    <Z>303.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1653.12</X>
    <Y>1633.77</Y>
    <Z>303.78</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1659.37</X>
    <Y>1637.18</Y>
    <Z>305.16</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1665.03</X>
    <Y>1640.48</Y>
    <Z>305.35</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1669.87</X>
    <Y>1641.95</Y>
    <Z>304.77</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1676.26</X>
    <Y>1643.10</Y>
    <Z>303.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1683.19</X>
    <Y>1641.47</Y>
    <Z>303.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1689.48</X>
    <Y>1639.75</Y>
    <Z>303.45</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1696.55</X>
    <Y>1639.26</Y>
    <Z>304.15</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1703.54</X>
    <Y>1638.27</Y>
    <Z>304.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1710.51</X>
    <Y>1636.88</Y>
    <Z>305.80</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1716.95</X>
    <Y>1635.59</Y>
    <Z>306.62</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1723.87</X>
    <Y>1634.17</Y>
    <Z>307.49</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1730.26</X>
    <Y>1632.49</Y>
    <Z>308.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1735.05</X>
    <Y>1630.65</Y>
    <Z>308.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1740.59</X>
    <Y>1627.21</Y>
    <Z>310.11</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1742.66</X>
    <Y>1620.49</Y>
    <Z>311.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1744.27</X>
    <Y>1614.34</Y>
    <Z>312.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1748.43</X>
    <Y>1611.67</Y>
    <Z>313.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1754.25</X>
    <Y>1614.76</Y>
    <Z>315.58</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1755.24</X>
    <Y>1609.10</Y>
    <Z>316.12</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1749.98</X>
    <Y>1604.22</Y>
    <Z>314.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1744.41</X>
    <Y>1600.25</Y>
    <Z>313.56</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1737.82</X>
    <Y>1601.38</Y>
    <Z>312.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1733.01</X>
    <Y>1605.04</Y>
    <Z>311.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1731.30</X>
    <Y>1606.67</Y>
    <Z>310.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
</TravelList>
with move to death point he doing same think
i upload an photo to understand what i want to mean. black line is regular waypoint, red is where bot want to go.
http://imgur.com/a/7vIBB
Last edited by bionuttt on Sun Mar 12, 2017 9:33 am, edited 1 time in total.

User avatar
nucular
Site Admin
Posts: 260
Joined: Sat Jan 07, 2017 9:08 pm
Has thanked: 27 times
Been thanked: 388 times

Re: Death Paths Jimmys Grinder Framework

Post by nucular » Sun Mar 12, 2017 9:07 am

Death Waypoints have to be of Type "Move" not "Action". You have Death Action Waypoints.
See Thread Owner's screenshot.
"Start" Waypoint must be "Action"

bionuttt
Posts: 43
Joined: Sun Feb 05, 2017 8:25 pm
Has thanked: 5 times
Been thanked: 2 times

Re: Death Paths Jimmys Grinder Framework

Post by bionuttt » Sun Mar 12, 2017 9:26 am

nucular wrote:
Sun Mar 12, 2017 9:07 am
Death Waypoints have to be of Type "Move" not "Action". You have Death Action Waypoints.
See Thread Owner's screenshot.
"Start" Waypoint must be "Action"

I said below with Move on Death Waypoints he doing same things

Code: Select all

<TravelList Reverse="False">
  <Travel>
    <Name>Death</Name>
    <X>1401.24</X>
    <Y>1303.47</Y>
    <Z>336.79</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1406.12</X>
    <Y>1306.65</Y>
    <Z>336.70</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1410.74</X>
    <Y>1309.69</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1415.56</X>
    <Y>1312.61</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1420.05</X>
    <Y>1315.32</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1426.27</X>
    <Y>1319.07</Y>
    <Z>336.67</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1431.88</X>
    <Y>1322.44</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1437.79</X>
    <Y>1325.93</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1442.21</X>
    <Y>1328.30</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1448.44</X>
    <Y>1330.80</Y>
    <Z>336.70</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1455.38</X>
    <Y>1332.46</Y>
    <Z>336.73</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1462.31</X>
    <Y>1332.60</Y>
    <Z>336.73</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1468.91</X>
    <Y>1331.58</Y>
    <Z>336.65</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1475.76</X>
    <Y>1329.99</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1482.42</X>
    <Y>1328.29</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1489.37</X>
    <Y>1326.42</Y>
    <Z>336.66</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1495.78</X>
    <Y>1324.74</Y>
    <Z>336.80</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1503.03</X>
    <Y>1324.74</Y>
    <Z>335.81</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1509.79</X>
    <Y>1327.11</Y>
    <Z>332.85</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1514.46</X>
    <Y>1329.18</Y>
    <Z>330.73</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1520.46</X>
    <Y>1331.96</Y>
    <Z>329.88</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1527.15</X>
    <Y>1335.06</Y>
    <Z>329.88</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1532.85</X>
    <Y>1337.71</Y>
    <Z>327.41</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1539.50</X>
    <Y>1340.89</Y>
    <Z>324.43</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1545.81</X>
    <Y>1343.95</Y>
    <Z>323.00</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1551.66</X>
    <Y>1346.78</Y>
    <Z>321.80</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1555.85</X>
    <Y>1348.80</Y>
    <Z>319.92</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1560.14</X>
    <Y>1350.87</Y>
    <Z>318.00</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1566.54</X>
    <Y>1353.97</Y>
    <Z>316.22</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1572.90</X>
    <Y>1357.04</Y>
    <Z>315.64</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1578.56</X>
    <Y>1359.76</Y>
    <Z>314.35</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1585.17</X>
    <Y>1362.84</Y>
    <Z>313.52</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1591.72</X>
    <Y>1365.80</Y>
    <Z>313.08</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1598.06</X>
    <Y>1368.64</Y>
    <Z>311.49</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1604.17</X>
    <Y>1371.34</Y>
    <Z>309.72</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1610.23</X>
    <Y>1373.97</Y>
    <Z>308.35</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1615.07</X>
    <Y>1376.04</Y>
    <Z>307.49</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1621.05</X>
    <Y>1378.60</Y>
    <Z>306.54</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1627.65</X>
    <Y>1381.41</Y>
    <Z>305.72</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1633.61</X>
    <Y>1383.94</Y>
    <Z>305.38</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1640.17</X>
    <Y>1386.75</Y>
    <Z>305.64</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1646.43</X>
    <Y>1389.72</Y>
    <Z>306.16</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1652.08</X>
    <Y>1393.27</Y>
    <Z>307.22</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1655.78</X>
    <Y>1396.60</Y>
    <Z>307.97</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1660.11</X>
    <Y>1401.65</Y>
    <Z>308.74</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1664.30</X>
    <Y>1407.42</Y>
    <Z>309.38</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1668.23</X>
    <Y>1413.20</Y>
    <Z>309.55</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1672.23</X>
    <Y>1419.13</Y>
    <Z>309.29</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1675.91</X>
    <Y>1424.59</Y>
    <Z>308.72</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1679.82</X>
    <Y>1430.39</Y>
    <Z>308.09</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1683.82</X>
    <Y>1436.33</Y>
    <Z>307.38</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1687.51</X>
    <Y>1441.74</Y>
    <Z>307.13</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1691.55</X>
    <Y>1447.57</Y>
    <Z>307.13</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1695.31</X>
    <Y>1452.99</Y>
    <Z>307.19</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1698.74</X>
    <Y>1459.06</Y>
    <Z>306.89</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1701.06</X>
    <Y>1465.73</Y>
    <Z>306.43</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1702.98</X>
    <Y>1471.93</Y>
    <Z>305.82</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1704.91</X>
    <Y>1478.78</Y>
    <Z>305.14</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1706.74</X>
    <Y>1485.52</Y>
    <Z>304.61</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1708.73</X>
    <Y>1492.26</Y>
    <Z>304.19</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1710.77</X>
    <Y>1498.72</Y>
    <Z>303.78</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1712.93</X>
    <Y>1505.37</Y>
    <Z>303.38</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1715.42</X>
    <Y>1511.91</Y>
    <Z>303.46</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1718.63</X>
    <Y>1517.84</Y>
    <Z>303.82</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1723.07</X>
    <Y>1523.23</Y>
    <Z>304.59</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1728.31</X>
    <Y>1527.85</Y>
    <Z>305.53</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1733.80</X>
    <Y>1532.34</Y>
    <Z>306.50</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1739.00</X>
    <Y>1536.47</Y>
    <Z>307.56</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1744.54</X>
    <Y>1540.83</Y>
    <Z>308.80</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1749.85</X>
    <Y>1545.13</Y>
    <Z>309.76</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1754.62</X>
    <Y>1549.84</Y>
    <Z>310.68</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1759.37</X>
    <Y>1555.16</Y>
    <Z>311.86</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1763.82</X>
    <Y>1560.57</Y>
    <Z>313.05</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1767.53</X>
    <Y>1566.37</Y>
    <Z>314.39</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1770.11</X>
    <Y>1572.42</Y>
    <Z>315.72</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1773.09</X>
    <Y>1578.82</Y>
    <Z>316.92</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1775.97</X>
    <Y>1585.35</Y>
    <Z>317.96</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1777.41</X>
    <Y>1590.72</Y>
    <Z>318.64</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1774.92</X>
    <Y>1595.99</Y>
    <Z>318.74</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1770.43</X>
    <Y>1598.34</Y>
    <Z>318.23</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1763.89</X>
    <Y>1599.70</Y>
    <Z>317.35</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1756.87</X>
    <Y>1600.27</Y>
    <Z>316.16</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1749.85</X>
    <Y>1600.76</Y>
    <Z>314.79</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1743.25</X>
    <Y>1601.48</Y>
    <Z>313.22</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Death</Name>
    <X>1736.47</X>
    <Y>1603.91</Y>
    <Z>311.72</Z>
    <Flying>False</Flying>
    <Type>Move</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>Start</Name>
    <X>1731.30</X>
    <Y>1606.67</Y>
    <Z>310.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1725.86</X>
    <Y>1602.62</Y>
    <Z>309.65</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1720.13</X>
    <Y>1598.25</Y>
    <Z>308.66</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1715.07</X>
    <Y>1593.50</Y>
    <Z>307.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1710.52</X>
    <Y>1588.28</Y>
    <Z>305.94</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1706.40</X>
    <Y>1583.07</Y>
    <Z>306.01</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1699.62</X>
    <Y>1581.10</Y>
    <Z>307.48</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1692.89</X>
    <Y>1580.40</Y>
    <Z>307.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1685.95</X>
    <Y>1579.52</Y>
    <Z>306.71</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1678.98</X>
    <Y>1579.28</Y>
    <Z>305.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1672.00</X>
    <Y>1580.15</Y>
    <Z>304.76</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1666.98</X>
    <Y>1584.14</Y>
    <Z>304.06</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1662.14</X>
    <Y>1589.36</Y>
    <Z>303.08</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1656.18</X>
    <Y>1591.00</Y>
    <Z>302.71</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1651.51</X>
    <Y>1585.68</Y>
    <Z>301.83</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1647.33</X>
    <Y>1580.01</Y>
    <Z>300.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1641.79</X>
    <Y>1579.33</Y>
    <Z>300.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1638.23</X>
    <Y>1585.93</Y>
    <Z>301.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1638.69</X>
    <Y>1592.38</Y>
    <Z>302.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1640.04</X>
    <Y>1599.47</Y>
    <Z>303.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1633.88</X>
    <Y>1602.19</Y>
    <Z>303.91</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1626.73</X>
    <Y>1602.10</Y>
    <Z>304.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1620.36</X>
    <Y>1602.04</Y>
    <Z>305.69</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1613.12</X>
    <Y>1601.95</Y>
    <Z>306.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1606.33</X>
    <Y>1600.12</Y>
    <Z>307.23</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1600.10</X>
    <Y>1597.38</Y>
    <Z>307.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1594.19</X>
    <Y>1594.46</Y>
    <Z>306.30</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1587.85</X>
    <Y>1591.12</Y>
    <Z>305.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1581.75</X>
    <Y>1587.76</Y>
    <Z>303.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1576.30</X>
    <Y>1583.80</Y>
    <Z>303.87</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1572.75</X>
    <Y>1578.02</Y>
    <Z>304.24</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1570.44</X>
    <Y>1571.30</Y>
    <Z>304.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1568.25</X>
    <Y>1565.20</Y>
    <Z>303.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1566.15</X>
    <Y>1558.28</Y>
    <Z>303.50</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1564.69</X>
    <Y>1551.46</Y>
    <Z>303.25</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1563.59</X>
    <Y>1545.20</Y>
    <Z>302.95</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1563.65</X>
    <Y>1538.09</Y>
    <Z>302.61</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.09</X>
    <Y>1537.40</Y>
    <Z>302.85</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1571.80</X>
    <Y>1543.50</Y>
    <Z>303.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1573.43</X>
    <Y>1550.33</Y>
    <Z>304.00</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1574.91</X>
    <Y>1556.67</Y>
    <Z>303.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1576.55</X>
    <Y>1563.66</Y>
    <Z>303.60</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1578.14</X>
    <Y>1570.49</Y>
    <Z>303.90</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1579.63</X>
    <Y>1576.86</Y>
    <Z>304.08</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1581.21</X>
    <Y>1583.75</Y>
    <Z>303.97</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1583.30</X>
    <Y>1590.35</Y>
    <Z>304.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1586.06</X>
    <Y>1597.02</Y>
    <Z>305.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1588.57</X>
    <Y>1603.00</Y>
    <Z>306.94</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1590.92</X>
    <Y>1609.55</Y>
    <Z>308.51</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.19</X>
    <Y>1616.37</Y>
    <Z>309.78</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.92</X>
    <Y>1623.35</Y>
    <Z>310.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1593.42</X>
    <Y>1630.31</Y>
    <Z>312.20</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1593.91</X>
    <Y>1637.33</Y>
    <Z>312.99</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1594.87</X>
    <Y>1643.89</Y>
    <Z>312.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1595.98</X>
    <Y>1650.67</Y>
    <Z>312.46</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.82</X>
    <Y>1657.82</Y>
    <Z>311.63</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.12</X>
    <Y>1664.63</Y>
    <Z>311.72</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1592.93</X>
    <Y>1670.84</Y>
    <Z>312.27</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1588.68</X>
    <Y>1675.88</Y>
    <Z>312.79</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1583.52</X>
    <Y>1680.66</Y>
    <Z>313.38</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1578.16</X>
    <Y>1685.34</Y>
    <Z>314.61</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1573.76</X>
    <Y>1690.61</Y>
    <Z>315.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.61</X>
    <Y>1695.88</Y>
    <Z>317.84</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1565.56</X>
    <Y>1701.51</Y>
    <Z>317.88</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1561.56</X>
    <Y>1707.42</Y>
    <Z>318.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1558.08</X>
    <Y>1712.91</Y>
    <Z>318.43</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1554.20</X>
    <Y>1719.14</Y>
    <Z>318.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1550.85</X>
    <Y>1724.56</Y>
    <Z>318.15</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1547.30</X>
    <Y>1730.77</Y>
    <Z>317.99</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1549.19</X>
    <Y>1735.44</Y>
    <Z>317.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1555.41</X>
    <Y>1732.19</Y>
    <Z>317.10</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1559.29</X>
    <Y>1727.05</Y>
    <Z>318.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1562.27</X>
    <Y>1720.54</Y>
    <Z>319.32</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1565.26</X>
    <Y>1713.92</Y>
    <Z>318.82</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1569.42</X>
    <Y>1709.04</Y>
    <Z>318.34</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1574.76</X>
    <Y>1704.19</Y>
    <Z>317.73</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1580.85</X>
    <Y>1700.98</Y>
    <Z>316.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1587.34</X>
    <Y>1698.23</Y>
    <Z>315.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1591.76</X>
    <Y>1692.86</Y>
    <Z>314.41</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1596.15</X>
    <Y>1687.30</Y>
    <Z>312.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1600.80</X>
    <Y>1682.11</Y>
    <Z>311.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1605.69</X>
    <Y>1677.92</Y>
    <Z>310.18</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1611.88</X>
    <Y>1674.04</Y>
    <Z>309.14</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1618.44</X>
    <Y>1671.95</Y>
    <Z>308.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1624.76</X>
    <Y>1670.53</Y>
    <Z>307.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1629.80</X>
    <Y>1669.41</Y>
    <Z>306.30</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1636.38</X>
    <Y>1667.37</Y>
    <Z>304.02</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1639.55</X>
    <Y>1661.70</Y>
    <Z>303.03</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1641.35</X>
    <Y>1654.87</Y>
    <Z>302.57</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1642.97</X>
    <Y>1648.23</Y>
    <Z>302.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1644.17</X>
    <Y>1641.70</Y>
    <Z>303.40</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1646.44</X>
    <Y>1635.31</Y>
    <Z>303.67</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1653.12</X>
    <Y>1633.77</Y>
    <Z>303.78</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1659.37</X>
    <Y>1637.18</Y>
    <Z>305.16</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1665.03</X>
    <Y>1640.48</Y>
    <Z>305.35</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1669.87</X>
    <Y>1641.95</Y>
    <Z>304.77</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1676.26</X>
    <Y>1643.10</Y>
    <Z>303.17</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1683.19</X>
    <Y>1641.47</Y>
    <Z>303.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1689.48</X>
    <Y>1639.75</Y>
    <Z>303.45</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1696.55</X>
    <Y>1639.26</Y>
    <Z>304.15</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1703.54</X>
    <Y>1638.27</Y>
    <Z>304.98</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1710.51</X>
    <Y>1636.88</Y>
    <Z>305.80</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1716.95</X>
    <Y>1635.59</Y>
    <Z>306.62</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1723.87</X>
    <Y>1634.17</Y>
    <Z>307.49</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1730.26</X>
    <Y>1632.49</Y>
    <Z>308.19</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1735.05</X>
    <Y>1630.65</Y>
    <Z>308.74</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1740.59</X>
    <Y>1627.21</Y>
    <Z>310.11</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1742.66</X>
    <Y>1620.49</Y>
    <Z>311.22</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1744.27</X>
    <Y>1614.34</Y>
    <Z>312.29</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1748.43</X>
    <Y>1611.67</Y>
    <Z>313.93</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1754.25</X>
    <Y>1614.76</Y>
    <Z>315.58</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1755.24</X>
    <Y>1609.10</Y>
    <Z>316.12</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1749.98</X>
    <Y>1604.22</Y>
    <Z>314.75</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1744.41</X>
    <Y>1600.25</Y>
    <Z>313.56</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1737.82</X>
    <Y>1601.38</Y>
    <Z>312.09</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1733.01</X>
    <Y>1605.04</Y>
    <Z>311.13</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
  <Travel>
    <Name>No name</Name>
    <X>1731.30</X>
    <Y>1606.67</Y>
    <Z>310.70</Z>
    <Flying>False</Flying>
    <Type>Action</Type>
    <Param>
    </Param>
  </Travel>
</TravelList>

User avatar
nucular
Site Admin
Posts: 260
Joined: Sat Jan 07, 2017 9:08 pm
Has thanked: 27 times
Been thanked: 388 times

Re: Death Paths Jimmys Grinder Framework

Post by nucular » Sun Mar 12, 2017 9:53 am

Well maybe another point.
You have to start your bot at the "Start" Location not on the death waypoint.
Atfer your char has died he will just move correctly the death waypoint.

Edit: Ok i saw your painting xD.

Like i said.
You have to start the bot at the "Start Location".
Just add a few mobs while the bot is active, he will die and then you see he will run correctly.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests