Get other player's equipment info?
-
noobbotter
- Posts: 527
- Joined: Fri Aug 31, 2012 1:15 pm
Get other player's equipment info?
Has anyone ever made a script that can gather all info about a targeted player's equipment? I'd like to have something like this that when I run it will pull up the other player's equipment (the player that I have targeted) and then log all the info about their equipment. I figure if you can manually view others' equipment and mouse over that equipment and see the stats and properties of each piece of equipment, then there must be a way to have a script retrieve and log this information. I'm looking for something like this strictly as an educational tool so I have a better idea of what some of those more OP players have in order to make smarter decisions of what I want to buy/upgrade.
Re: Get other player's equipment info?
Purely speculation.
I figure the "inspect" function uses name as opposed to "target" to decide who it inspects
I would also assume the other character needs to be within memory range
I would assume that after doing the "inspect" function the other characters gear will be stored in memory.
I seriously doubt all characters within range would have their gear stored in your memory, so yes some function would be required to populate that info into memory.
I figure the "inspect" function uses name as opposed to "target" to decide who it inspects
I would also assume the other character needs to be within memory range
I would assume that after doing the "inspect" function the other characters gear will be stored in memory.
I seriously doubt all characters within range would have their gear stored in your memory, so yes some function would be required to populate that info into memory.
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
-
noobbotter
- Posts: 527
- Joined: Fri Aug 31, 2012 1:15 pm
Re: Get other player's equipment info?
I was thinking along the lines of a scenario like this...
I'm in siege war and I get owned by a way OP Mage. I make sure I have him targeted and I right-click his picture on my screen and select "inspect equipment." (I assume at this point all his equipment info gets loaded into my memory? Maybe? I do know that even if he runs away, I can still mouse over his equipment and see it with all the stats). So after I click on that and see his equipment I run a script in MM (Could be a simple waypoint file with just an <onload> section that does all the work) that will log all info about all his equipment into a log so I can go into the logfile later and see what he had (What equipment, what stats were on them, what runes were embedded, etc...). Additionally, maybe log all his buffs so I can see what buffs he has active because those are a major part of what makes a player really strong.
Any ideas on how I would go about doing this? The logging part I can figure out once I know how to retrieve the equipment info.
I'm in siege war and I get owned by a way OP Mage. I make sure I have him targeted and I right-click his picture on my screen and select "inspect equipment." (I assume at this point all his equipment info gets loaded into my memory? Maybe? I do know that even if he runs away, I can still mouse over his equipment and see it with all the stats). So after I click on that and see his equipment I run a script in MM (Could be a simple waypoint file with just an <onload> section that does all the work) that will log all info about all his equipment into a log so I can go into the logfile later and see what he had (What equipment, what stats were on them, what runes were embedded, etc...). Additionally, maybe log all his buffs so I can see what buffs he has active because those are a major part of what makes a player really strong.
Any ideas on how I would go about doing this? The logging part I can figure out once I know how to retrieve the equipment info.
Re: Get other player's equipment info?
well buffs are easy.
you just create a pawn of the enemy and then you will know it's buffs with .Buffs
example
I'll have a look into memory stuff for inspected equipment but I won't have a huge amount of time to spend on it.
of course you could just do a print of the entire pawn
you just create a pawn of the enemy and then you will know it's buffs with .Buffs
example
Code: Select all
local swenemy = CPawn(player:getTarget().Address)
table.print(swenemy.Buffs)
-- actual test
Command> local swenemy = CPawn(player:getTarget().Address) table.print(swenemy.Buffs)
table: 03A09730
1: table: 03A097A8
Id: 505477
TimeLeft: -1
Name: Evilblood Nightmare
Level: 0
Count: 1
of course you could just do a print of the entire pawn
Code: Select all
Command> local swenemy = CPawn(player:getTarget().Address) table.print(swenemy)
table: 03510860
Mana: 3201
MaxFocus: 100
TargetPtr: 0
MaxRage: 0
Id: 1004
LastHP: 0
Guild: <UNKNOWN>
Class1: 4
HP: 2581
Level2: 39
Address: 1104908544
MP: 3201
TargetIcon: true
Energy: 0
Mounted: true
Alive: true
GUID: 856499
MaxEnergy: 0
Attackable: false
MaxMana: 3201
Buffs: table: 038E61B0
1: table: 03A09988
Id: 505477
TimeLeft: -1
Name: Evilblood Nightmare
Level: 0
Count: 1
Aggressive: false
IsPet: false
Speed: 82.5
Swimming: false
MaxMP2: 100
Name: ******
MaxMP: 3201
Casting: false
Harvesting: false
Y: 183.38661193848
Rage: 0
Direction: -0.20943951399382
Class2: 9
Level: 50
Z: -3783.3005371094
MP2: 100
MaxHP: 2581
Lootable: false
InParty: false
X: -6733.4282226563
Type: 1
Race: 2
Focus: 100
DirectionY: 0
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
-
noobbotter
- Posts: 527
- Joined: Fri Aug 31, 2012 1:15 pm
Re: Get other player's equipment info?
Thanks Lisa. The info you provided about the buff part is plenty for me to work with. Also, the ability to see other basic player info will help (Class, HP, Level, etc...) If you can find out how to see the equipment info, then I'll be good to go. Thanks.
Re: Get other player's equipment info?
turns out they do use the "target" type scenario as opposed to name.
http://runesofmagic.gamepedia.com/API:InspectUnit
http://runesofmagic.gamepedia.com/API:InspectUnit
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
well the info is deffinately in memory, just need to use my better PC to do some pointerscans but initial looks like this. The names match the random person I inspected.
this address is static (private server), you can do a CE search for the head slot item ID and the first static result seems to be good.
As for all the other info like stats and + and such you will need to work it out yourself, or maybe rock will add in some info, I think he did all the item info stuff.
this address is static (private server), you can do a CE search for the head slot item ID and the first static result seems to be good.
Code: Select all
Command> inspectnames(0xA07844)
Headdress of the Cursed Face
Callous Sacrifice Gloves
Warmonger's Ambush
Robe of the Cursed Face
Shadoj Leg Guards
Callous Sacrifice Cape
Shadoj Belt
Shoulder Guards of the Cursed Face
Necklace of Heroic Aura
Ifur Ring
Ring of Demonic Silence
Shadoj Earring
Earring of Bunker Aura
Jolytta's Bone of Resurrection
Tatha's Repair Shield
function inspectnames(startaddress)
local proc = getProc()
for i = 0,17 do
local itemid = memoryReadRepeat("int", proc, startaddress + (i*0x44))
print(GetIdName(itemid))
end
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
address worked perfectly for every char I inspected.
Code: Select all
Command> inspectnames(0xa07844)
Hoson's Division
Hand of the Giant
Hoson's Condensation
Hoson's Recovery
Farutor's Leggings
Juggler Cape
Action Pioneer Cloth Belt
Hoson's Sacrifice
Juggler Necklace
Sage's Arrow
Puppet Operator's Evil Dark Bow
Juggler Ring
Kulech Destruction Ring
Juggler Earring
Farutor's Earrings
Hero's Blade
Annelia's Left Hand
Holy Angel's Wings
Command> inspectnames(0xa07844)
Elven Cloth Boots
Elven Robe
Elven Leggings
Novice Short Wand
Shabby Wooden Shield
Command> inspectnames(0xa07844)
Kingdom Vengeance Leather Cap
Balanced Vengeance Leather Gloves
Kingdom Vengeance Boots
Sandos' Leather Armor
Wailing Vengeance Leather Pants
Volcanic Vengeance Cape
Volcanic Vengeance Belt
Deathmatch Shoulder Guards
Eternal Struggle Necklace
Semi-Heart Carving Ring
Giant Eye's Earrings
Kulech Struggle Earrings
Dim Light
Rare Volcano Blade
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
ok tidied it up a little and again I say this is private server address.
Code: Select all
function inspectnames()
local proc = getProc()
for i = 1,21 do
local itemid = memoryReadRepeat("int", proc, 0xa07800 + (i*0x44))
if itemid ~= 0 then
print("slot: "..i.." \tname: "..GetIdName(itemid))
end
end
end
Command> inspectnames()
slot: 1 name: Kingdom Vengeance Leather Cap
slot: 2 name: Balanced Vengeance Leather Gloves
slot: 3 name: Kingdom Vengeance Boots
slot: 4 name: Sandos' Leather Armor
slot: 5 name: Wailing Vengeance Leather Pants
slot: 6 name: Volcanic Vengeance Cape
slot: 7 name: Volcanic Vengeance Belt
slot: 8 name: Deathmatch Shoulder Guards
slot: 9 name: Eternal Struggle Necklace
slot: 13 name: Semi-Heart Carving Ring
slot: 14 name: Giant Eye's Earrings
slot: 15 name: Kulech Struggle Earrings
slot: 16 name: Dim Light
slot: 17 name: Rare Volcano Blade
Command> inspectnames()
slot: 1 name: Lasoyl's Skull
slot: 2 name: Glory Gloves
slot: 3 name: Lasoyl's Foot
slot: 4 name: Lasoyl's Leather Armor
slot: 5 name: Clue of Discord Leg Armor
slot: 6 name: Fruit of Growth
slot: 7 name: Belt of Contrition
slot: 8 name: Lasoyl's Shoulder Guards
slot: 9 name: Eternal Precision Necklace
slot: 10 name: Misty Flying Dagger
slot: 12 name: Kulech Flight Ring
slot: 13 name: Kulech Protection Ring
slot: 14 name: Dragonscale Engraved Earrings
slot: 15 name: Bethomia Speed Earring
slot: 16 name: Sandos' Claw
slot: 17 name: Transformed Sandos' Claw
slot: 19 name: Friendship Snowpearl Flower
Command>
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
Maybe you could use the base address of each item with the CItem class to produce more item info. Example
Of course you might want to format it differently if you are going to log the info.
Code: Select all
local item = CItem()
item.Address = 0xa07800 + (i*0x44)
item:update()
if item.Id ~= 0 then
print("slot: "..i .." \tname: "..item.Name )
printf("Stats: ")
for k,v in pairs(item.Stats) do
printf(v.Name.." ")
end
print()
printf("Runes: ")
for k,v in pairs(item.Runes) do
printf(v.Name.." ")
end
print()
end- 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
Re: Get other player's equipment info?
Except that address is the ID of the item and not necessarily the base address.
Looks like this.
The yellow is the item ID.
Looks like this.
The yellow is the item ID.
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
well I tested and rock was right, looks like this
Code: Select all
function inspectnames()
local proc = getProc()
for i = 1,21 do
local item = CItem()
item.Address = 0xa07800 + (i*0x44)
item:update()
if item.Id ~= 0 then
print("slot: "..i .." \tname: "..item.Name )
printf("Stats: ")
for k,v in pairs(item.Stats) do
printf(v.Name.." ")
end
print()
printf("Runes: ")
for k,v in pairs(item.Runes) do
printf(v.Name.." ")
end
print()
end
end
end
Command> inspectnames()
slot: 1 name: Frost Leather Light Armor Headdress
Stats: Dexterity XV Life XV Cougar X Oppression X Barbarian X Triumph of Dragon
Wilderness IX
Runes:
slot: 2 name: Vengeance Leather Rogue Gloves
Stats: Savage X Stormstrike XV Strength of Dragon Wilderness IX Guard of Frost I
X Observance XI Annihilation of the Mist
Runes:
slot: 3 name: Vengeance Leather League Boots
Stats: Glorious Triumph VIII Barbarian X Observance X Swiftness of the Bygone Pl
ace IX Inhibition XI Bite XI
Runes:
slot: 4 name: Rare Scourge Leather Armor
Stats: Force X Transformation of the Remains IX Guard of the Remains IX Core of
the Remains IX Justice of the Remains IX Transformation of the Sealing Eclipse I
X
Runes:
slot: 5 name: Vengeance Rogue Leather Pants
Stats: Cougar X Oppression X Barbarian X Savage X Hammer X Defender X
Runes:
slot: 6 name: Vengeance Rogue Cape
Stats: Strength of Dragon Wilderness IX Transformation of Dragon Wilderness IX M
ystery of the Remains IX Guard XII Core of the Mist Transformation of Disorder
Runes: Ferocity X
slot: 7 name: Vengeance Rogue Belt
Stats: Stormstrike XV Triumph of the Bygone Place IX Swiftness of Dragon Wildern
ess IX Triumph of Dragon Wilderness IX Force XI
Runes:
slot: 8 name: Shoulder Armor of the Night King
Stats: Swiftness of Dragon Wilderness IX Guard of Dragon Wilderness IX Swiftness
of the Sealing Eclipse IX Guard of Frost IX Fang XI Swiftness of the Mist
Runes: Ferocity X Enlightenment X Atonement V
slot: 9 name: Croso Necklace
Stats: Stamina XII Spirit XII Promise of the Castle VIII Return of Eternity IX I
llusion of the Bygone Place IX Complement of the Remains IX
Runes:
slot: 10 name: Sage's Arrow
Stats:
Runes:
slot: 11 name: Rare Dragonsleeper's Crossbow
Stats: Capability XII Solidity XIII Thunder of the Castle VIII Scholar X Complem
ent of the Remains IX Assault of the Remains IX
Runes:
slot: 12 name: Rufa Ring
Stats: Stamina XI Intellect XI Illusion of Dragon Wilderness IX Chill of the Rem
ains IX Void of the Sealing Eclipse IX Illusion of Frost IX
Runes:
slot: 13 name: Croso Ring
Stats: Stamina XII Intellect XII Light of the Remains IX Illusion of Frost IX Se
cret of Frost IX Thunder XI
Runes: Ferocity X Enlightenment X
slot: 14 name: Tinc Earring
Stats: Triumph of the Bygone Place IX Triumph of Eternity IX Guard of the Bygone
Place IX Guardian of Eternity IX Guardian of the Bygone Place IX Guard of Etern
ity IX
Runes: Revolution X Madness X Ferocity X Atonement V
slot: 15 name: Tinc Earring
Stats: Glorious Guard VIII Guardian of the Bygone Place IX Triumph of the Bygone
Place IX Guard of Eternity IX Swiftness of Eternity IX Guardian of Eternity IX
Runes: Revolution X Ferocity X Madness X Enlightenment X
slot: 16 name: Lindworm's Magic Bone
Stats: Command I Strength I Element I Energy I Ability I Spirit I
Runes: Destruction X Ferocity X Enlightenment X Hatred X
slot: 17 name: Compound Devilsteel Tool
Stats: Observance X Strength of the Remains IX Transformation of Dragon Wilderne
ss IX Strength of Dragon Wilderness IX Guard of Frost IX Eruption XII
Runes:
Command>
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
Yay! I'm right! 
- 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
Re: Get other player's equipment info?
that address was close to another so this may work in official and also may hold true after patches.
Code: Select all
function inspectnames()
local proc = getProc()
for i = 1,21 do
local item = CItem()
item.Address = addresses.partyLeader_address + 0x984 + (i*0x44)
item:update()
if item.Id ~= 0 then
print("slot: "..i .." \tname: "..item.Name )
printf("Stats: ")
for k,v in pairs(item.Stats) do
printf(v.Name.." ")
end
print()
printf("Runes: ")
for k,v in pairs(item.Runes) do
printf(v.Name.." ")
end
print()
end
end
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
item.Address = 0xa07800 + (i*0x44) worked on official. Tried it just after you had post it.
Re: Get other player's equipment info?
He means if you use the partyLeader address as the base it might work after the next path that updates the client. If you use 0xA07800 then it will need to be updated every time.
- 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
Re: Get other player's equipment info?
Is it possible to inject that info back into the game to view the gear later/when they are not around?
Re: Get other player's equipment info?
Do you mean so you can view the equipment in a paper dole frame? Not as it is, no. What I would do in that case is see if I can get the links for all the gear. Then I could view/equip the links to see them on myself. There must be a function for that.
After looking for awhile, I found lots of ways to show the hyperlinks but no way to get the hyperlink.
It's probably theoretically possible to create the hyperlink from the data collected but I wouldn't know how to do this.
After looking for awhile, I found lots of ways to show the hyperlinks but no way to get the hyperlink.
It's probably theoretically possible to create the hyperlink from the data collected but I wouldn't know how to do this.
- 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
Re: Get other player's equipment info?
item class does have the basis for this.
So it does create a usable item link you can use in game, just by copy pasting it but the way it is only shows the very basic info and not any additional info, no stats or + values.
To really be able to create such links you can probably do it a few ways.
1. Look through Item Preview addon and see how they do it
2. Monitor chat (guild or party) and link items to that chat, create logs of the monitored chat, those logs will have the in game text required, then work out what makes them different to the previous item. Name is easy but + and stats will be interesting..
Also in game functions
Code: Select all
-- Build an usable ItemLink
self.ItemLink = string.format( "|Hitem:%x|h|c%x[%s]|r|h", self.Id, self.Color or 0, self.Name );
To really be able to create such links you can probably do it a few ways.
1. Look through Item Preview addon and see how they do it
2. Monitor chat (guild or party) and link items to that chat, create logs of the monitored chat, those logs will have the in game text required, then work out what makes them different to the previous item. Name is easy but + and stats will be interesting..
Also in game functions
Code: Select all
/script num = GetBagItemInfo(1) SendChatMessage(GetBagItemLink(num),"GUILD")
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
wiki here http://www.solarstrike.net/wiki/index.php?title=Manual
Re: Get other player's equipment info?
That's what I meant. I don't know how to add stats etc. From what I've seen it's not easy and obvious. I ream to remember seeing something online that broke it down. Here it is http://runesofmagic.gamepedia.com/ItemLink.lisa wrote:the way it is only shows the very basic info and not any additional info, no stats or + values.
- 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