The Matrix Online Server Emulator
  • Search
  • Member List
  • Calendar
  • Help

Register


The Matrix Online Server Emulator The Matrix Online MxO General Discussion v
« Previous 1 ... 8 9 10 11 12 ... 21 Next »
Complete list of game items

 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Complete list of game items
29-08-2012, 02:09 AM,
#1
Vesuveus Offline
Lvl 50 Forum Lurk Grandmaster
Posts: 507
Threads: 36
Joined: Oct 2009
Reputation: 4
Complete list of game items
My memory is failing me, but isn't there a list (complete or nearly complete) of items that were in MxO? Can anyone point me in the right direction?

Thanks in advance.


Vesuveus’ Shoppe

[Image: attachment.php?aid=395]
Filing Cabinet | Download Files
Website Find
Reply
29-08-2012, 10:22 PM,
#2
Vesuveus Offline
Lvl 50 Forum Lurk Grandmaster
Posts: 507
Threads: 36
Joined: Oct 2009
Reputation: 4
RE: Complete list of game items
Ok, i see a project in my future.Smile


Vesuveus’ Shoppe

[Image: attachment.php?aid=395]
Filing Cabinet | Download Files
Website Find
Reply
29-08-2012, 11:52 PM,
#3
QuiDormit Offline
Codebomber Extraordinaire
******
Posts: 932
Threads: 10
Joined: Jan 2010
Reputation: 18
RE: Complete list of game items
There is one... somewhere.

It's called the global objects list, I think. It's a .csv. It's posted somewhere around here.

READ ME - MxO Emu FAQ
[Image: quisig.png]
Website Find
Reply
30-08-2012, 01:57 PM, (This post was last modified: 30-08-2012, 01:58 PM by rajkosto.)
#4
rajkosto Offline
MxoEmu Programmer
*******
Posts: 1,708
Threads: 52
Joined: Jun 2009
Reputation: 33
RE: Complete list of game items
you can just use goprops i guess
mxoemu.info/goprops.txt

[Image: K7L1EYt.png]
Website Find
Reply
30-08-2012, 02:47 PM,
#5
Vesuveus Offline
Lvl 50 Forum Lurk Grandmaster
Posts: 507
Threads: 36
Joined: Oct 2009
Reputation: 4
RE: Complete list of game items
Thanks


Vesuveus’ Shoppe

[Image: attachment.php?aid=395]
Filing Cabinet | Download Files
Website Find
Reply
30-08-2012, 03:56 PM,
#6
rajkosto Offline
MxoEmu Programmer
*******
Posts: 1,708
Threads: 52
Joined: Jun 2009
Reputation: 33
RE: Complete list of game items
You can write a script that parses the stringtables and replaces the IDs in that file with the text, for the name and description, if you want

[Image: K7L1EYt.png]
Website Find
Reply
14-10-2012, 08:03 PM,
#7
Vesuveus Offline
Lvl 50 Forum Lurk Grandmaster
Posts: 507
Threads: 36
Joined: Oct 2009
Reputation: 4
RE: Complete list of game items
I'll give this a try. I'll post back when I need help

Big Grin


Vesuveus’ Shoppe

[Image: attachment.php?aid=395]
Filing Cabinet | Download Files
Website Find
Reply
16-10-2012, 03:24 AM,
#8
Vesuveus Offline
Lvl 50 Forum Lurk Grandmaster
Posts: 507
Threads: 36
Joined: Oct 2009
Reputation: 4
RE: Complete list of game items
Can anyone point me in the direction of a tutorial for writing such a script?

I actually had trouble viewing that file because it is so large. I also have no idea what all those values are for all those items. It makes me figure that reverse engineering this game is a major job. Another /tiphat.


Vesuveus’ Shoppe

[Image: attachment.php?aid=395]
Filing Cabinet | Download Files
Website Find
Reply
16-10-2012, 04:36 AM, (This post was last modified: 16-10-2012, 05:02 AM by Static.)
#9
Static Offline
Member
Posts: 112
Threads: 32
Joined: Jul 2010
Reputation: 2
RE: Complete list of game items
To make sense of the goprops.txt file, you have to write tons of filters, mostly to try to group objects together, then find all common properties, remove some properties that have no useful information etc.

Here are some of things that I have done:

1. Don't use fullgoprops.txt - it is missing a lot of properties, use the other file goprops.txt, it has all properties.

2. Best language to use for extrating and manipulating data from files is perl. You don't need to write a lot of code to read/write files and its regular expression make it easy to grab data, manipulate it and process it. Perfect for quick and dirty extraction jobs.

I have attached a sample parser I wrote that will read goprop.txt and write out a tab delimited file.

Easy route:

The easiest way would be just to modify the perl script and put specific condition as to which objects and properties to write to a file. Then you could create a ".csv" file and load it into excel.

Hard route:

3. My approach for grouping everything was to create a database, with tables that had following schema:

Code:
(
    ID NUMERIC,
   PROP CHAR(60),
   VAL CHAR(60))
)

ID would be your object number,
PROP would be the property name
VAL value of that property.

Then you could write a query like

SELECT VAL from ALL_TABLE where ID = 12 and PROP = 'objName' which would return you the name of the object

or

SELECT ID from ALL_TABLE where PROP = 'RSIArticleId' which would return you a list of IDs that have property RSIArticleId

