dod

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
Supergala
Posts: 504
Joined: Mon May 17, 2010 3:40 pm
Location: Poland

dod

#1 Post by Supergala »

i have a problem when farm first boss in dod....my main attack and target okander but when i kill and loot rombot say me always clearing target...why?

Code: Select all

	</waypoint>
	<!-- #  9 --><waypoint x="2153" z="2569" y="421">	</waypoint>
	<!-- # 10 --><waypoint x="2331" z="2361" y="401" tag="okander">
		if CountObjectsNearPoint("Okander") > 0 then
			if not player.Battling then
				yrest(250)
			end
			__WPL:setWaypointIndex(10)
		else
			__WPL:setDirection(WPT_BACKWARD)
			repeat
				yrest(500*math.random(4))
				local okander = player:findNearestNameOrId("okander")
				if not okander then break end
				player:target(okander)
				player:update()
				player:loot()
			until inventory:itemTotalCount("Ancient Memento") > mentos
		end
	</waypoint>
	
	<!-- # 11 --><waypoint x="1704" z="-4756" y="752" tag="merchant">
		player:merchant(npcName)
		RoMScript("CloseAllWindows()")
		__WPL:setWaypointIndex(2)
	</waypoint>
	
	<!-- To the Sewers -->
	<!-- #  1 --><waypoint x="-3813" z="5117" y="19" tag="res">
		__WPL:setForcedWaypointType("RUN")
		player:mount()
	</waypoint>
	<!-- #  2 --><waypoint x="-3722" z="5220" y="12">	</waypoint>
	<!-- #  3 --><waypoint x="-3664" z="5311" y="11">	</waypoint>
	<!-- #  4 --><waypoint x="-3564" z="5362" y="11">	</waypoint>
	<!-- #  5 --><waypoint x="-3458" z="5434" y="9">	</waypoint>
	<!-- #  6 --><waypoint x="-3356" z="5530" y="10">	</waypoint>
	<!-- #  7 --><waypoint x="-3252" z="5629" y="3">	</waypoint>
	<!-- #  8 --><waypoint x="-3164" z="5736" y="4">	</waypoint>
	<!-- #  9 --><waypoint x="-3025" z="5864" y="2">	</waypoint>
	<!-- # 10 --><waypoint x="-2903" z="5980" y="10">	</waypoint>
	<!-- # 11 --><waypoint x="-2842" z="6059" y="9">	</waypoint>
	<!-- # 12 --><waypoint x="-2782" z="6170" y="10">	</waypoint>
	<!-- # 13 --><waypoint x="-2712" z="6284" y="4">	</waypoint>
	<!-- # 14 --><waypoint x="-2622" z="6353" y="6">	</waypoint>
	<!-- # 15 --><waypoint x="-2524" z="6397" y="15">	</waypoint>
	<!-- # 16 --><waypoint x="-2469" z="6465" y="19">	</waypoint>
	<!-- # 17 --><waypoint x="-2472" z="6526" y="30">	</waypoint>
	<!-- # 18 --><waypoint x="-2517" z="6567" y="38">	</waypoint>
	<!-- # 19 --><waypoint x="-2595" z="6612" y="49">	</waypoint>
	<!-- # 20 --><waypoint x="-2726" z="6687" y="32">	</waypoint>
	<!-- # 21 --><waypoint x="-2786" z="6721" y="42">	</waypoint>
	<!-- # 22 --><waypoint x="-2847" z="6764" y="40">	</waypoint>
	<!-- # 23 --><waypoint x="-2865" z="6824" y="40">	</waypoint>
	<!-- # 24 --><waypoint x="-2826" z="6956" y="40">	</waypoint>
	<!-- # 25 --><waypoint x="-2851" z="7047" y="15">	</waypoint>
	<!-- # 26 --><waypoint x="-2838" z="7121" y="-24">	</waypoint>
	<!-- # 27 --><waypoint x="-2912" z="7231" y="-96">
		GoThroughPortal(200)
		__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	</waypoint>
	<!-- # 28 --><waypoint x="43" z="-882" y="857">
		local jake = GetIdName(115572)
		NPCTeleport(jake,"Please transport me.")
		__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	</waypoint>
	
</waypoints>
profile:

