Change channels on the character selection

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
User avatar
nerf
Posts: 88
Joined: Thu Jan 27, 2011 10:44 am

Change channels on the character selection

#1 Post by nerf » Tue Nov 12, 2013 11:28 am

what is the command to change the channel in the character selection ? is it possible?

I can change the channel manually the first time and be saved for the next character select, the problem is that even if you have selected the channel 3, I go directly to channel 1

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

Re: Change channels on the character selection

#2 Post by rock5 » Tue Nov 12, 2013 12:28 pm

I don't think the fastlogin channel selection is used unless you have enabled fastLoginAutoEnter. If you aren't automatically logging in and it's always logging into channel 1 then that's just something the game is doing. I just logged on and it logged into channel 2. The channel setting in accountlogin.lua is set to 1 which it didn't use.

If you are logging in automatically then you can set the fastLoginRegSel to the channel you want to automatically log into. There is no command to change the channel at the character selection screen. At the character selection screen there are no commands because we don't have access to RoMScript because we don't have access to macros. So we are just clicking buttons blindly. I never added options to choose the channel from login.lua (and userfunction_login.lua) because there was no way to know how many channels there would be and it didn't seem that important.

Of course you can always change channel with ChangeChar and LoginNextChar commands.
  • 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
nerf
Posts: 88
Joined: Thu Jan 27, 2011 10:44 am

Re: Change channels on the character selection

#3 Post by nerf » Tue Nov 12, 2013 1:03 pm

ok no problem.

is there any way out to the selection of the character and re-enter the same character all the time without stopping?
I tried this and it works, but I think that's why I have a critical error every five minutes

Code: Select all

function relog()
   SetCharList({
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
   })

   LoginNextChar()
   loadProfile()
   loadPaths("sarlo1");
   player:mount();
   RoMScript("ChangeParallelID(1)");
	player:update();
	inventory:update();
   end

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

Re: Change channels on the character selection

#4 Post by rock5 » Tue Nov 12, 2013 1:57 pm

Interesting idea. I suspect even just this will work.

Code: Select all

   SetCharList({
      {account=6 , chars= {1,1}},
   })
Because what it does is find the matching character then logs into the next one. So it should always match the first and then log into the second. But why do you want to just keep logging into the same character? How quickly are you relogging?

I don't think there is anything wrong with the code. I think it's just crashing because you are relogging too much. You could try restarting the client every now and then. You can use the SetRestartClientSettings(frequency, client) settings for that. Or you could try setting it up to recover from crashes. I believe I added the option to use a onClientCrash() function if the client crashes. Wait, it's already set up. If you have both the loginnextchar and login userfunctions installed then the game should try to recover from crashes automatically. Do you have usrefunction_login.lua installed?
  • 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
nerf
Posts: 88
Joined: Thu Jan 27, 2011 10:44 am

Re: Change channels on the character selection

#5 Post by nerf » Tue Nov 12, 2013 3:28 pm

all this comes to you there's a bug for the daily quests reset free
Relogging speed is normal, sometimes customers get client crash, also get client crash when changing class or at any time, but only with This script, worked 100% Until modify , i have also loginnextchar and login userfunction

the script works, but getting client crash after 2-5 minutes each time

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<onload>

 function relog()
   SetCharList({
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
      {account=6 , chars= {1,1,1,1,1,1,1,1}},
   })

   LoginNextChar()
   loadProfile()
   loadPaths("sarlo1");
   player:mount();
   RoMScript("ChangeParallelID(1)");
	player:update();
	inventory:update();
   end

	swapClass 		= true;	

	minPlayerLevel	= 80;	
	questItemId 	= 122252;
	questGiverId 	= 122200;
	runeSensor		= 241035;
	questid 		= 426381;
	questName 		= GetIdName(questid);
	questtype 		= "daily" -- "public" or "daily";
	skipHouseMaid 	= true;			-- If true, won't ride to Housemaid. Will be used dynamically in the WP (dontedit);
	time = os.time();		-- Startingtime of Waypoint
	__WPL:setForcedWaypointType("TRAVEL")


	for k,v in pairs(settings.profile.skills) do
		  v.AutoUse = false
	end



	function swClass()
		player:update();
		RoMScript("ExchangeClass("..(player.Class2+1)..","..(player.Class1+1)..")");
		yrest(250);
		player:mount();
	end
	

	function questsDone()
		local dailyQuestCount, dailyQuestsPerDay= RoMScript("Daily_count()");
		if (dailyQuestCount==dailyQuestsPerDay) then
			return true;
		else 
			return false;
		end
	end	
	
	if getQuestStatus(questName) == "complete"  then
		direction = WPT_BACKWARD;
	else
		direction = WPT_FORWARD;
	end

	
	
	currentwp = __WPL:getNearestWaypoint(player.X, player.Z, player.Y);

	if  currentwp == 5 and direction == WPT_FORWARD then 
		currentwp = currentwp-1
	elseif currentwp == 1 and direction == WPT_BACKWARD then 
		currentwp = currentwp+1
	end
	print ("current: "..currentwp);
	__WPL:setWaypointIndex(currentwp);

	__WPL:setDirection(direction);

	changeProfileOption("WAYPOINT_DEVIATION",5);
	booltable={};
	booltable[true]	="yes";
	booltable[false]="no";
	addMessage ("Swap Class enabled: "..booltable[swapClass]);

	function fetchQuest()
		if questsDone() and questtype == "daily" then
			cprintf (cli.pink,"Time spend for this daily: %s Minutes\n",(os.time()-time)/60);
		else
			inventory:update();
			if getQuestStatus(questName) == "incomplete" and inventory:itemTotalCount(241035) == 0 then
				print ("Aborting malfdormed Quest; missing QuestItem!");
				CancelQuest(questName);
				yrest(150);
				fetchQuest();
			elseif getQuestStatus(questName) ~="incomplete" or  getQuestStatus(questName) =="not accepted" then
				player:target_NPC(questGiverId);
				yrest(150);
				AcceptQuestByName(questName,questtype);
			end
		end
	end
	
	function completeQuest()
		if getQuestStatus(questName) =="complete" then
			player:target_NPC(questGiverId);
			yrest(150);
			CompleteQuestByName(questName);
		end
	end

