Page 10 of 21

Re: Malatina's survival

Posted: Mon May 21, 2012 4:01 pm
by Alkaiser
Not that it is a problem for my PC, but I noticed that this script is extremely heavy on the CPU cycles. If I have 4 bots running at once my Ivy Bridge at 4.5GHz is almost pegged at 100% CPU utilization. The other mini-games scripts are easy breezy.. maybe 20% utilization with 4 bots running in parallel. I checked in the windows task manager to confirm that the 4 instances of micromacro were using the vast majority of the CPU time. It doesn't start chugging until the tile digging process starts. I wonder if a strategically placed yrest might help ease things up a bit.

Re: Malatina's survival

Posted: Mon May 21, 2012 5:14 pm
by Ego95
Maybe it would be an idea to put all minigam scripts together:
-Set Recall point to aslan-valley
-do goblins minigame
-go to the teleporter; port to varanas
-do the malatinas survival
-do cot
-go to the npc next to the mailbox, accept quest and port to the sascilia minigame
-do sascilia game
-use recall to aslan valley, walk to the goblin minigame npc and then login next char :D

Would be awesome :D
Only thing you need are more then one chars which can solo all minigames and no critical errors while porting lol

Re: Malatina's survival

Posted: Mon May 21, 2012 5:51 pm
by Alkaiser
AlterEgo95 wrote:Maybe it would be an idea to put all minigam scripts together
Actually, I do have them all chained together accept for the Goblin game since most of my mini-game bots aren't equipped well enough for it yet.

Re: Malatina's survival

Posted: Tue May 22, 2012 1:02 am
by rock5
Me too. When I got the time, mine does at, cot, survival dailies then returns to varanas square and does a mailbox/vendor/bank/drop bag clean up. 4 accounts at the same time, 7 characters per account. Takes about 5 hours. :)

When I don't have time I just do cot,dailies and then cleanup. Takes about 1:45 hours.

I'm only able to run 4 smoothy continuously if I use a full models file and blanking most of the textures. I actually have a couple of batch files I use to switch the game set up between manual play and botting.

