Honor point's farm in dril ground

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Message
Author
kuripot
Posts: 493
Joined: Mon Nov 07, 2011 9:14 pm

Re: Honor point's farm in dril ground

#41 Post by kuripot » Sat Nov 17, 2012 11:26 pm

there is a sequence of sigil appear??
either Divine Protection Reward 1st then follow by Healing Reward then get Drill Reward??

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

Re: Honor point's farm in dril ground

#42 Post by lisa » Sat Nov 17, 2012 11:32 pm

kuripot wrote:there is a sequence of sigil appear??
either Divine Protection Reward 1st then follow by Healing Reward then get Drill Reward??
pretty sure it's random, the Drill Reward adds 5 honor.
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

MinMax
Posts: 46
Joined: Mon Dec 21, 2009 6:45 am

Re: Honor point's farm in dril ground

#43 Post by MinMax » Sun Nov 18, 2012 5:15 am

Yesterday i played a littlebit.

Play without a equipment. ( damage is percental) For 99% i reached the lvl 10 without to die.
Dont look at the script. It´s bad. Was only for testing but it works perfectly and endless. Always 235-245 Points
trial3reggen.xml
(1.96 KiB) Downloaded 371 times
MinMax ( Minimaler Erfolg maximaler Aufwand oder umgekehrt)

AngelDrago
Posts: 133
Joined: Fri May 06, 2011 10:39 am

Re: Honor point's farm in dril ground

#44 Post by AngelDrago » Sat Aug 17, 2013 4:01 pm

lisa wrote:I had a play in there today, ended up using this.

Code: Select all

	local objectList = CObjectList();
	objectList:update();
	for i = 0,objectList:size() do
		local obj = objectList:getObject(i);
		if( obj ~= nil ) and ( obj.Type == PT_SIGIL ) then
			if obj.Id == 205026 or obj.Id == 205028 or obj.Id == 205027 then
				teleport(obj.X,obj.Z,obj.Y)
				yrest(100)
				keyboardPress(settings.hotkeys.MOVE_FORWARD.key);
				teleport(2047,2461,70)
				return
			end
		end
	end
the spikes do hurt a bit to much though, maybe do the sigil to get immune buff and then while having buff try to get the other sigils?

205026 is Drill Reward
205027 is Divine Protection Reward
205028 is Healing Reward
Hello Lisa how did you end up using this script i tried but was getting error messages like this...
10:59pm - C:/micromacro/scripts/rom/classes/waypointlist.lua:83: Failed to compi
le and run Lua code for waypointlist onLoad event.
thx for the help

Vengefulmilk
Posts: 19
Joined: Wed May 01, 2013 4:55 am

Re: Honor point's farm in dril ground

#45 Post by Vengefulmilk » Sat Aug 17, 2013 10:05 pm

Hey guys not sure because I dont have a drill ground myself at the moment, but some players in world were talking and said that one of the minigames has you survive or kite mobs. They said that if you kite the mobs for 2 and a half minutes straight you earn something like 15k honor points. I'm not sure what game it is, or if its acutally true but its just an idea if anyone wants to try it out and verify it if they know which game. Best of luck.

vernberg
Posts: 28
Joined: Tue Nov 27, 2012 6:33 am
Location: north of the the world

Re: Honor point's farm in dril ground

#46 Post by vernberg » Sun Sep 01, 2013 9:57 am

thats correct

there is a minigame in drill ground names survival wich spawns mobs every 10 second that you can kite or Fly to avoid just follow the wall edges and dont die

User avatar
Bot_romka
Posts: 96
Joined: Tue Apr 05, 2011 2:59 am
Location: Russia

Re: Honor point's farm in dril ground

#47 Post by Bot_romka » Sun Oct 13, 2013 8:15 am

My version of WP
Attachments
Honor_points.xml
(5.7 KiB) Downloaded 375 times

ZZZZZ
Posts: 513
Joined: Sun Oct 21, 2012 1:42 am

