taultunleashed logoSome advice please (reversing) : LOTROExtreme
newtopic  postreply
 [ 9 posts ] 
blue large dot

Some advice please (reversing) : LOTROExtreme

Posted: May 14th, 2007, 1:52 am
 
jazzee
jazzee's Reps:
User avatar
Hey guys I signed up for full membership today to set up the lotroextreme package and perhaps contribute towards some nice scripts.

I'm currently learning some more indpeth reverse engineering for fun and I was playing around with Lotro client so I could write a basic little hook application in C++ that showed a list of nearby NPCS as a challenge.

I was wondering what process of elimination you use to obtain the list of nearby NPC's as I would really like to challenge myself to see if I can figure it out mostly on my own. Obviously you do not have to part with your timeous expertise, but I'd be greatful for some helping hints so I can further figure it out on my own.

Currently I find the names/locations/morale/maxpower/power/maxpower/ etc. in OllyDbg.. but for the life of me I can't seem to tie them to an actual organised data structure.

What method do you recommend I try to figure out how to link the data structures together?

I've got as far as figuring out the Target class hierachies which allow me to Target / Show Current Target info..

Thanks anyone that can help me learn, I'd be willing to share what I find with you too since I've been staring at this dissasembly in IDA for days heh :) I think the script engine in this game and it's properties make it all the more harder to study!

If you can put me in the right direction now and again I'd be more then willing to work alongside figuring out this game on a non profit basis as the learning experience is worth it weight in gold to me atm too including adding what I find to your API framework.

PS. I fully understand assembly aswell and have done some application hooks in the past to read from game memory during my learning curve ...


Last edited by Guest on May 15th, 2007, 2:17 am, edited 1 time in total.

Reply with quote
Posted: May 14th, 2007, 7:57 am
 
sanktanglia
sanktanglia's Reps:
User avatar
well if it would help you out, I can extract out all the names/functions for the script system from the archive files


Reply with quote
Posted: May 14th, 2007, 8:39 am
 
jazzee
jazzee's Reps:
User avatar
Hey that sounds interesting, what script system are you referring to - lotro API package, if so then thats not really what im looking for...

Regards


Reply with quote
Posted: May 14th, 2007, 8:13 pm
 
sanktanglia
sanktanglia's Reps:
User avatar
yah, I've done some work on the archive format, and I've found some of the files that determine how the client side scripting system works, such as the calls made in each script, and the names of each of the functions for each scripting module


Reply with quote
Posted: May 15th, 2007, 12:52 am
 
jazzee
jazzee's Reps:
User avatar
That sounds helpful Sanktanglia, I'd like to see that.

Thanks


Reply with quote
Posted: May 15th, 2007, 4:24 am
 
dididothat
dididothat's Reps:
User avatar
Some discussion about it some place else.
I found a static location for full position (same you see in "/loc"):

(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
00DC65E8 fMyXPosFull
00DC65EC fMyYPosFull
00DC65F0 fMyZPosFull
00DC65F4 fMyHeading


The heading value appears to be the cosine of your facing angle so
degrees = (acos(fMyHeading) * 57.29577951308232286465f)
should work.

Just above these looks like some of the other values like "instance", etc.

And some text right out of the client that tells you what the "/loc" values are:
(!empty($user->lang['QUOTE'])) ? $user->lang['QUOTE'] : ucwords(strtolower(str_replace('_', ' ', 'QUOTE'))):
-- Location info
r: region number or name (optional, default 1)
bx: block x
by: block y
lx: old coordinates x,0Ah
ly: old coordinates y,0Ah
i: instance number (optional)
c: cell number (optional)
ox: origin X (optional)
oy: origin Y (optional)
oz: origin Z (optional)
h: heading in degrees (optional)
p: pi
tch in degrees (optional)
b: bank in degrees (optional)


Reply with quote
Posted: May 20th, 2007, 10:58 am
 
Tault_nefarious403

Total Posts: 32
Joined: November 22nd, 2004, 1:39 am
Tault_nefarious403's Reps: 3
User avatar
premium
I'm also interested in contributing to this project. I think the more people we have working on it, the faster we will find things, and the faster things will be improved to allow for a quality interface into the game. I understand that WyvernX has his IP to protect, but if anyone is willing to share their strategies on finding things or any info they have found on LOTRO specifically that would be great.

So far I'm have a lot of difficutly finding other npc/mob locations... Any suggestions?


Reply with quote
Posted: May 20th, 2007, 11:12 am
 
Tault_nefarious403

Total Posts: 32
Joined: November 22nd, 2004, 1:39 am
Tault_nefarious403's Reps: 3
User avatar
premium
Thanks for the info, this has been all I've been able to find in the game using just straight memory searching. However, I haven't really figured out how ox,oy,oz related to lx,ly exactly, or how it is useful.. the facing is useful though. Any more info on the coordinate system?

dididothat (!empty($user->lang['WROTE'])) ? $user->lang['WROTE'] : ucwords(strtolower(str_replace('_', ' ', 'WROTE'))):
Some discussion about it some place else.
I found a static location for full position (same you see in "/loc"):

(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
00DC65E8 fMyXPosFull
00DC65EC fMyYPosFull
00DC65F0 fMyZPosFull
00DC65F4 fMyHeading


The heading value appears to be the cosine of your facing angle so
degrees = (acos(fMyHeading) * 57.29577951308232286465f)
should work.

Just above these looks like some of the other values like "instance", etc.

And some text right out of the client that tells you what the "/loc" values are:
(!empty($user->lang['QUOTE'])) ? $user->lang['QUOTE'] : ucwords(strtolower(str_replace('_', ' ', 'QUOTE'))):
-- Location info
r: region number or name (optional, default 1)
bx: block x
by: block y
lx: old coordinates x,0Ah
ly: old coordinates y,0Ah
i: instance number (optional)
c: cell number (optional)
ox: origin X (optional)
oy: origin Y (optional)
oz: origin Z (optional)
h: heading in degrees (optional)
p: pi
tch in degrees (optional)
b: bank in degrees (optional)


Reply with quote
Posted: March 9th, 2008, 5:13 pm
 
sk93
sk93's Reps:
User avatar
Is there any light still in this?
If so, I'm certainly interested in helping...


Reply with quote
Want Advertisements After The Last Post Removed? Create A Free Account!

blue large dot Who is online
Users browsing this forum: No registered users and 1 guest

Popular Sections
SWTOR Cheats
Guild Wars 2 Cheats
Guild Wars 2 Hacks
Guild Wars 2 Bots
Diablo 3 Cheats
Guild Wars 2 Mods

Popular Sections
WoW Cataclysm Cheats & Exploits
WoW Cataclysm Hacks & Bots
Star Wars The Old Republic Cheats
SWTOR Mods
Torchlight 2 Cheats
SWTOR Space Mission Bots
Site Nav and RSS
RSS Feed of LOTROExtreme RSS Feed 
Sitemap of LOTROExtreme Sitemap 
SitemapIndex SitemapIndex
RSS Feed RSS Feed
Channel list Channel list
left bottom corner Site and Contents Copyright 2001-2012 All Rights Reserved TaultUnleashed.com bottom corner
top left
top right
createaccount
Username:   Password:   Remember Me?