As a quick guide, to chain the games is pretty easy. Lets say, after doing AT, you want to do survival. Create a path that takes you from AT to Malatina and then loads survivalr5, lets call it "at2mal". Then in at.xml set When_Finished = "at2mal". It should now go to Malatina after completing AT and do survival. (Don't forget to set "ExitBeforeNextFile = true" in at.xml). Then if you want to do cot after survival, because it doesn't have to go anywhere, just set When_Finished = "cot_tele" in the survival script. You can chain any number of files that way, just make sure you end up where you began so it will be ready for the next day. And end with survivalnext.xml. Set which option you want to use to change character and change NextFileToLoad to the name of the first file in your chain.

Re: Malatina's survival

Posted: Tue May 22, 2012 2:22 am
by rock5
Alkaiser wrote:Not that it is a problem for my PC, but I noticed that this script is extremely heavy on the CPU cycles. If I have 4 bots running at once my Ivy Bridge at 4.5GHz is almost pegged at 100% CPU utilization. The other mini-games scripts are easy breezy.. maybe 20% utilization with 4 bots running in parallel. I checked in the windows task manager to confirm that the 4 instances of micromacro were using the vast majority of the CPU time. It doesn't start chugging until the tile digging process starts. I wonder if a strategically placed yrest might help ease things up a bit.
You're right, I found a loop that looks like it would be cpu intensive. Around line 315 of survivalR5onload.lua you will see.

Code: Select all

				repeat
					player:update()
				until player.Casting == false
Try sticking a yrest in there. I wouldn't put anything larger then 500ms but probably something as small as 50ms might work too. Try it out and let us know how it goes.

Wait, I see similar code at line 358. Do the same there.

Re: Malatina's survival

Posted: Tue May 22, 2012 2:31 pm
by Alkaiser
rock5 wrote:Try sticking a yrest in there. I wouldn't put anything larger then 500ms but probably something as small as 50ms might work too. Try it out and let us know how it goes.

Wait, I see similar code at line 358. Do the same there.
I put the two yrests in like you suggested. I used yrest(50). That did it!

Re: Malatina's survival

Posted: Tue May 22, 2012 2:55 pm
by rock5
Cool. I'll include it in my next update.

Re: Malatina's survival

Posted: Sun May 27, 2012 5:55 am
by Ego95
So, I´ve tried to chain all minigames...and it works. Have made 2 other waypoint files from goblins to survivals (cot), and one from cot to at.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
	<!-- #  1 --><waypoint x="-5866" z="3329" y="572"> 		</waypoint>
	<!-- #  2 --><waypoint x="-5830" z="3332" y="574"> 		</waypoint>
	<!-- #  3 --><waypoint x="-5805" z="3298" y="568"> 		</waypoint>
	<!-- #  4 --><waypoint x="-5801" z="3263" y="563"> 		</waypoint>
	<!-- #  5 --><waypoint x="-5810" z="3223" y="560"> 		</waypoint>
	<!-- #  6 --><waypoint x="-5827" z="3149" y="562"> 		</waypoint>
	<!-- #  7 --><waypoint x="-5847" z="3062" y="567"> 		</waypoint>
	<!-- #  8 --><waypoint x="-5837" z="2964" y="565"> 		</waypoint>
	<!-- #  9 --><waypoint x="-5858" z="2903" y="581" type="TRAVEL"> 	</waypoint>
	<!-- # 10 --><waypoint x="-5896" z="2860" y="599" type="TRAVEL">		
		player:target_NPC("Sturobold");
		yrest (1000)
		sendMacro("ChoiceOption(3);");
		yrest (1000)
		player:mouseclickL(868, 232, 1920, 1018);
		waitForLoadingScreen()
	</waypoint>
	<!-- # 14 --><waypoint x="2297" z="1153" y="-1" type="TRAVEL">	</waypoint>
	<!-- # 15 --><waypoint x="2450" z="1140" y="19" type="TRAVEL">	</waypoint>
	<!-- # 16 --><waypoint x="2579" z="1079" y="36" type="TRAVEL">	</waypoint>
	<!-- # 17 --><waypoint x="2701" z="975" y="49" type="TRAVEL">		</waypoint>
	<!-- # 18 --><waypoint x="2763" z="961" y="54" type="TRAVEL">		
		player:target_NPC("Lieve");
		yrest (1000)
		sendMacro("ChoiceOption(2);");
		yrest (1000)
		waitForLoadingScreen()
	</waypoint>
	<!-- # 21 --><waypoint x="4745" z="-1968" y="115"> </waypoint>
	<!-- # 22 --><waypoint x="4853" z="-1973" y="115"> 
		loadPaths("minigames/survivalr5")			</waypoint>
</waypoints>


One thing I have to know, how to click other options, that you can´t do with ChoiceOption()?
At waypoint #10 I´ve added the mouseclickL() funktion because after you ChoiceOption(3) Teleport to varanas it asks you if you really want to pay 200 gold. There´s a small window whrere you can click yes or no. How do I add this? mouseclick ist crap because your RoM window has to be in the front.
By the way is there an functional goblins waypoint on here? Can´t find anything that works. Tried 2 different files, but they didn´t word for me and I couldn´t find any mistakes.

Re: Malatina's survival

Posted: Sun May 27, 2012 7:42 am
by rock5
I have a userfunction for that that I've been meaning to post as part of my GoToPotal userfunction. So I just posted it now.
http://www.solarstrike.net/phpBB3/viewtopic.php?p=37916

Install that into your userfunctions folder then instead using

Code: Select all

      player:target_NPC("Sturobold");
      yrest (1000)
      sendMacro("ChoiceOption(3);");
      yrest (1000)
      player:mouseclickL(868, 232, 1920, 1018);
      waitForLoadingScreen()
You can just do

Code: Select all

NPCTeleport("Sturobold",3)
Although I suggest you use the words of the option istead of '3' because the snoop options can move depending of which ones you unlock.

Re: Malatina's survival

Posted: Sun May 27, 2012 10:29 pm
by Ego95

Code: Select all

NPCTeleport("Sturobold",3)
Thanks rock, works fine :-) Now I'm able to do all minis without starting new scripts everytime .