Re: Honor point's farm in dril ground

#48 Post by ZZZZZ » Fri Jun 13, 2014 4:50 am

Ok, I have been trying to do the Sharp Sight, Quick Hands game in the drill ground, at first I thought hey, lets use event monitoring to hit them, works fine in stages 1-3, but stage 4 they pop up random spots and say a random number. The other issue with this is that they also added in 'friendly' targets, and if you hit 1 you lose 10 points, basically making the event monitoring useless.

So I thought maybe I can use their ID's and their positions to determine what to hit, and this is pretty much where I have been stuck since.

The ID range 102176-102184 seems to be most of the targets that you want to hit, and as for the position, the X and Z values are always the same, so I made 2 tables of those values and made it check the objXZ against the X and Z of each table, but for some reason it would only cast on select targets or not at all.

For now I just want it to hit everything....at least if I can get that to work then I can go from there.
This is what I was using so far... Also need to figure out a way to determine if the target has already been hit or not as you lose 5 points for a miss.

Code: Select all

function Wack_it()
	local XMoleCoord = {3055.7749023438, 3099.330078125, 3143.4460449219, 3054.9389648438, 3099.8291015625, 
		3146.8620605469, 3055.0129394531, 3099.3659667969, 3147.04296875}
	local ZMoleCoord = {4680.6630859375,4680.3110351563,4679.041015625,4722.5961914063,4724.6572265625,
		4719.6767578125,4769.3061523438,4770.5322265625,4767.8090820313}
	-- local XMoleCoord = {3055, 3099, 3143, 3054, 3099, 3146, 3055, 3099, 3147}
	-- local ZMoleCoord = {4680,4680,4679,4722,4724,4719,4769,4770,4767}
	local ignoreMoleTable = {}
	local platypusIDs = {}
	local ignoreHole = 0
	while RoMScript("TimeKeeperFrame:IsVisible()") do
		player:update()
		yrest(1);
		local objectList = CObjectList()
		objectList:update()
		local objSize = objectList:size()
		for i = 0,objSize do
			local obj = objectList:getObject(i)
			obj:update()

			if obj.Name == "Platypus" then --(obj.Id >= 102176 and 102184 >= obj.Id)
				for i=1,9,1 do
					if (obj.X == XMoleCoord[i] and obj.Z == ZMoleCoord[i]) then
						RoMCode('UseExtraAction('..i..')');
						break
					end
				end
			end
		end
	end
end

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

Re: Honor point's farm in dril ground

#49 Post by rock5 » Fri Jun 13, 2014 5:10 am

It's probably impossible to match high decimal place floats. You should probably check the distance between points instead. eg.

Code: Select all

if 1 > distance(obj.X, obj.Y, XMoleCoord[i], ZMoleCoord[i]) then
That will match 2 points if they are less than 1 away from each other. You can adjust the accuracy as needed.
  • 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

ZZZZZ
Posts: 513
Joined: Sun Oct 21, 2012 1:42 am

Re: Honor point's farm in dril ground

#50 Post by ZZZZZ » Fri Jun 13, 2014 6:12 am

I have run an object position check a few times to see, and using a table and table.contains, every value is returned exactly the same, no matter what. The commented out tables -

Code: Select all

   -- local XMoleCoord = {3055, 3099, 3143, 3054, 3099, 3146, 3055, 3099, 3147}
   -- local ZMoleCoord = {4680,4680,4679,4722,4724,4719,4769,4770,4767}
are my other attempt at just trying without the decimals, and that had no effect :/

I'll try the distance check when I get a chance and see if that makes any difference though.

~~ edit, didn't make any difference. I have no idea what to do about this now >.<

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

Re: Honor point's farm in dril ground

#51 Post by lisa » Sun Jun 15, 2014 11:31 pm

This is the one where you have 9 spots and things pop up and u hit numberpad numbers to hit the objects you want yeah?

I think this is with lvl 1 drill ground, I may be able to have a look for you, no idea what I have in my castles anymore lol
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: Honor point's farm in dril ground

