Lags / Freeze when looting is enabled

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
jonklaas
Posts: 1
Joined: Mon Nov 08, 2010 10:44 am

Lags / Freeze when looting is enabled

#1 Post by jonklaas » Mon Nov 08, 2010 11:33 am

Hi,

when looting es enabled the bot (Mircomacro) takes, directly after killing a mob, a high CPU load and my system.
At this peak the pc is frozen for 1 - 2 seconds, not all the time but on average every second kill.
Then at long lags looting fails, without looting I dont have those lags.

I have a Core2duo at 3,5 Ghz, 4 Gb Ram, GTX 260, Win7, SVN-Version 5.16.
When I trie to set the process priority for mircomarco lower it gives me an error.

Anybody elso getting those lags? Is this normal?

User avatar
Administrator
Site Admin
Posts: 5307
Joined: Sat Jan 05, 2008 4:21 pm

Re: Lags / Freeze when looting is enabled

#2 Post by Administrator » Mon Nov 08, 2010 12:47 pm

No, that doesn't sound normal. First, can you confirm that micromacro.exe is the process using up your processor during this time (watch the Task Manager for this)?

Open up rom/classes/player.lua in notepad and go to (CTRL+G) line 1188. You'll see this:

Code: Select all

		while target.Lootable == true and deltaTime(getTime(), startWait) < maxWaitTime do
			inventory:updateSlotsByTime(100)
			target:update()
		end
Under 'target:update()' and above 'end', add this:

Code: Select all

yrest(1);
Does this alleviate the problem?

wizzyslo
Posts: 119
Joined: Sun Nov 01, 2009 6:09 pm

Re: Lags / Freeze when looting is enabled

#3 Post by wizzyslo » Sat Dec 11, 2010 1:08 pm

I had same problem for long time and I didn't use bot for long time. This problem happend after new updating invenotry, I was testing this yrest(1) in inventory.lua and found that function CInventory:updateNextSlot(_times) doing problems.
I added only yrest(1) on line 299 that is it works normal now

Code: Select all

-- update x slots
function CInventory:updateNextSlot(_times)

	if(not _times) then _times = 1; end
	yrest(1);
	for i = 1, _times do
		local item = self.BagSlot[self.NextItemToUpdate];

--		if( settings.profile.options.DEBUG_INV) then
--			local msg = "";
--			msg = "DEBUG updateNextSlot(): Slot #"..self.NextItemToUpdate..": ";
--			if(item.Name) then
--				msg = msg.." name "..item.Name;
--			else
--				msg = msg.." name ".." <Slot Empty>";
--			end;
--			if(item.ItemCount) then msg = msg.." ItemCount:"..item.ItemCount; end;
--			cprintf(cli.lightblue, "%s\n", msg);
--		end;

		self.BagSlot[self.NextItemToUpdate]:update();
		self.NextItemToUpdate = self.NextItemToUpdate + 1;
		if (self.NextItemToUpdate > self.MaxSlots) then
			self.NextItemToUpdate = 1;
		end;

	end;
end;

User avatar
Administrator
Site Admin
Posts: 5307
Joined: Sat Jan 05, 2008 4:21 pm

Re: Lags / Freeze when looting is enabled

#4 Post by Administrator » Sat Dec 11, 2010 7:38 pm

That can't be right. Are you sure that's what you've got? If anything, I expect it should need to be inside the for loop, not above it.

wizzyslo
Posts: 119
Joined: Sun Nov 01, 2009 6:09 pm

Re: Lags / Freeze when looting is enabled

#5 Post by wizzyslo » Sun Dec 12, 2010 4:29 am

I tested little more and I found somthing else. Its not important where is yrest(1) in CInventory:updateNextSlot(_times) but need to be there to fix my problem.

Rly dont ask me whay there becouse i'm not good with those functions and in programing.

If anybudy else with same problem test it pls and tell if works.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Google [Bot] and 4 guests