Code: Select all

   <onLeaveCombat><![CDATA[

; 

   ]]></onLeaveCombat>

	<onLevelup><![CDATA[
		-- Additional Lua code to execute after having a levelup
		-- and levelup the skills for a new character (mage or priest recommended)
		-- e.g. sendMacro("SetSpellPoint(_tabnr, _skillnr);"); would levelup a skill
	]]></onLevelup>

   <onSkillCast><![CDATA[
   target = player:getTarget();
   if target.Id == 103857 then
      if sendMacro("madman.Time") >= 1 then
         player:clearTarget();
         printf("Running\n")
         yrest(4000)
      end
   end
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: dod

#2 Post by rock5 »

I've never Killed Okander myself but, as far as I know, the only way to bot him is to use Lisas madman addon.
http://www.solarstrike.net/phpBB3/viewt ... 736#p42736

Follow all the instructions there.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: dod

#3 Post by lisa »

my guess is the issue is here.

Code: Select all

 <!-- # 10 --><waypoint x="2331" z="2361" y="401" tag="okander">
      if CountObjectsNearPoint("Okander") > 0 then
         if not player.Battling then
            yrest(250)
         end
         __WPL:setWaypointIndex(10)
      else
         __WPL:setDirection(WPT_BACKWARD)
         repeat
            yrest(500*math.random(4))
            local okander = player:findNearestNameOrId("okander")
            if not okander then break end
            player:target(okander)
            player:update()
            player:loot()
         until inventory:itemTotalCount("Ancient Memento") > mentos
      end
   </waypoint>
Add in some prints, as it seems to be stuck in the loop of trying to loot, also if it is saying it is skipping waypoint 10 and going to 11 that will seriously affect how the WP will work, I believe there is an option that makes it not skip but I don't recall it off hand.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Supergala
Posts: 504
Joined: Mon May 17, 2010 3:40 pm
Location: Poland

Re: dod

#4 Post by Supergala »

bot loot boss ,but the problem is after this....i don't understand how i must change ty lisa
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: dod

#5 Post by lisa »

Yeah from ur pic in the message you sent me, the issue is that it is skiping WP 10.

it looks like it is trying to get to wp 10 and finds oakander first and so kills him, it then checks player coords and decides it is closer to waypoint 11. So you can either change the coords of the waypoints or deal with it in another way.

Maybe add another waypoint between 10 and 11 to deal with it trying to go to 11 and not doing your code in 10.
So make another waypoint near the back of the room where oakander is and just set it to go to waypoint "10"

I would suguest using the tags aswell instead of the index.

Code: Select all

__WPL:setWaypointIndex(10)

Code: Select all

__WPL:setWaypointIndex(__WPL:findWaypointTag("okander"))
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: dod

#6 Post by rock5 »

Note: if a waypoint is skipped it will still execute the code in it. So if it's killing Okander before reaching waypoint 10, when it decides to skip it and go to 11, it still executes the code in 10 and is probably getting stuck there. I just thought I'd clarify that. So, yeah, like Lisa said, you want it to reach waypoint 10 before seeing Okander.
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan
User avatar
Bill D Cat
Posts: 555
Joined: Sat Aug 10, 2013 8:13 pm
Location: Deep in the Heart of Texas

Re: dod

#7 Post by Bill D Cat »

I'd have to disagree with that assessment. I've had many waypoints skipped due to my character attacking a target and moving on to the next waypoint, effectively skipping quest goals along the way. I've had to add checks that reroute the character back to a previous waypoint to ensure that the code gets executed.
Last edited by Bill D Cat on Tue Oct 08, 2013 7:49 pm, edited 1 time in total.
User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: dod

#8 Post by rock5 »

It definitely does execute it but of course it doesn't mean it will work. For instance if you want to collect something but you are too far away from it then the code might not work. But it does run.

Here is the code that displays the skipped waypoint message and immediately after that it runs the waypoint code.

Code: Select all

						cprintf(cli.green, "We overrun waypoint #%d, skip it and move on to #%d\n",currentWp.wpnum, nextWp.wpnum);
						WPLorRPL:advance();	-- set next waypoint

						-- execute the action from the skiped wp
						if( currentWp.Action and type(currentWp.Action) == "string" ) then
							local actionchunk = loadstring(currentWp.Action);
							assert( actionchunk,  sprintf(language[150], WPLorRPL.CurrentWaypoint) );
							actionchunk();
						end
  • Please consider making a small donation to me to support my continued contributions to the bot and this forum. Thank you. Donate
  • I check all posts before reading PMs. So if you want a fast reply, don't PM me but post a topic instead. PM me for private or personal topics only.
  • How to: copy and paste in micromacro
    ________________________
    Quote:
    • “They say hard work never hurt anybody, but I figure, why take the chance.”
          • Ronald Reagan
User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: dod

#9 Post by lisa »

This is where adding trouble shooting prints comes into use, like i suguested earlier.

Add something like

print("I am in loop at waypoint 10")

Code: Select all

<!-- # 10 --><waypoint x="2331" z="2361" y="401" tag="okander">
      if CountObjectsNearPoint("Okander") > 0 then
         if not player.Battling then
            yrest(250)
         end
         __WPL:setWaypointIndex(10)
      else
         __WPL:setDirection(WPT_BACKWARD)
         repeat
            yrest(500*math.random(4))
            local okander = player:findNearestNameOrId("okander")
            if not okander then break end
            player:target(okander)
            player:update()
            player:loot()
            local curmems = inventory:itemTotalCount("Ancient Memento")
            print("I am in loop at waypoint 10, mentos was: ".. mentos.." current mems are: "..curmems)
         until curmems > mentos
      end
   </waypoint>
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Supergala
Posts: 504
Joined: Mon May 17, 2010 3:40 pm
Location: Poland

Re: dod

#10 Post by Supergala »

noe work but i have another problem....follower enter in party and enter in istance...when the screen appears the follower aggro mobs then the leader goes into the boss room and begins to kill the priest still in the hallway ..... so I would know how to wait for the tracker in the hallway waiting for the leader clean everything ..... if i stop the bot and followers expect the leader clean the trash and attack the boss happens instead of the follower enters from the boss goes back and back without wait for the leader to kill him and putty on the gates closed, at the time that the leader of the boss kills the follower continues to exit the istance and not loot the boss ... can you help?

this is follower waypoint:(i'd like follower buff leader ):

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<onLoad><![CDATA[

	DOD_PARTY_LEADER = "Leader"
	
	changeProfileOption("AUTO_ELITE_FACTOR",1000)
	changeProfileOption("LOOT_IN_COMBAT",false)
	
	EventMonitorStart("DoD", "CHAT_MSG_PARTY")
		
	function waitForLeader()
		yrest(100)
		keyboardPress(settings.hotkeys.JUMP.key)
		while true do
			cprintf(cli.lightred,"Waiting for leader...\n")
			local time, moreToCome, _name, _message = EventMonitorCheck("DoD","4,1",true)
			if _message then
				string.lower(_message)
			end
			if _message and (_message == "enter" or _message == "ready" or _message == "okander") then
				break
			else
				yrest(2000)
			end
			player:update()
		end
		cprintf(cli.lightgreen,"Party is ready!\n")
	end
	
	function CountObjectsNearPoint(_nameorid, _point, inrange, printnames)
		if type(_point) ~= "table" then _point = {player.X,player.Z,player.Y} end
		local objectList = CObjectList();
		local detected = {}
	
		objectList:update()
		for i = 0,objectList:size() do
			local obj = objectList:getObject(i)
			if obj ~= nil and (obj.Id == _nameorid or obj.Name == _nameorid) and obj.Address ~= player.Address and obj.Name ~= "<UNKNOWN>" and (inrange == nil or inrange >= distance(_point.X,_point.Z,_point.Y,obj.X,obj.Z,obj.Y) ) then
				if printnames then
					table.insert(detected,obj.Name)
				end
			end
		end
		if #detected > 0 then
			cprintf(cli.yellow,"Objects in range:\n")
			for i = 1, #detected do
				cprintf(cli.pink,detected[i].."\t")
			end
			printf("\n")
		end
		return #detected
	end
	
	npcName = GetIdName(115536) -- Isaac Haden
	function visitmerchant()
		if inventory:getMainHandDurability() < 95 or inventory:itemTotalCount(0) < 12 then
			return true
		else
			return false
		end
	end
	mentos = 0
]]></onLoad>
	<!-- #  1 --><waypoint x="1645" z="-4908" y="752">
		__WPL:setDirection(WPT_FORWARD)
		if visitmerchant() then
			changeProfileOption("WAYPOINT_DEVIATION", 25)
			__WPL:setWaypointIndex(11)
		end
	</waypoint>
	<!-- #  2 --><waypoint x="1662" z="-4970" y="760">	</waypoint>
	<!-- #  3 --><waypoint x="1660" z="-5072" y="760">
		changeProfileOption("WAYPOINT_DEVIATION", 75)
	</waypoint>
	<!-- #  4 --><waypoint x="1665" z="-5069" y="760" tag="entrance">
		changeProfileOption("WAYPOINT_DEVIATION", 0)
		player:faceDirection(math.atan2(-5124 - player.Z, 1667 - player.X))
		waitForLeader()
		__WPL:setForcedWaypointType("RUN")
		GoThroughPortal(200)
		__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	</waypoint>
	<!-- #  5 --><waypoint x="1793" z="2880" y="433" tag="exit">
		if __WPL.Direction == WPT_BACKWARD then
			__WPL:setForcedWaypointType("RUN")
			GoThroughPortal(200)
			player:update()
			if getZoneId() ~= 209 then
				if RoMScript("GetNumPartyMembers()") > 1 then
					RoMScript("LeaveParty()")
					waitForLoadingScreen(15)
				else
					RoMScript("SendWedgePointReport()")
					waitForLoadingScreen(75)
				end
				__WPL:setDirection(WPT_FORWARD)
			end
			__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	
		end
	</waypoint>
	<!-- #  6 --><waypoint x="1892" z="2887" y="433">	</waypoint>
	<!-- #  7 --><waypoint x="2043" z="2699" y="433">	</waypoint>
	<!-- #  8 --><waypoint x="2124" z="2602" y="432">
		if __WPL.Direction == WPT_FORWARD then
			waitForLeader()
			mentos = inventory:itemTotalCount("Ancient Memento")
		end
	</waypoint>
	<!-- #  9 --><waypoint x="2153" z="2569" y="421">	</waypoint>
<!-- # 10 --><waypoint x="2331" z="2361" y="401" tag="okander">
      if CountObjectsNearPoint("Okander") > 0 then
         if not player.Battling then
            yrest(250)
         end
         __WPL:setWaypointIndex(10)
      else
         __WPL:setDirection(WPT_BACKWARD)
         repeat
            yrest(500*math.random(4))
            local okander = player:findNearestNameOrId("okander")
            if not okander then break end
            player:target(okander)
            player:update()
            player:loot()
            local curmems = inventory:itemTotalCount("Ancient Memento")
            print("I am in loop at waypoint 10, mentos was: ".. mentos.." current mems are: "..curmems)
         until curmems > mentos
      end
   </waypoint>
	
	
	
	<!-- # 11 --><waypoint x="1704" z="-4756" y="752" tag="merchant">
		player:merchant(npcName)
		RoMScript("CloseAllWindows()")
		__WPL:setWaypointIndex(2)
	</waypoint>
	
	<!-- To the Sewers -->
	<!-- #  1 --><waypoint x="-3813" z="5117" y="19" tag="res">
		__WPL:setForcedWaypointType("RUN")
		player:mount()
	</waypoint>
	<!-- #  2 --><waypoint x="-3722" z="5220" y="12">	</waypoint>
	<!-- #  3 --><waypoint x="-3664" z="5311" y="11">	</waypoint>
	<!-- #  4 --><waypoint x="-3564" z="5362" y="11">	</waypoint>
	<!-- #  5 --><waypoint x="-3458" z="5434" y="9">	</waypoint>
	<!-- #  6 --><waypoint x="-3356" z="5530" y="10">	</waypoint>
	<!-- #  7 --><waypoint x="-3252" z="5629" y="3">	</waypoint>
	<!-- #  8 --><waypoint x="-3164" z="5736" y="4">	</waypoint>
	<!-- #  9 --><waypoint x="-3025" z="5864" y="2">	</waypoint>
	<!-- # 10 --><waypoint x="-2903" z="5980" y="10">	</waypoint>
	<!-- # 11 --><waypoint x="-2842" z="6059" y="9">	</waypoint>
	<!-- # 12 --><waypoint x="-2782" z="6170" y="10">	</waypoint>
	<!-- # 13 --><waypoint x="-2712" z="6284" y="4">	</waypoint>
	<!-- # 14 --><waypoint x="-2622" z="6353" y="6">	</waypoint>
	<!-- # 15 --><waypoint x="-2524" z="6397" y="15">	</waypoint>
	<!-- # 16 --><waypoint x="-2469" z="6465" y="19">	</waypoint>
	<!-- # 17 --><waypoint x="-2472" z="6526" y="30">	</waypoint>
	<!-- # 18 --><waypoint x="-2517" z="6567" y="38">	</waypoint>
	<!-- # 19 --><waypoint x="-2595" z="6612" y="49">	</waypoint>
	<!-- # 20 --><waypoint x="-2726" z="6687" y="32">	</waypoint>
	<!-- # 21 --><waypoint x="-2786" z="6721" y="42">	</waypoint>
	<!-- # 22 --><waypoint x="-2847" z="6764" y="40">	</waypoint>
	<!-- # 23 --><waypoint x="-2865" z="6824" y="40">	</waypoint>
	<!-- # 24 --><waypoint x="-2826" z="6956" y="40">	</waypoint>
	<!-- # 25 --><waypoint x="-2851" z="7047" y="15">	</waypoint>
	<!-- # 26 --><waypoint x="-2838" z="7121" y="-24">	</waypoint>
	<!-- # 27 --><waypoint x="-2912" z="7231" y="-96">
		GoThroughPortal(200)
		__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	</waypoint>
	<!-- # 28 --><waypoint x="43" z="-882" y="857">
		local jake = GetIdName(115572)
		NPCTeleport(jake,"Please transport me.")
		__WPL:setWaypointIndex(__WPL:getNearestWaypoint(player.X,player.Z,player.Y))
	</waypoint>
</waypoints>
Supergala
Posts: 504
Joined: Mon May 17, 2010 3:40 pm
Location: Poland

Re: dod

#11 Post by Supergala »

i add from leader to follower the waypoint section posted lisa where leader skip waypoint after kill okander for exit from istance,infact before follower after kill boss say"clearing target" but probably now the bot's follower don't understand must wait boss kill and exit
Post Reply