automating xp/tp/pet charms

Runes of Magic/Radiant Arcana (http://www.runesofmagic.com)
Post Reply
Message
Author
883Dman
Posts: 90
Joined: Sat Dec 08, 2012 9:25 pm

automating xp/tp/pet charms

#1 Post by 883Dman » Wed Mar 26, 2014 11:24 pm

I have a lot of xp/tp/ pet charms. Is there anyway to have the bot equip and collect these automatically, perhaps in an onload function?

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

Re: automating xp/tp/pet charms

#2 Post by lisa » Wed Mar 26, 2014 11:34 pm

Should be possible, I would look into it but my official RoM is having issues connecting atm and Nexon is dead.
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: automating xp/tp/pet charms

#3 Post by lisa » Thu Mar 27, 2014 1:36 am

was an issue with my router.

Ok easiest way would be to check the item itself for durability.

Code: Select all

Command> table.print(CEquipmentItem(18))
table: 039FD0D8
Available:      true
CoolDownTime:   0
LastMovedTime:  0
BagId:  18
CanBeSold:      false
Name:   Pet Training Charm
Durability:     0.13
Icon:
LastTimeUsed:   0
ItemShopItem:   true
Color:  4289225896
BaseItemAddress:        1130102784
ObjSubType:     6
MaxDurability:  100
Id:     231886
Runes:  table: 039FD240
Value:  0
Address:        10376756
MaxStack:       1
ItemCount:      1
ObjType:        1
Quality:        8
Bound:  true
SlotNumber:     18
ObjSubSubType:  -1
Worth:  0
ItemLink:       |Hitem:389ce|h|cffa864a8[Pet Training Charm]|r|h
RequiredLvl:    1
Location:       equipment
Empty:  false
Range:  0
InUse:  false
Stats:  table: 039FD218
BoundStatus:    32
Now the item itself says durability is 0/10 but maxdura says 100, so you may need to do some testing as you fill the item and see what it has for durability and maxdurability.

There is also an address for what you see on screen as it fills, I have the value but not the max value.
Official server is, 0x9E564C. which is (addresses.staticEquipBase + 0x4E0)

Code: Select all

Command> print(memoryReadRepeat("int", getProc(), addresses.staticEquipBase + 0x4E0))
13
In this case it is 13/1000 as it is a tp item with 1000 max.

I could probably just waste a few things to get the max address.

Apparently you can have 3 charms now, slots 18, 19, 20.
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: automating xp/tp/pet charms

#4 Post by lisa » Thu Mar 27, 2014 1:50 am

Ok did some digging, the address is the same one the equipmentitem uses anyway, the reason it is 0.13 is because the bot code just does it / 100, which in this case is not what you need.

So the actual value is 13/# but we need to find the full value, easiest solution would be to just use item Id's and manually add the max value to a table but I would prefer to get it from memory, somewhere lol

I'll do some digging.
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
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: automating xp/tp/pet charms

#5 Post by rock5 » Thu Mar 27, 2014 2:07 am

Easy, BaseItemAddress + 0x174. :D
  • 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: automating xp/tp/pet charms

#6 Post by lisa » Thu Mar 27, 2014 2:43 am

yup that is what we were after.

Code: Select all

Command> local max = memoryReadRepeat("int", getProc(), CEquipmentItem(18).BaseItemAddress+0x174)*100 print((CEquipmentItem(18).Durability*100).." of "..max)
40 of 1000
Command> local max = memoryReadRepeat("int", getProc(), CEquipmentItem(19).BaseItemAddress+0x174)*100 print((CEquipmentItem(19).Durability*100).." of "..max)
1662 of 10000
Command> local max = memoryReadRepeat("int", getProc(), CEquipmentItem(20).BaseItemAddress+0x174)*100 print((CEquipmentItem(20).Durability*100).." of "..max)
58 of 10000
Obviously you wouldn't need to do the CEquipmentItem each time and could just seta variable and what not but it shows it works.
Attachments
charms1.jpg
charms1.jpg (46.64 KiB) Viewed 2922 times
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
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: automating xp/tp/pet charms

#7 Post by rock5 » Thu Mar 27, 2014 2:57 am

That's strange. I'm looking at memory and it has the actual values, eg. 100 for 100, 10000 for 10000, but you're multiplying it by 100 and still ending up with the right value.
  • 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: automating xp/tp/pet charms

#8 Post by lisa » Thu Mar 27, 2014 3:01 am

the item has 0/10 on item for 1000
and 0/100 on item for 10,000
So yeah multiplying by 100 gets it to the value you see on screen.

Also durability is divided by 100 by bot.

Code: Select all

		self.MaxDurability = memoryReadByte( getProc(), self.Address + addresses.maxDurabilityOffset );
		if ( self.Durability > 0 ) then
			self.Durability = self.Durability / 100;
		end;
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
rock5
Posts: 12173
Joined: Tue Jan 05, 2010 3:30 am
Location: Australia

Re: automating xp/tp/pet charms

#9 Post by rock5 » Thu Mar 27, 2014 4:33 am

Ah, I see. The item shop shows the value in memory, not the *100 value you see when equipped.
  • 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: automating xp/tp/pet charms

#10 Post by lisa » Thu Mar 27, 2014 5:33 am

End of the day you wouldn't need to do the *100 if just comparing the numbers, that would be more for prints or log files. You would just check if they are the same.

Code: Select all

1st = CEquipmentItem(18)
if 1st and memoryReadRepeat("int", getProc(), 1st.BaseItemAddress+0x174) == 1st.Durability then
-- use charm here to send the thing to bag
end
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

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 8 guests