Re: Malatina's survival

Posted: Thu May 31, 2012 5:20 am
by dx876234
Last weeks my Surival script stopped working.

It runs as planned but when trying to clean mobs it targets them but dont attack nor use any skills on them. It gets stuck at 1st mob waiting for it to die but when I do any skills to kill (not nessesary to target) it kills and moves on.

I run with 7 characters in there, this only happens to the mele ones, my two mages run ok.

Any ideas?

regards
dx

Re: Malatina's survival

Posted: Thu May 31, 2012 5:19 pm
by Rickster
I discovered this problem too a time ago, look here in the same thread.

But it was not realy ever solved.

An other day, this problem vanished. I think when I changed some other waypoints and how those changed the used skills.

I suspect, that I changed the use of skills in one waypoint to not using any atack skills, then loading the next (survivalR5). Maybe loading the new wp file does not reset the use of the skills, so no skills could be used to atack in Malatinas survival. But I am not realy sure about this, as I never was able to reproduce such a situation, after the behaviour ended.

To disable skills I used

Code: Select all

		for k,v in pairs(settings.profile.skills) do
			v.AutoUse = false
		end	
And to enable only a set of skills which are used by the chars profile I deactivate all skills and then seperately activate the needed skills in the current wp file this way:

Code: Select all

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

		-- activate only needed skills
		changeProfileSkill("KNIGHT_MANA_RETURN", "AutoUse", true);
		changeProfileSkill("KNIGHT_MANA_RETURN", "priority", 90)
		changeProfileSkill("KNIGHT_WHIRLWIND_SHIELD", "AutoUse", true);
		changeProfileSkill("KNIGHT_WHIRLWIND_SHIELD", "priority", 80)
		[...]
I still use this and it works fine for me now. Maybe the idea can give you a hint.

Ric

Re: Malatina's survival

Posted: Fri Jun 01, 2012 12:48 am
by rock5
A fairly long time ago the AT script didn't reset the skills when loading the next WP but it has long since had a "loadProfile()" added that reloads the skill to their original state.

I did encounter a situation recently where a number of contributing factors caused it to not attack. It happened when I used my warrior who's profile is setup to use Surprise Attack (a ranged attack) and has ranged pull on. Because warriors need rage to use skills it normally will 'attack' first and then use skills when rage becomes available. But when ranged pull is enabled it skips the 'attack'. It works ok if you start fighting from range so it starts with Surprise attack but when it starts in melee range it can't use Surprise Attack so it doesn't attack.

That has been fixed in a recent revision (716).

I'm not sure if that is dx876234 issue though as that was fixed a little over a week ago.

Re: Malatina's survival

Posted: Fri Jun 01, 2012 2:01 am
by dx876234
Strange, I am on version 718 with latest versions of the survival scripts.

The non-attacking only happens when cleaning the mobs/devices along edge, if a mob pops up from a tile it gets killed.

Seems Ill have to do some digging.

-dx

Re: Malatina's survival

Posted: Fri Jun 01, 2012 2:22 am
by rock5
What class are you and what skills does it try to use in the MM window?

Re: Malatina's survival

Posted: Sat Jun 02, 2012 2:22 pm
by Sithlord512589
here is my link file, grabbed it from here and modified it to my needs.

Whats is does is described in the code. Maybe someone find something useful in it

in the onload section you have to replace the XXX with your chrs name

Code: Select all

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

<!--
	this is what i do after both minigames (cot and survival)

    go to classhall
    buy 2 scrolls there
    go to varanas east
    go to housemaid
    enter house
    talk to 5 housekeeprs for lucky dust speed and faster cast
    leave
	go to varanas center
	buy 3 times 5 Diamonds a 100K Gold
	go to Ancient Treasure
	start AT script
-->

   <onload>
   if   (player.Name == "XXX") then
         maidone = "Dhaunae Elssar"; maidtwo = "Ardulace Edwards"; maidtre = "Julia Junior";
		  maidfour = "Mirna Dillon"; maidfive = "Vivian Davis"; 
   end
   
   
      __WPL:setWaypointIndex( 1);
   </onload>
   
   
   
   <!-- # 1 --><waypoint x="4757" z="-1986" y="134" tag="start">      
   player:target_NPC("Noreve");yrest(300);
   player: mount();
   yrest (5000);
   -- classhall
   sendMacro("ChoiceOption(5);");
   waitForLoadingScreen();
   </waypoint>
   <!-- #  2 --><waypoint x="5267" z="-3901" y="60">   </waypoint>
   <!-- #  3 --><waypoint x="5267" z="-3901" y="60">   </waypoint>
   <!-- #  4 --><waypoint x="5270" z="-3963" y="60">   </waypoint>
   <!-- #  5 --><waypoint x="5233" z="-4028" y="60">   </waypoint>
   <!-- #  6 --><waypoint x="5401" z="-4215" y="77">   </waypoint>
   <!-- #  7 --><waypoint x="5515" z="-4368" y="65">   </waypoint>
   <!-- #  8 --><waypoint x="5529" z="-4427" y="65">      
      player:target_NPC("Lehman");yrest(300);
      sendMacro("ChoiceOption(2);");yrest(300);
      sendMacro("ChoiceOption(1);");yrest(300);
      player:target_NPC("Lehman"); yrest(300);
      sendMacro("ChoiceOption(2);");yrest(300);
      sendMacro("ChoiceOption(1);");
   </waypoint>
   <!-- #  9 --><waypoint x="5515" z="-4368" y="65">   </waypoint>
   <!-- #  10 --><waypoint x="5401" z="-4215" y="77">   </waypoint>
   <!-- #  11 --><waypoint x="5233" z="-4028" y="60">   </waypoint>
   <!-- #  12 --><waypoint x="5270" z="-3963" y="60">   </waypoint>
   <!-- #  13 --><waypoint x="5267" z="-3901" y="60">   </waypoint>
   <!-- #  14 --><waypoint x="5267" z="-3901" y="60">   
   
   player:target_NPC("Lyeve");
   sendMacro("ChoiceOption(3);"); yrest(300);
   waitForLoadingScreen();
   </waypoint>
      
   
   <!-- #  15 --><waypoint x="4473" z="-35" y="71">   </waypoint>
   <!-- #  16 --><waypoint x="4602" z="-48" y="72">   </waypoint>
   <!-- #  17 --><waypoint x="4903" z="149" y="73">   </waypoint>

   <!-- #  18 --><waypoint x="4956" z="344" y="53">   
   player:target_NPC(110752); yrest(555);
   RoMScript("ChoiceOption(1);");
   
   waitForLoadingScreen(5);
   </waypoint>
   
   <!-- #  19 --> <waypoint x="4" z="7" y="0" tag="thehouse">   
   yrest(3000);
      player:target_NPC(maidone);
         sendMacro("SpeakFrame_ListDialogOption(1, 5)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 5)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 5)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 5)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 5)");yrest(300);
   
      player:target_NPC(maidtwo);
         sendMacro("SpeakFrame_ListDialogOption(1, 2)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 2)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 2)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 2)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 2)");yrest(300);
         
      player:target_NPC(maidtre);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
		 
	  player:target_NPC(maidfour);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
	  player:target_NPC(maidfive);
	  
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
         sendMacro("SpeakFrame_ListDialogOption(1, 6)");yrest(300);
      yrest(5000);
      player:target_NPC(110758); --leave the house
         RoMScript("SpeakFrame_ListDialogOption(1, 1)");
      waitForLoadingScreen(); 
	  player:mount();yrest(5000);
	  </waypoint>
	  
	  
      
	<!-- #  21 --><waypoint x="4943" z="318" y="70">	</waypoint>
	<!-- #  22 --><waypoint x="4941" z="264" y="68">	</waypoint>
	<!-- #  23 --><waypoint x="4937" z="199" y="69">	</waypoint>
	<!-- #  24 --><waypoint x="4936" z="180" y="69">	</waypoint>
	<!-- #  25 --><waypoint x="4876" z="124" y="70">	</waypoint>
	<!-- #  26 --><waypoint x="4794" z="61" y="70">	</waypoint>
	<!-- #  27 --><waypoint x="4707" z="11" y="70">	</waypoint>
	<!-- #  28 --><waypoint x="4639" z="-24" y="69">	</waypoint>
	<!-- #  29 --><waypoint x="4558" z="-37" y="69">	</waypoint>
	<!-- #  30 --><waypoint x="4521" z="-22" y="68">
	 player:target_NPC("Dieve");
   sendMacro("ChoiceOption(2);"); yrest(300);
   waitForLoadingScreen();
	</waypoint>
   
 <!-- To Cedric -->
	<!-- #  31 --><waypoint x="4745" z="-1968" y="127">	</waypoint>
	<!-- #  32 --><waypoint x="4888" z="-2016" y="131">	</waypoint>
	<!-- #  33 --><waypoint x="5149" z="-2086" y="114">	</waypoint>
	<!-- #  34 --><waypoint x="5259" z="-2113" y="131">	
	 player:target_NPC("Cedric");
   sendMacro("ChoiceOption(1);"); yrest(300);
    player:target_NPC("Cedric");
   sendMacro("ChoiceOption(1);"); yrest(300);
    player:target_NPC("Cedric");
   sendMacro("ChoiceOption(1);"); yrest(1000);
   
   
   player:target_NPC("Kat Rojo");
   sendMacro("ChoiceOption(1);"); yrest(300);
   player:target_NPC("Kat Rojo");
   sendMacro("ChoiceOption(2);"); yrest(300);
   waitForLoadingScreen(10);
  loadPaths( "000-AT 3.6b3.xml" );
	</waypoint>
	
