little help for dod farm 1

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
flashgump
Posts: 15
Joined: Fri Sep 23, 2011 10:49 am

little help for dod farm 1

#1 Post by flashgump » Thu Dec 22, 2011 9:17 am

hello guys!

My bot work really well (230 momentos/hrs), but sometime... he don't go on the portail to exit the dungeon and he bug, or i find my bot DIE, front the dod dungeon (bug camera / he falls into the void)
I try to make a syntax:

Code: Select all

<!-- # 11 --><waypoint x="1774" z="2883" y="433" type="NORMAL">changeProfileOption("MAX_TARGET_DIST", 50);   </waypoint>
<!-- # 12 --><waypoint x="1696" z="2891" y="433"  tag="Out">  
		keyboardHold( settings.hotkeys.MOVE_FORWARD.key );
		yrest(200);
		keyboardRelease( settings.hotkeys.MOVE_FORWARD.key );
		waitForLoadingScreen(30);
    if RoMScript("GetZoneID()") == 128 then                                          -- Inside dod dungeon 
		teleport(1774,2887,433);
        	__WPL:setWaypointIndex(__WPL:findWaypointTag("Out"));
		waitForLoadingScreen(30);
    end
-> my 2nd point don't work..

Code: Select all

  (  if RoMScript("GetZoneID()") == 128 then                                          -- Inside dod dungeon 
		teleport(1774,2887,433);
        	__WPL:setWaypointIndex(__WPL:findWaypointTag("Out"));
		waitForLoadingScreen(30);
    end
The BOT use Teleport, but don't do < __WPL:setWaypointIndex(__WPL:findWaypointTag("Out")); >
and he bug, he try to find my first waypoint who is located outside a dungeon ... :/

Can you help me plz ?
My bot work max 2-3-5 hours good, and he bug... :'(

User avatar
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: little help for dod farm 1

#2 Post by rock5 » Thu Dec 22, 2011 9:42 am

Maybe after 2-3-5 hours it takes longer than 30 seconds to teleport?

I didn't know you could teleport into portals without moving to trigger it.
  • 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

rage447
Posts: 18
Joined: Thu Dec 22, 2011 9:56 am

Re: little help for dod farm 1

#3 Post by rage447 » Thu Dec 22, 2011 9:59 am

can you show me the whole script ?

this would be very nice =)

flashgump
Posts: 15
Joined: Fri Sep 23, 2011 10:49 am

Re: little help for dod farm 1

#4 Post by flashgump » Fri Dec 23, 2011 10:47 am

i don't think that my bot have more 30sec for loading screen
I noticed that if my camera is away at max distance, I have more chance of having a bug, and strangely my bot does not resurection, it tries to invoke my pet... :s

so, therefore have less bug, I zoom to the max and never even my player
it works better now .. but when even a bug some time

i can post my waypoint, but its not micromacro (bot) attack boss, i have make a function for that... all instance is on function... i prefer that, my bot have a better DPS
if my player use potion speed cast, my function donc wait Cool down, he try if can cast skill, if not.. he try next cast

userfunction_ntfunction: exemple function

Code: Select all

