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
Would be awesome

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
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
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.