</waypoints>
     

Re: Malatina's survival

Posted: Sun Jun 03, 2012 3:07 am
by dx876234
I nailed it, it was a mix of several but main reason was in my "surrounding" script I set the mobs to one specific target for running dailis/collecting phirs. Remove the mobs specification and it mostly ran as I'm used to :)

Another influence was that there is a range distance thing for priests, one of my characters is monk - ie mele. Inserting a check on that made it run smoothly.

Now I only need to figure out why the AOE for my mages isnt used, prolly some profile issues.

Thx for helping :)

-dx

Re: Malatina's survival

Posted: Sun Jun 03, 2012 4:25 am
by rock5
dx876234 wrote:Another influence was that there is a range distance thing for priests, one of my characters is monk - ie mele. Inserting a check on that made it run smoothly.
I didn't add a check for that, sorry. I could add it but I wonder if there are any p/w that still use ranged? How can I be sure they are playing as a monk? Check COMBAT_TYPE or maybe COMBAT_DISTANCE?
dx876234 wrote:Now I only need to figure out why the AOE for my mages isnt used, prolly some profile issues.
The current version should be using Purgatory Fire. Is that the skill that isn't being used? Thunderstorm, and skills like it, will be supported in the next version.

Re: Malatina's survival

Posted: Sun Jul 01, 2012 3:47 am
by Beni
you can add some warlock and champion aoe skills for trash mobs? like "CHAMPION_KINETIC_BURN", and "WARLOCK_BEAST'S_ROAR",

Re: Malatina's survival

Posted: Sun Jul 01, 2012 4:06 am
by rock5
Beni wrote:you can add some warlock and champion aoe skills for trash mobs? like "CHAMPION_KINETIC_BURN", and "WARLOCK_BEAST'S_ROAR",
Not really. Only spammable aoe skills are viable in the aoe lists. Of the ones in the list the only ones I consider viable are Purgatory Fire, Thunderstorm, Frantic Briar and Ignite.

You could still use your 2 skills as part of a normal attack sequence so that when they are available they get used but otherwise it uses your other one-to-one skills. Actually I should probably remove the other non viable skills from the list so they can be used that way too.