</onload>

	<!-- #  1 --><waypoint x="-18665" z="-2438" y="805" tag="questGiver">
	local dailyQuestCount, dailyQuestsPerDay= RoMScript("Daily_count()"); 
				if 10 == dailyQuestCount then
   RoMScript("ChangeParallelID(3)");
   yrest(30000);
	relog();
 end
	direction = WPT_FORWARD;
	__WPL:setDirection(direction)
	
	if getQuestStatus(questName) ~= "complete" and minPlayerLevel > player.Level and swapClass then
		addMessage ("Enabled riding to housemaid (#118)");	
		skipHouseMaid = false;
		if not player.Mounted then		player:mount();	end
	else
		direction =  WPT_FORWARD;
		__WPL:setDirection(direction); 
		completeQuest();
		fetchQuest();
		player:update();
		if not player.Mounted then		player:mount();	end
	end
	
	
	inventory:update();
	if inventory:itemTotalCount(runeSensor) == 0 and skipHouseMaid then
		addMessage("Failed to get "..GetIdName(runeSensor));
		skipHouseMaid = false;
		
	end
	</waypoint>

	<!-- #  2 --><waypoint x="-18326" z="-2650"  tag="skip_housemaid_backward">
	print ("WP_Tag: " .. __WPL.Waypoints[__WPL.CurrentWaypoint].Tag.."\n");		
	if direction ==  WPT_FORWARD then
		if not swapClass or skipHouseMaid then
			addMessage ("Skipping Housemaid");
			__WPL:setWaypointIndex(__WPL:findWaypointTag("skip_housemaid_forward"));
		elseif not skipHouseMaid then
			addMessage ("Riding to Housemaid for Swapping Class! (#133)");	
		end
	end
	
	print ("2");	</waypoint>
	<!-- #  3 --><waypoint x="-18045" z="-2703" tag="housemaid"> 
	print ("WP_Tag: " .. __WPL.Waypoints[__WPL.CurrentWaypoint].Tag.."\n");		
		player:target_NPC(122481)		-- Housemaid Momo Cidolph
		yrest(150);
		ChoiceOptionByName(getTEXT("SO_110581_1"));	-- "I'd like to chance class"
		yrest(150);
		swClass();
		skipHouseMaid=true;
		addMessage("Back to QuestGiver (#146)");
	direction = WPT_BACKWARD;
	__WPL:setDirection(direction)
	__WPL:setWaypointIndex(__WPL:findWaypointTag("skip_housemaid_backward"));

	</waypoint>
	<!-- #  4 --><waypoint x="-18163" z="-2765">	</waypoint>
	<!-- #  5 --><waypoint x="-18234" z="-2877" tag="skip_housemaid_forward">
	print ("WP_Tag: " .. __WPL.Waypoints[__WPL.CurrentWaypoint].Tag.."\n");		
	if direction ==  WPT_BACKWARD then
		if not swapClass and skipHouseMaid then
			addMessage ("Skipping Housemaid");
			__WPL:setWaypointIndex(__WPL:findWaypointTag("skip_housemaid_backward"));
		end
	end
	</waypoint>
	<!-- #  6 --><waypoint x="-17875" z="-2942" tag="usingItem">
		print ("WP_Tag: " .. __WPL.Waypoints[__WPL.CurrentWaypoint].Tag.."\n");		
	
		repeat 
			player:target_Object(questItemId);
			yrest(500); 
		until getQuestStatus(questName) == "complete" or inventory:itemTotalCount(241035) == 0

		yrest(200);
		player:mount();
		
		if getQuestStatus(questName) == "complete" and swapClass and player.Level > minPlayerLevel then
			addMessage("enabled riding to Housemais (#174)");
			skipHouseMaid = false
		else
			addMessage("disabled riding to Housemaid (#177)");
			skipHouseMaid = true;
		end
		
		direction =  WPT_BACKWARD;
		__WPL:setDirection(direction); 
	</waypoint>
	
</waypoints>
The Human Factor in Sarlo by Rintintin
Original script: http://www.solarstrike.net/phpBB3/viewt ... =27&t=5198

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests