Wanting to write a waypoint for GC easy 1st boss farm

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Message
Author
woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#81 Post by woah » Mon Jan 09, 2012 9:47 am

Hey again.. More changes / tweaks lol.

Problem: The cooldown check works fine solo, but with two players the cooldowns start to spread apart very slowly. After 50ish runs its a big problem, where one of us stops being able to cast cooldowns for the fight.
Solutions:
1. Have party leader do a cooldown check, and have follower check leader's buffs for evasion, and cast cd's when it sees that buff. (can target leader and wait, but the code for checking his buffs isnt working)
2. Somehow sync the cooldowns using precise ready checks :p (we have failed at this so far)

Also.. is there a working code that will check the chat log for a specific word combination? This would help a LOT. (:

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

Re: Wanting to write a waypoint for GC easy 1st boss farm

#82 Post by rock5 » Mon Jan 09, 2012 10:04 am

Check out the event monitor.
http://www.solarstrike.net/wiki/index.p ... _Functions
You'll see various example of it used if you search the forum. It is also used in Lisas GMMonitor userfunction.
  • 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
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#83 Post by lisa » Mon Jan 09, 2012 7:08 pm

to check buffs it should be easy enough, if you are using the
checkparty() then you will have a pawn of party members because it does PartyTable() which populates a table of party member information.

Long story short all information you get from player.** you can get using
partymemberpawn.**

If you know there is only the 2 characters in party then you can just assume i == 2
partymemberpawn[2].Buffs would be a table of all your buffs.
you can also do

Code: Select all

repeat
yrest(500)
partymemberpawn[2]:update()
until partymemberpawn[2]:hasBuff("ROGUE_EVASION")
Something to keep in mind when you change zones then the addresses will change so if you haven't done a checkparty() then you should do PartyTable() to make sure the addresses are up to date.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#84 Post by woah » Mon Jan 09, 2012 8:47 pm

Ahh, ok ill check that out. And for the checking buffs I was using ("Evasion") not ("ROGUE_EVASION"). Ill make the changes and get back to you once klassick1 is online.

Edit: Ok so I'm trying this code...

Code: Select all

<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
	EventMonitorStart("Invited","CHAT_MSG_PARTY",",,,Myingamename");
	repeat
	yrest(500)
        until string.find(msg, "Invited") </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72">
	EventMonitorStop("Invited"); </waypoint>
But I'm getting this error: [string "..."]:5: bad argument #1 to 'find' (string expected, got nil)

I'm not very confident in that code, is what i'm trying to do possible?

klassik1
Posts: 57
Joined: Wed Oct 19, 2011 12:38 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#85 Post by klassik1 » Mon Jan 09, 2012 11:54 pm

to me it seems that all of this stuff works while solo. np... but when you add in bringing another person along... theres to much potential for problem. characters not being where they appear, etc. i think it works better, simplified... with yrests alone... just simply wait long enough for the cd to be done...

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#86 Post by lisa » Tue Jan 10, 2012 12:11 am

Been a while since I looked at event monitoring but try this

Code: Select all

<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
EventMonitorStart("Invited","CHAT_MSG_PARTY");
local _go
repeat
local time, moreToCome, name, msg = EventMonitorCheck("Invited", "1")
yrest(500)
if msg then -- make sure there is a message first
if string.find(msg, "Invited") then _go = true end
end
until _go </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72">
   EventMonitorStop("Invited"); </waypoint>
might need to change the arguments for EventMonitorCheck("Invited", "1"), it's been a while since I looked at function and can't remember is "1" is for message or not.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#87 Post by lisa » Tue Jan 10, 2012 12:30 am

klassik1 wrote: i think it works better, simplified... with yrests alone... just simply wait long enough for the cd to be done...
Yeah there are plenty of ways to handle party type stuff, it just comes down to how you want to do it.

1.
just add enough of a rest so buffs are always back up again, could waste a few mins every run.

2.
Use buffs as a check, if priest then cast regenerate on a character to tell you it's ready and just do a check for regenerate buff. Can also use other buffs or skills.

3.
Event monitoring, little more complex and involves some sort of indication like talking in party chat or whispers.

4.
networking 2 MM together, very very very complex and actually adds quite a bit of load on the PC's.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#88 Post by woah » Tue Jan 10, 2012 1:46 am

Ok I tested both of them. Results:

Buff Check: Here's the code I used.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
PartyTable()
repeat
yrest(500)
partymemberpawn[2]:update()
until partymemberpawn[2]:hasBuff("ROGUE_PREMEDITATION") </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72"> </waypoint>
</waypoints>
It waited, saying "Party member 1 has the name of ____" But it never continued the waypoints once my other char casted premeditation.

Event Monitor:

Code: Select all

<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
EventMonitorStart("Invited","CHAT_MSG_PARTY");
local _go
repeat
local time, moreToCome, name, msg = EventMonitorCheck("Invited", "1")
yrest(500)
if msg then -- make sure there is a message first
if string.find(msg, "Invited") then _go = true end
end
until _go </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72">
   EventMonitorStop("Invited"); </waypoint>
I tried using "Invited", 1 2 and 3 with the same results as the buff check. ("Party member 1 has the name of ____" but never continued once I said "Invited" in party chat with the other char.

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#89 Post by lisa » Tue Jan 10, 2012 3:14 am

If some code isn't doing what you wanted it is always a good idea to add in some prints so you can work out which part is failing.

it printed the party member name which is good.
woah wrote:It waited, saying "Party member 1 has the name of ____"
That is done by the PartyTable(), so we atleast know that is being done.

So then try a print to check if it is infact getting the info you want.

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
PartyTable()
table.print(partymemberpawn[2].Buffs)
repeat
yrest(500)
partymemberpawn[2]:update()
until partymemberpawn[2]:hasBuff("ROGUE_PREMEDITATION") </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72"> </waypoint>
</waypoints>
This should do a print of all the buffs the "other" party member has, I thought I should point that out.
partymemberpawn[1] should be the player
partymemberpawn[2] should be the other character

Hmm might use
partymemberpawn:updateBuffs()
instead

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
PartyTable()
table.print(partymemberpawn[2].Buffs)
repeat
yrest(500)
partymemberpawn[2]:updateBuffs()
until partymemberpawn[2]:hasBuff("ROGUE_PREMEDITATION") </waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72"> </waypoint>
</waypoints>
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#90 Post by woah » Tue Jan 10, 2012 6:05 pm

Ok I used this code

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
PartyTable()
local target = partymemberpawn[2];
repeat
yrest(500)
target:updateBuffs()
table.print(target.Buffs)
until target:hasBuff("ROGUE_PREMEDITATION") == true 
player:cast("PRIEST_REGENERATE")</waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72"> </waypoint>
</waypoints>
It printed everything correctly, (no buffs before I cast premed, then premed after). So the problem is in

Code: Select all

until target:hasBuff("ROGUE_PREMEDITATION") == true
I also tried your code with the same results.

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#91 Post by lisa » Tue Jan 10, 2012 8:25 pm

did you try using the ID of the buff?

Did some testing, hasBuff needs to be the in game name.
"Premeditation"

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints>
<!-- #  1 --><waypoint x="-5248" z="6647" y="83">
PartyTable()
repeat
yrest(500)
partymemberpawn[2]:updateBuffs()
until partymemberpawn[2]:hasBuff(500961) -- rogue premeditation
player:cast("PRIEST_REGENERATE")</waypoint>
<!-- #  2 --><waypoint x="-5107" z="6744" y="72"> </waypoint>
</waypoints>
That will work, you do know premeditation buff only lasts 10 seconds right, so rogue would have to keep recasting it to make sure the other character sees the buff. I use Id's anytime I do buff or skills now days so I forgot you needed the in game name for the skill.

could also use

Code: Select all

target:hasBuff("Premeditation")
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#92 Post by woah » Tue Jan 10, 2012 11:23 pm

Yep that was the problem. Works perfect now.
And I know, I was just using premed for testing because evasion has a cooldown. This code will be used on the follower's path to cast cooldowns immediately after the leader starts casting his.

Now, just gotta get that that eventmonitor code working (:

klassik1
Posts: 57
Joined: Wed Oct 19, 2011 12:38 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#93 Post by klassik1 » Wed Jan 11, 2012 12:54 am

The buff check is working beautifully... We are gonna run it all night and test it.
Will let you know tomorrow....

User avatar
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#94 Post by lisa » Wed Jan 11, 2012 1:18 am

Something that might help you, any time I want to test some code and it is short I just type it in commandline.

So start bot with rom/bot path:commandline
and then at the prompt type in the code you want to test.
In this case I did

Code: Select all

player:update() if player:hasBuff(500961) then print("Works") end
then I would cast the skill in game and hit the code, if it printed Works then I know it worked, if it printed nothing then I know it failed.

Important to remember to do updates when doing this though.

If I want to test really long code I make it a userfunction and then just call it from commandline, if there is an error in the code MM will say what it is and what line of the file. if you just add the code to a WP then all you get is a fail and no idea what actually failed lol

Like my WP I am doing for AT at the moment, I have the entire code as a userfunction and I call the function from the WP, so the actual WP file has

Code: Select all

<?xml version="1.0" encoding="utf-8"?><waypoints type="TRAVEL">
<onLoad>
tester()
</onLoad>
</waypoints>
and nothing else, when I am eventually happy I will just copy the code to the WP.
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#95 Post by woah » Wed Jan 11, 2012 4:41 am

Ahh!! I made a working code :D.
Its a userfunction that waits until it is invited by a certain character, then goes. This is it.

Code: Select all

function WaitForInvite()
	EventMonitorStart("Pinv", "PARTY_INVITE_REQUEST");
	local _go
	repeat
	local time, moreToCome, name = EventMonitorCheck("Pinv", "4")
	yrest(500)
	if time ~= nil then
	  if name == CharWhoInvites then _go = true  -- Replace "CharWhoInvites" with.. well, you know..
	  end
	end
	until _go
	EventMonitorStop("Pinv");
end
Awwhh yeahhh. Now to try to make one for a specific word in party chat. (:

Edit: This requires the AutoAcceptInvitations addon. At least until I make the userfunction accept the invitation also.

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#96 Post by woah » Thu Jan 12, 2012 6:46 am

Ok I made WaitForInvite v1.1 hahah (:

Use this to start looking for an invite:

Code: Select all

EventMonitorStart("Pinv", "PARTY_INVITE_REQUEST");
Use this userfunction wherever you want to wait for the invite:

Code: Select all

function WaitForInvite()
	local _go
	repeat
	local time, moreToCome, name = EventMonitorCheck("Pinv", "4")
	yrest(500)
	if time ~= nil then
	  if name == DummyName then _go = true
	  end
	end
	until _go
	sendMacro("AcceptGroup();")
end
And use this to stop looking.

Code: Select all

EventMonitorStop("Pinv");
Ok and to the experts: The code i'm using to accept the invite works fine, but the dialog box for the party invite never goes away. Is there something I can do about this?

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

Re: Wanting to write a waypoint for GC easy 1st boss farm

#97 Post by rock5 » Thu Jan 12, 2012 8:13 am

You can probably just do a frame:Hide() command but I'm not sure what the frames name is.

Try

Code: Select all

RoMScript("StaticPopup1:Hide()")
If you haven't already accepted the invite this declines the invite. I'm not sure what will happen in your case where you have already joined the party. Try it and see what happens.
  • 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
lisa
Posts: 8332
Joined: Tue Nov 09, 2010 11:46 pm
Location: Australia

Re: Wanting to write a waypoint for GC easy 1st boss farm

#98 Post by lisa » Mon Jan 16, 2012 9:18 pm

I made a userfunction for party chat monitoring, just to simplify things for people

http://www.solarstrike.net/phpBB3/viewt ... =27&t=3409
Remember no matter you do in life to always have a little fun while you are at it ;)

wiki here http://www.solarstrike.net/wiki/index.php?title=Manual

woah
Posts: 44
Joined: Sat Dec 17, 2011 5:27 pm

Re: Wanting to write a waypoint for GC easy 1st boss farm

#99 Post by woah » Tue Jan 17, 2012 2:41 am

oo very nice. Ill have to test that out sometime (:

-And rock, that code works, thanks.

Germangold
Posts: 276
Joined: Thu Oct 22, 2009 3:58 am

Re: Wanting to write a waypoint for GC easy 1st boss farm

#100 Post by Germangold » Fri Jan 20, 2012 5:53 am

i was manually farming GC easy with my Priest/mage 70/70: 45k life fully selfbuffed, groupheal 55k crit, with a small group
one warrior/scout and one scout/rouge both of them around my HP. with raskasha hardmode weapons.

It was very easy to complete boss1-3.

I was wondering if I could adopt this script to a Warrior/Knight 70/50 and my priest as heal to farm boss1 at least
each run 4*2 mementos.

Do you have any requirements to the equipement for my warrior? i have t8 117 dura hm 2handed axt rakasha, thats 10k dmg unbuffed

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests