Page 1 of 7

Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Nov 23, 2011 3:25 pm
by rock5
This waypoint file does all variations of the quest "Invaders from the Sea" in Heffner. If your not aware, this quest gives you a reward, "Old Bag" which hold Training Certificates, for your elite skills. You turn them in to Lowen Dunlit.

It's pretty rough but it gets the job done.

I've split the file in 2. Both files go in the waypoints folder.

To start it, stand next to "Johnny Walk" and start the "invaders.xml" waypoint file.

There is one option at the top of "invaders.xml"
  • InvadersDebug - set to true to display a few debug messages.
Note: Please make sure that when you do an "Equipment Swap" using the "Equipment Swap" button in the Character Equipment frame, that the characters HP falls below 50%. If it doesn't, remove some of your gear. Then switch back to your primary gear before starting this script. This is needed for one of the quests to run efficiently. It would still complete without this, but would take a lot longer.

Changes:
  • Fixed: Now works if you have existing action bar buttons.
  • Fixed: Can now work from sub folders.
  • Tweaked distances in craftsmen quest.
  • Added time-out for sample quest in case it fails to teleport.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Nov 23, 2011 6:22 pm
by bmt
Is there a invaders_return.xml file? Bot asks for it.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Nov 23, 2011 8:50 pm
by lisa
the _return.xml is only used if you die and have resurect in profile settings.
It will always print that it didn't find a _return.xml if there is none but it will still do the WP without issue.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Thu Nov 24, 2011 1:52 pm
by nerdyone255
ran 7 bags no problem.

CHEERS!

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Thu Nov 24, 2011 7:45 pm
by rock5
nerdyone255 wrote:ran 7 bags no problem.

CHEERS!
Ah, finally, some feedback. Thanks.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Thu Nov 24, 2011 8:44 pm
by kuripot
always stack in barrier in the [fix, measure, assemble, quest]<-- "forgot the name of quest..."

need to do manual quest

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Thu Nov 24, 2011 9:31 pm
by rock5
kuripot wrote:always stack in barrier in the [fix, measure, assemble, quest]<-- "forgot the name of quest..."

need to do manual quest
Yes it does cut the corners pretty close. I actually used the coordinates the craftsman stand at but they stand pretty close to some corners. It worked for me but I can imagine, if you have a little to much lag or something that effected the bots accuracy at going to a coordinate, then it could not get close enough to the corner to make it around.

I'll try adding a bit more space and see how that goes.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Thu Nov 24, 2011 10:14 pm
by lisa
WoW I can see why it took 2 days to do, very nice.
Haven't used it yet, just had a look through the code.

Is it just me or does it seem like the waypoint coords are becoming the lesser part of the file rather then the majority lol

Seems lately the WP I have been seeing are more code then coords, which isn't a bad thing, just an observation =)

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 12:02 am
by kuripot
rock5 wrote:
kuripot wrote:always stack in barrier in the [fix, measure, assemble, quest]<-- "forgot the name of quest..."

need to do manual quest
Yes it does cut the corners pretty close. I actually used the coordinates the craftsman stand at but they stand pretty close to some corners. It worked for me but I can imagine, if you have a little to much lag or something that effected the bots accuracy at going to a coordinate, then it could not get close enough to the corner to make it around.

I'll try adding a bit more space and see how that goes.


maybe your correct..
my connection not good than i expected..


but i salute to you rock.... this quest is hard to do even you do manual... different quest with different skill to cast in different target... i cant imagine what brain do you have.... maybe when your mom was preggy she was reading all the book all the time..

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 12:11 am
by BillDoorNZ
I second that Lisa! Y're a BEAST rock!

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 4:36 am
by rock5
lisa wrote:like the waypoint coords are becoming the lesser part of the file rather then the majority lol
So true, lol.

I think the reason my code get more and more complex is because I like to stretch my abilities. I like taking on the complex tasks. Complex tasks require complex code. The better I get at coding, the more complex the tasks I take on and the more complex the code required.

At this stage I can say, for sure, 100%, I will never release a simple waypoint file because I'll never do them. lol.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 4:54 am
by lisa
A year ago this would have been accomplished by having a "main" WP which checked buff name and then loaded the WP to deal with that buff. So probably like 6 or 7 WP all up, not sure how many buffs there is all up.

So yeah I see it as a huge step forward and really shows the potantial of MM.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 5:02 am
by rock5
And there would have been a lot of repitition. :)