#52 Post by lisa » Mon Jun 16, 2014 1:21 am

well I can tell you the firswt thing I did was this add in prints.

Code: Select all

			if obj.Name == "Platypus" then --(obj.Id >= 102176 and 102184 >= obj.Id)
				for i=1,9,1 do
					local disst = distance(obj.X, obj.Y, XMoleCoord[i], ZMoleCoord[i])
					print(disst)
					if 4753 > disst then
					--if (obj.X == XMoleCoord[i] and obj.Z == ZMoleCoord[i]) then
						print("hitting mole at position "..i)
						RoMCode('UseExtraAction('..i..')');
						break
					end
				end
			end
which gave some very interesting results.

Code: Select all

4666.4548862305
hitting mole at position 1
4666.560947928
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
4666.4548862305
hitting mole at position 1
4667.1205299538
hitting mole at position 1
So there is an issue right there.

Next I tried just doing some prints like this

Code: Select all

local aa,bb = player:findNearestNameOrId("Platypus") table.print(bb)

Code: Select all

table: 03813EF8
1:      table: 03813F98
        Distance:       128.78521517544
        Name:   Platypus
        Address:        365400320
        Z:      4719.6767578125
        Attackable:     true
        X:      3146.8620605469
        Type:   2
        Y:      14.329277038574
        Id:     102180
2:      table: 03813FC0
        Distance:       176.14539092252
        Name:   Platypus
        Address:        365404160
        Z:      4769.3061523438
        Attackable:     true
        X:      3055.0129394531
        Type:   2
        Y:      14.407148361206
        Id:     102181

table: 03814920
1:      table: 038149C0
        Distance:       128.78521532684
        Name:   Platypus
        Address:        365400320
        Z:      4719.6767578125
        Attackable:     true
        X:      3146.8620605469
        Type:   2
        Y:      14.329298019409
        Id:     102180
2:      table: 03814A88
        Distance:       131.65988312709
        Name:   Platypus
        Address:        743697152
        Z:      4722.5961914063
        Attackable:     true
        X:      3054.9389648438
        Type:   2
        Y:      14.614768981934
        Id:     102178
3:      table: 03814A38
        Distance:       171.24348408116
        Name:   Platypus
        Address:        693959168
        Z:      4770.5322265625
        Attackable:     true
        X:      3099.3659667969
        Type:   2
        Y:      14.28392791748
        Id:     102182

table: 03812B20
1:      table: 03812BE8
        Distance:       93.1410456072
        Name:   Platypus
        Address:        664036352
        Z:      4680.6630859375
        Attackable:     true
        X:      3055.7749023438
        Type:   2
        Y:      14.347370147705
        Id:     102143
2:      table: 03812C10
        Distance:       174.66309086418
        Name:   Platypus
        Address:        664040192
        Z:      4767.8090820313
        Attackable:     true
        X:      3147.04296875
        Type:   2
        Y:      14.435062408447
        Id:     102183
I would need to confirm but it seems the Id matches to position in game.

102176 is position X
102177 is position X
102178 is position X
102179 is position X
102180 is position X
102181 is position X
102182 is position X
102183 is position X
102184 is position X

I noticed another Id, 102143, might be the ones to avoid hitting?

Ok so the usual offset for if clicked doesn't work.

This works for round 1 when they are coming out slowly, scores 14ish round 1.

Code: Select all

function platypus()
	local prevspot, prevaddress = 0,0
	while RoMScript("TimeKeeperFrame:IsVisible()") do
		player:update()
		yrest(1);
		local objectList = CObjectList()
		objectList:update()
		local objSize = objectList:size()
		for i = 0,objSize do
			local obj = objectList:getObject(i)
			obj:update()
			if obj.Name == "Platypus" then
				local spot = obj.Id - 102174
				if spot > 0 and not (spot == prevspot and prevaddress == obj.Address) then
					printf("hitting %X mole at position %s\n", obj.Address, spot)
					RoMCode('UseExtraAction('.. spot..')');
					prevspot = spot
					prevaddress = obj.Address
					break
				end
			end
		end
	end