function ntAttackCombo()
	if(0 >= player.HP/player.MaxHP*100) then
		return false;
	end

	if player.Name == "player name" or player.Name == "player name" then
		if player.Class1 == 2 and player.Class2 == 6 then                         -- scout/knight
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
		elseif player.Class1 == 2 and player.Class2 == 5 then                       -- scout/priest
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end			
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_PRIEST_SNIPE") then return false; end
			if not player:ntCast("SCOUT_WRIST_ATTACK") then return false; end
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PRIEST_SNIPE") then return false; end
		elseif player.Class1 == 2 and player.Class2 == 1 then                        -- scout/warior
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_PRIEST_SNIPE") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_VAMPIRE_ARROWS") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_REFLECTED_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_COMBO_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_PRIEST_SNIPE") then return false; end
			if not player:ntCast("SCOUT_PIERCING_ARROW") then return false; end
			if not player:ntCast("SCOUT_SHOT") then return false; end
			if not player:ntCast("SCOUT_WIND_ARROWS") then return false; end
		end
	elseif player.Name == "player name" then
		repeat
			Attack();
			if not player:ntCast("WARRIOR_SAVAGE_WHIRLWIND") then return false; end
			if not player:ntCast("WARDEN_POWER_OF_THE_WOOD_SPIRIT") then return false; end
			player:update();
		until player.Rage > 70;
		if not player:ntCast("WARRIOR_SLASH") then return false; end
		if not player:ntCast("WARRIOR_TACTICAL_ATTACK") then return false; end
		if not player:ntCast("WARRIOR_PROBING_ATTACK") then return false; end
		if not player:ntCast("WARRIOR_OPEN_FLANK") then return false; end
		repeat
			Attack();
			if not player:ntCast("WARRIOR_SAVAGE_WHIRLWIND") then return false; end
			if not player:ntCast("WARDEN_POWER_OF_THE_WOOD_SPIRIT") then return false; end
			player:update();
		until player.Rage > 70;
		if not player:ntCast("WARRIOR_SLASH") then return false; end
		if not player:ntCast("WARRIOR_TACTICAL_ATTACK") then return false; end
		if not player:ntCast("WARRIOR_PROBING_ATTACK") then return false; end
		if not player:ntCast("WARRIOR_OPEN_FLANK") then return false; end
	else
		player:fight();
		return false;
	end
	return true;
end;
and my waypoint is: little exemple --->

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints type="TRAVEL">
<onLoad>
	if RoMScript("GetZoneID()") == 15 then
			loadPaths("dodreturn");
		player:update();
	end;
	
	function PortailEnter()
			keyboardHold( settings.hotkeys.MOVE_FORWARD.key );
			yrest(200);
			keyboardRelease( settings.hotkeys.MOVE_FORWARD.key );
			waitForLoadingScreen(30);
		end
		
	function PortailOut()
			keyboardHold( settings.hotkeys.MOVE_FORWARD.key );
			yrest(200);
			keyboardRelease( settings.hotkeys.MOVE_FORWARD.key );
			waitForLoadingScreen(30);
		end
		
	function Invite()
		if player.Name == "MYNAME" then
			sendMacro('InviteByName("2nd MANE")');
			yrest(10);
			sendMacro('InviteByName("3rdNAMEr")');
		end
		if (not player:hasBuff("506684")) then
			inventory:useItem(207200);
		end  
	end
		
		settings.profile.mobs = {"aucun mob"};
		settings.profile.options.AUTO_ELITE_FACTOR = 9999;
		settings.profile.options.MAX_FIGHT_TIME = 15;
		settings.profile.options.MAX_TARGET_DIST = 300
		settings.options.MELEE_DISTANCE = 105;
		
	function NeedReparation()
		local dura = inventory:getMainHandDurability();
        printf("Weapon Durability:%s\n", dura);
			if (85 > dura) then
				player:update(); 
				print("---------==   GO REPAIR   ==--------");
				__WPL:setWaypointIndex(__WPL:findWaypointTag("repair"));
			end
			if( 3 > inventory:getItemCount(0) ) then
				print("---------==   GO SELL   ==--------");
				__WPL:setWaypointIndex(__WPL:findWaypointTag("repair"));
			end
		end
		
	unregisterTimer("timedSetWindowName");
    local _starttime = os.time()
    local _startmomentos = inventory:itemTotalCount(206879)
    local function _window()
      local _timepassed = (os.time() - _starttime)/3600 -- total time in hours
      local _gatheredmomentos = inventory:itemTotalCount(206879) - _startmomentos -- total momentos aquired since starting
      local _momentosperhour = (_gatheredmomentos/_timepassed)
      local _currentmomentos = inventory:itemTotalCount(206879) 
      setWindowName(getHwnd(),sprintf(player.Name.." Momentos: ".._currentmomentos..", ".._momentosperhour.." Momentos/Hr, Time Passed:".._timepassed.."Hrs"))
    end
    registerTimer("setwindow", secondsToTimer(1), _window);
   
  
</onLoad>