Initially I had one table, where I put all the objects. Then I tried to separate objects into groups. For this you would need to write a filter in your script/code to insert the objects into different tables based on your filtering criteria. Clothes for example all have the following property : RSIArticleID. so right away, when you see that property on an object, you know you are working with a clothing object.

I then created similar tables for CODES, ABILITIES, CLOTHING etc and imported only the objects that belong there.

Note : Abilities can be easily detected by the object name, if it ends with Ability, it is an ability.

I think it would be very helpful as well, once you group similar objects together to look at GoCategoryId, as most of the interesting objects are already grouped by the GoCategoryId, there is already a topic in Development section about what each gocategoryId means.

In the end the process is pretty boring and time consuming. Your goal is to keep separating objects, looking for similar properties and try to figure out which ones are useful and which ones are not. You may sometimes have properties that have zeroes for all objects (no variance) which makes them kind of useless to look at.

If you want, I have a hypersql database with all the objects loaded, string table and go categories, so all you need to do is quick setup and then the rest is writing tedious queries and filters.

PS: Also use Notepad++ or Textpad for viewing large files.

Here is a query that I wrote to try to group interesting abilities together:



Code:
select * from (
select
    ID,
    TRIM((select val from ABILITIES where PROP = 'AbilityID' and ID = ab.id))        AS AbilityID,
    TRIM((select val from ABILITIES where PROP = 'objName' and ID = ab.id))          AS NAME,
    TRIM((select val from ABILITIES where PROP = 'GOCategoryID' and ID = ab.id))     AS GO_Category,    
    TRIM((select val from ABILITIES where PROP = 'MemCost' and ID = ab.id))          AS MEM,
    TRIM((select val from ABILITIES where PROP = 'InventoryMemCost' and ID = ab.id)) AS INVENTORY_MEM,
    TRIM((select val from ABILITIES where PROP = 'BufferSize' and ID = ab.id))       AS BUFFER,

    CONVERT(TRIM((select val from ABILITIES where PROP = 'VendorPrice' and ID = ab.id)), INT)      AS COST,
    
                                
    TRIM((select val from ABILITIES where PROP = 'ReqCharLevel' and ID = ab.id))              AS LEV,                                            
    
    TRIM((select val from ABILITIES where PROP = 'ReqAbilityID'    and ID = ab.id))           AS R1,
    TRIM((select val from ABILITIES where PROP = 'objName'         and ID =
         (select val from ABILITIES where prop = 'ReqAbilityID' and ID = ab.id)))             AS R1_NAME,
    (select CONVERT(val, INT) from ABILITIES where PROP = 'ReqAbilityLevel' and ID = ab.id)   AS RL1,
    
    TRIM((select val from ABILITIES where PROP = 'ReqAbilityID 2' and ID = ab.id))            AS R2,
    TRIM((select val from ABILITIES where PROP = 'objName'        and ID =
         (select val from ABILITIES where prop = 'ReqAbilityID 2' and ID = ab.id)))           AS R2_NAME,
    (select CONVERT(val, INT) from ABILITIES where PROP = 'ReqAbilityLevel 2' and ID = ab.id) AS RL2,

    TRIM((select val from ABILITIES where PROP = 'ReqAbilityID 3' and ID = ab.id))            AS R3,
    TRIM((select val from ABILITIES where PROP = 'objName'        and ID =
         (select val from ABILITIES where prop = 'ReqAbilityID 3' and ID = ab.id)))           AS R3_NAME,
    (select CONVERT(val, INT) from ABILITIES where PROP = 'ReqAbilityLevel 3' and ID = ab.id) AS RL3,

    TRIM((select val from ABILITIES where PROP = 'ReqAbilityID 4' and ID = ab.id))  AS R4,
    --TRIM((select str from STRING_TABLE ss where uint32 = (select val from ABILITIES where ID = ab.id and PROP = 'IconID'))) AS IconID,
    TRIM((select str from STRING_TABLE ss where uint32 = (select val from ABILITIES where ID = ab.id and PROP = 'InfoID'))) AS InfoID,
    TRIM((select str from STRING_TABLE ss where uint32 = (select val from ABILITIES where ID = ab.id and PROP = 'AbilityID'))) AS AbilityID,
    TRIM((select str from STRING_TABLE ss where uint32 = (select val from ABILITIES where ID = ab.id and PROP = 'MoreInfoID'))) AS MoreInfoID,
    1 AS END
from
    ABILITIES ab
where prop = 'objName'
/*
and ID not in (2148521984)
and ID not in (select id from ABILITIES where PROP = 'objName' and VAL like 'NPC%')
and ID not in (select id from ABILITIES where PROP = 'OrganizationID')*/
)
order by COST ASC


Attached Files
.txt   Parser.pl_.txt (Size: 2.91 KB / Downloads: 9)
.csv   Ability_query_results.csv (Size: 301.82 KB / Downloads: 17)


Do not try and play The Matrix Online as you used to. That's impossible. Instead... only try to realize the truth. There is no Matrix Online. Then you'll see, that it is not the The Matrix Online that is getting played, it is only yourself.
Find
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)

Contact UsThe Matrix Online Server EmulatorReturn to TopLite (Archive) ModeRSS Syndication

Powered By MyBB, © 2002-2025 MyBB Group.
Theme by Ryan McGrane of Audentio Design.

Linear Mode
Threaded Mode