[HELP REQUEST] K-Relay instance of ObjectId reference

Posts 1–5 of 5 · Page 1 of 1
[HELP REQUEST] K-Relay instance of ObjectId reference
While looking through the structure of several packets given by K-Relay's gui under the 'packets' tab, I notice that several of the packets have an ObjectId value, however when looking through the XML files containing the gamedata, it appears as though any given type of entity has a single ObjectId that refers to it.
Additionally, as ObjectId is of type Int32, and the Object Id's given by the XML files that relate to various entities are given in string form, logically they cannot be the same thing.

What I cannot figure out then, is how would one go about differentiating between various instantiations of any particular entity type, and what--if not the "Object Id" given to entities in the XML files--is the ObjectId in the packet structures?

I have several years of programming experience (though none with C#, not that it's a particularly dissimilar language to those I Have used), so I am fairly confident that I will be able to extrapolate this information from the .dll's included with K-Relay after I decompile them, but I do not currently have Visual Studio installed and am currently in the process of downloading it.

I hope someone may be able to shed some amount of light on the situation for me in the mean time.

- - - Updated - - -

After finding K-Relay's lib folder with the needed source to figure out what is going on here, this question is no longer relevant.
Moderators feel free to do with the thread as is to be done (I haven't the faintest clue what that is though, so I'll leave it t
Quote Originally Posted by aliampolizzi View Post
While looking through the structure of several packets given by K-Relay's gui under the 'packets' tab, I notice that several of the packets have an ObjectId value, however when looking through the XML files containing the gamedata, it appears as though any given type of entity has a single ObjectId that refers to it.
Additionally, as ObjectId is of type Int32, and the Object Id's given by the XML files that relate to various entities are given in string form, logically they cannot be the same thing.

What I cannot figure out then, is how would one go about differentiating between various instantiations of any particular entity type, and what--if not the "Object Id" given to entities in the XML files--is the ObjectId in the packet structures?

I have several years of programming experience (though none with C#, not that it's a particularly dissimilar language to those I Have used), so I am fairly confident that I will be able to extrapolate this information from the .dll's included with K-Relay after I decompile them, but I do not currently have Visual Studio installed and am currently in the process of downloading it.

I hope someone may be able to shed some amount of light on the situation for me in the mean time.

- - - Updated - - -

After finding K-Relay's lib folder with the needed source to figure out what is going on here, this question is no longer relevant.
Moderators feel free to do with the thread as is to be done (I haven't the faintest clue what that is though, so I'll leave it t
ObjectID is the unique identifier the server assigns to objects so that all the clients and server know who they're referencing. It has nothing to do with k-relay.

You'll find Type in the k-relay/flash clients XML files which indicates if an object is say a Wizard, a Priest, or a Sprite God. The ObjectID will differentiate which Sprite God you are. Make sense?
Quote Originally Posted by aseikin View Post
ObjectID is the unique identifier the server assigns to objects so that all the clients and server know who they're referencing. It has nothing to do with k-relay.

You'll find Type in the k-relay/flash clients XML files which indicates if an object is say a Wizard, a Priest, or a Sprite God. The ObjectID will differentiate which Sprite God you are. Make sense?
Just a random question:
Are the objectids same for every client?
From the small amount of testing I did, the ObjectId for any given entity seems to be a constant assigned to it by the server, thus, yes, between clients the ObjectId remains the same for any particular entity.

- - - Updated - - -

Along a relevant line though, if anyone knows, does there exist a way to derive to what kind of entity an ObjectId belongs? That is to say, for example, given 10 ObjectIds, two of which are Ghost Gods, can you determine which two ObjectIds belong to Ghost Gods?

Additionally I am curious if there is some way to obtain information about an ObjectId, information such as, say, Location, health, etc.
Quote Originally Posted by aliampolizzi View Post
From the small amount of testing I did, the ObjectId for any given entity seems to be a constant assigned to it by the server, thus, yes, between clients the ObjectId remains the same for any particular entity.

- - - Updated - - -

Along a relevant line though, if anyone knows, does there exist a way to derive to what kind of entity an ObjectId belongs? That is to say, for example, given 10 ObjectIds, two of which are Ghost Gods, can you determine which two ObjectIds belong to Ghost Gods?

Additionally I am curious if there is some way to obtain information about an ObjectId, information such as, say, Location, health, etc.
You are correct that it is assigned by the server and consistent across clients.
No you need the object type to determine which is a ghost god. Yes the server sends you all of that information, in the update (add or delete objects) and newtick packets (update existing objects).
Posts 1–5 of 5 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

Talk with us