--------------------------------------------------------------------------------------------------------------------------------------------------
   <!-- #  1 --><waypoint x="1644" z="-4921" y="752" tag="start">
   print("---------=============    1ere phase / Guide Spirituel  ===============--------");
			speed(73);
			SlashCommand("ILG destroy");
			yrest(15);
			Invite()
			SlashCommand("ILG inv");
			SlashCommand("ILG inv");
			sendMacro('SetInstanceLevel("normal")')
			NeedReparation()
   </waypoint>
   <!-- #  2 --><waypoint x="1670" z="-5077" y="760" tag="In">sendMacro('SetInstanceLevel("normal")');  </waypoint>
   <!-- #  3 --><waypoint x="1688" z="-5162" y="759">
		PortailEnter()
		if RoMScript("GetZoneID()") == 209 then
			__WPL:setWaypointIndex(__WPL:findWaypointTag("In"))
		else
        player:update();
		end
         </waypoint>
	<!-- #  1 --><waypoint x="1772" z="2886" y="433">
		fly();
		speed(73);
		changeProfileOption("LOOT", false);
		if player:hasBuff(506684) then
			teleport(1890,2889,509);
		end
	</waypoint>
	<!-- #  2 --><waypoint x="1890" z="2889" y="509">teleport(1985,2776,497);	</waypoint>
	<!-- #  3 --><waypoint x="1985" z="2776" y="497">
		if player:hasBuff(506684) then
			teleport(2045,2701,482);
		end
	</waypoint>
	<!-- #  4 --><waypoint x="2045" z="2701" y="482">	</waypoint>
	<!-- #  5 --><waypoint x="2124" z="2609" y="443">flyoff(); 	teleport(2229,2487,401);	</waypoint>
	<!-- #  6 --><waypoint x="2229" z="2487" y="401">
	local bossname = "Okander Mallen, le \"Fou\""
	changeProfileOption("MAX_TARGET_DIST", 300);
			ntAdjustPosition(2226, 2478);
			ntFacePosition(2334, 2364);
			changeProfileOption("LOOT", true);
			player:target_Unit(bossname);
			if ntAttackableTarget() then
				ntCheckPotions_Full(_inParty)
				player:updateBuffs();
				if player.Name == "MYNAME" then
					player:ntCast("SCOUT_SPIRITUAL_LEADER", true);
				end;
				ntBossBuff_0m(true);
				while true do
					player:target_Unit(bossname);
					if not ntAttackableTarget() then
						break;
					end
				while ntAttackCombo() do end
			end
			player:target_Unit(bossname);
			ntLootTarget();
		end
		changeProfileOption("LOOT", false);
		teleport(2158,2561,417);
	</waypoint>
	<!-- #  7 --><waypoint x="2158" z="2561" y="417">fly();	speed(73);
	changeProfileOption("MAX_TARGET_DIST", 50);
	changeProfileOption("LOOT", false);
	teleport(2075,2659,470);
	</waypoint>
	<!-- #  8 --><waypoint x="2075" z="2659" y="470">
	</waypoint>
	<!-- #  9 --><waypoint x="2054" z="2687" y="495">teleport(1945,2794,510);	</waypoint>
	<!-- # 10 --><waypoint x="1945" z="2794" y="510">	</waypoint>
	<!-- # 11 --><waypoint x="1884" z="2855" y="510">teleport(1774,2883,433);	flyoff(); 	</waypoint>
<!-- # 11 --><waypoint x="1774" z="2883" y="433" type="NORMAL">changeProfileOption("MAX_TARGET_DIST", 50);   </waypoint>
<!-- # 12 --><waypoint x="1696" z="2891" y="433"  tag="Out">  
		PortailOut()
    if RoMScript("GetZoneID()") == 128 then
		teleport(1774,2883,433);
		yrest(100);
		player:faceDirection(3.14,0);
		yrest(100);
        keyboardHold( settings.hotkeys.MOVE_FORWARD.key );
		yrest(100);
		keyboardPress( key.VK_SPACE); 
		yrest(600);
		keyboardRelease( settings.hotkeys.MOVE_FORWARD.key );
		waitForLoadingScreen(30);
    else
        player:update();
        SlashCommand("ILG destroy");
        yrest(100)
        SlashCommand("ILG inv");
        yrest(100)
        SlashCommand("ILG inv");
    end
    </waypoint>
CONTINUE.....
when my bot makes water dragon (110 momentos / h), ET never bug, it never falls into the void ... but I made ​​less momentos, that's why I have a bot that works 100% in dod

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 19 guests