There are 9 quests.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Fri Nov 25, 2011 11:50 am
by rock5
Updated to version 0.2.

Changes:
  • Fixed the bug with the blood samples quest.
  • Added a bit more room when going round the barriers in the craftsman quest. It'll probably still bump into it a bit but hopefully wont get stuck.
  • Updated the memory address for the new game patch and changed it to be an offset of an existing address in addresses.lua so hopefully it wont need updating after future patches.
  • Disable potion usuage when using the swap gear trick to reduce your hp for the "Leave Me Alone! Go Away!" skill. Should restore the setting once that quest has ended.
  • A couple of other minor tweaks.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Sat Nov 26, 2011 9:50 am
by MiesterMan
I remember trying to do this for static laforea but gave up because of how complicated it was.

Good job! :)

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Nov 30, 2011 8:41 am
by lisa
Ok finally had a chance to test it out.

1. I was born to research.
It needs to either check distance before casting skill 1 or it needs to check for buff before casting skill 2.
At the moment it tries to cast skill 1, red screen writing says needs to be closer. It then casts skill 2 and then tries to use skill 3.

Haven't noticed any other issues as yet.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Wed Nov 30, 2011 9:17 am
by rock5
With that quest you can't really check things. I initially had it waitforloadingscreen but it would fail more often than it succeeded. As it is now it presses 2 even if the screen hasn't fully loaded and seemd to work really well for me. If it's failing for you because it says "needs to be closer" then that's another issue.

Hm.. why aren't I getting that? I think I made a change that made sure you are within range when using the 'range' option of player:moveTo. As it is, if the range is set to 40 for example, moveTo will concider 70 as successfully reaching the target becouse of the 'successdist' value.

Actually I should have committed the change when I committed 677 just now. Grr..

If you want to try it, try changing line 2104 of player.lua to

Code: Select all

	while( dist > successDist or (range ~= nil and dist > 0)) do

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Sat Dec 03, 2011 5:49 am
by rock5
Just wanted to let you guys know.

It has come to my attention that you might notice that there is a problem with going within range to use the skills with this waypoint file. I didn't notice it because I had done a little fix to the player:moveTo function so it didn't happen to me.

That change has now been committed in rev 678. Once you've updated, this waypoint file should work better.

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Mon Jan 09, 2012 1:59 pm
by lordmata
Nice work, i'm really loving it. Only 1 error though: "Quick Guide To Facility Repair" quest doesn't work. After engaging with the npc the bot doesn't use skills when the npc says them. I updated to latest revision and put the ingamefunctions in addons. Rest is working lovely :)

Re: Rock5's "Invaders from the Sea" - For Elite Skills

Posted: Mon Jan 09, 2012 9:43 pm
by rock5
I don't know why. It works for me.

Hm... let me have a look.

Maybe it has some thing to do with the string search of what the craftsman says. Maybe in your language there are special characters in the message such as - that interfere with the search.

Two things you can do.

1. Check if the messages the script is using, matches what the craftsman says. To do this type the following in game.

Code: Select all

/script SendSystemChat(TEXT("SC_PE_ZONE13_01_SMITH01"))
See what it prints. Then try incrementing the last digit upto 5. That will be all the messages used. See if they match what the craftsman says.

2. If it is just a character in the messages messing with the search then you can try changing the following at line 308 of invaders_functions.lua.

Code: Select all

						if string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH02\")")) then -- Fix that end!
							RoMScript("UseExtraAction(2)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH01\")")) then -- It's time to measure that distance!
							RoMScript("UseExtraAction(3)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH03\")")) then -- Good! Assemble it!
							RoMScript("UseExtraAction(4)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH04\")")) or -- failed
							   string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH05\")")) then -- succeeded
							-- Move to next Craftsman
							nextCraftsman = true
						end
to

Code: Select all

						if string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH02\")"),nil,true) then -- Fix that end!
							RoMScript("UseExtraAction(2)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH01\")"),nil,true) then -- It's time to measure that distance!
							RoMScript("UseExtraAction(3)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH03\")"),nil,true) then -- Good! Assemble it!
							RoMScript("UseExtraAction(4)") yrest(1500)
						elseif string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH04\")"),nil,true) or -- failed
							   string.find(msg, RoMScript("TEXT(\"SC_PE_ZONE13_01_SMITH05\")"),nil,true) then -- succeeded
							-- Move to next Craftsman
							nextCraftsman = true
						end