end
-- getTime()  deltaTime(getTime(), starttime)  -- in seconds

Code: Select all

hitting 312E1E00 mole at position 8
hitting 312E1400 mole at position 5
hitting 312E7800 mole at position 2
hitting 312E5500 mole at position 5
hitting 40A0D200 mole at position 2
hitting 40A03C00 mole at position 7
hitting 40A00A00 mole at position 2
hitting 40A0D200 mole at position 4
hitting 15C7C300 mole at position 4
hitting 36B86E00 mole at position 7
hitting 36B8E600 mole at position 2
hitting 36B8E100 mole at position 5
hitting 36B84600 mole at position 3
hitting 36B85A00 mole at position 6
So in order to keep working in faster rounds a check will need to be done for more than just the last platypus, maybe add in a time on the combination of Id and Address so it ignores that combination for the next 2 seconds.

I added that as a combo because sometimes it would have the same address in a different position on the next platypus.

Code: Select all

hitting 37399B00 mole at position 4
hitting 37399B00 mole at position 7
hitting 37399B00 mole at position 5
hitting 3939C800 mole at position 2
hitting 37399B00 mole at position 7
hitting 29229B00 mole at position 9
hitting 37399B00 mole at position 4
hitting 29229B00 mole at position 8
hitting 37399B00 mole at position 6
hitting 29229B00 mole at position 4
hitting 37399B00 mole at position 5
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

ZZZZZ
Posts: 513
Joined: Sun Oct 21, 2012 1:42 am

Re: Honor point's farm in dril ground

#53 Post by ZZZZZ » Mon Jun 16, 2014 1:38 am

Code: Select all

101279
	101545
	101546
	101547
	102143
	102176
	102177
	102178
	102179
	102180
	102181
	102182
	102183
	102184
That's the ID of all the Platypus that appear. I believe the first 4 are the ones you are not supposed to hit. I'm not sure if their ID relates to their hole though, I did originally think that but wasn't too sure.

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

Re: Honor point's farm in dril ground

#54 Post by lisa » Mon Jun 16, 2014 2:33 am

ZZZZZ wrote:That's the ID of all the Platypus that appear. I believe the first 4 are the ones you are not supposed to hit. I'm not sure if their ID relates to their hole though, I did originally think that but wasn't too sure.
yeah i confirmed it.

This just scored 55, had 2 misses, maybe 3.

Code: Select all

function platypus()

	clicked = {}
	player.time = getTime()
	player.spot = 0
	player.prevaddress = player.Address
	table.insert(clicked,player)
	
	local function checklist(obj,spot)
		for k,v in pairs(clicked) do
			if 4000 > deltaTime(getTime(), v.time) then -- ignore any records older than 3 seconds
				if (spot == v.prevspot and v.prevaddress == obj.Address) then
					return false
				end
			end
		end
		return true
	end
	
	while RoMScript("TimeKeeperFrame:IsVisible()") do
		player:update()
		yrest(1);
		local objectList = CObjectList()
		objectList:update()
		local objSize = objectList:size()
		for i = 0,objSize do
			local obj = objectList:getObject(i)
			obj:update()
			if obj.Name == "Platypus" then
				local spot = obj.Id - 102174
				if spot > 0 and checklist(obj,spot) then
					printf("hitting %X mole at position %s\n", obj.Address, spot)
					RoMCode('UseExtraAction('.. spot..')');
					obj.prevspot = spot
					obj.prevaddress = obj.Address
					obj.time = getTime()
					table.insert(clicked,obj)
					break
				end
			end
		end
	end
end
enjoy.
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

ZZZZZ
Posts: 513
Joined: Sun Oct 21, 2012 1:42 am

Re: Honor point's farm in dril ground

#55 Post by ZZZZZ » Mon Jun 16, 2014 5:35 am

Works almost spot on, only issue I found was it doesn't hit hole 1 if its a target, if its a friendly it just prints hitting position 10.

Code: Select all

hitting 499DCD00 mole at position 5
hitting 20599100 mole at position 5
hitting 481A3200 mole at position 10
hitting 20599100 mole at position 4
hitting 481A3200 mole at position 10
Otherwise I still got 57 score, thanks very much :D

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

Re: Honor point's farm in dril ground

#56 Post by rock5 » Mon Jun 16, 2014 5:37 am

You know, what I like to do with history lists is remove the expired items as I come across them, eg.

Code: Select all

         if 4000 > deltaTime(getTime(), v.time) then -- ignore any records older than 3 seconds
             ...
         else
             table.remove(clicked,k)
         end
Ok course this causes skipped items because of the removed value. The only way I know to handle it is to go in reverse, eg.

Code: Select all

      for k = #clicked, 1, -1 do
         v = clicked[k]
         if 4000 > deltaTime(getTime(), v.time) then -- ignore any records older than 3 seconds
             ...
         else
             table.remove(clicked,k)
         end
This just avoids the list getting bigger and bigger.
  • 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: Honor point's farm in dril ground

#57 Post by lisa » Mon Jun 16, 2014 5:48 am

rock5 wrote:This just avoids the list getting bigger and bigger.
Sounds good, ZZZZZ should definately impliment it ;)

Code works perfectly just so you know

Code: Select all

Command> local tt = {1,2,3,4,5,6,7,8,9} for k = #tt,1,-1 do v = tt[k] print(v) if v == 1 or v == 4 then table.remove(tt,k) end end table.print(tt)
9
8
7
6
5
4
3
2
1
table: 014C63E8
1:      2
2:      3
3:      5
4:      6
5:      7
6:      8
7:      9
ZZZZZ wrote:Works almost spot on, only issue I found was it doesn't hit hole 1 if its a target, if its a friendly it just prints hitting position 10.
that explains why the math didn't add up for how much I had to subtract from Id, just add in a line.

Code: Select all

				local spot = obj.Id - 102174
				if spot == 10 then spot = 1 end -- add this line
				if spot > 0 and checklist(obj,spot) then
Have a play around with the time, It is set to 4 seconds atm, 4000. I got a few double hits at 2000 and 3000, there may be an optimal number but yeah that is for others to test.
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

ZZZZZ
Posts: 513
Joined: Sun Oct 21, 2012 1:42 am

Re: Honor point's farm in dril ground

#58 Post by ZZZZZ » Mon Jun 16, 2014 6:26 pm

Changing 10 to 1 didn't work, some reason 10 is a friendly mob, but anyway, I solved it by adding hole 1's ID, which is 102143.

Code: Select all

if obj.Name == "Platypus" then
			local spot
			if obj.Id == 102143 then
				spot = 1
			else
				spot = obj.Id - 102174
			end
            if spot > 0 and checklist(obj,spot) then
               printf("hitting %X mole at position %s\n", obj.Address, spot)
               RoMCode('UseExtraAction('.. spot ..')');
               obj.prevspot = spot
               obj.prevaddress = obj.Address
               obj.time = getTime()
               table.insert(clicked,obj)
               break
            end
         end

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

Re: Honor point's farm in dril ground

#59 Post by rock5 » Mon Jun 16, 2014 11:13 pm

The problem with that is it totals 10 spots but there are only 9, if I understand correctly. So what does it mean when it gets a platypus id 102184 which results in a "spot 10"? I think someone should run getid while the game it running and make 100% sure which the correct ids are and their corresponding spots.
  • 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

noobbotter
Posts: 527
Joined: Fri Aug 31, 2012 1:15 pm

Re: Honor point's farm in dril ground

#60 Post by noobbotter » Tue Jul 15, 2014 8:44 am

I tried out Bot_romka's script for the one where you fly over the spikes. Works pretty good. I was averaging 350 - 450 Honor Points per run.

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest