Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 9Dragons
You last visited: Today at 17:03

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Reading map_XXXX.xzi

Discussion on [Release] Reading map_XXXX.xzi within the 9Dragons forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2006
Posts: 102
Received Thanks: 125
[Release] Reading map_XXXX.xzi

This is the file structure for reading the map .xzi files. With this information you should be able to change what areas gates will lead to for each map.

Code:
typedef struct
{
    float x;
    float z;
} XAREA_POINTSTRUCT;

typedef struct
{
    unsigned char areaCategory; // 5 = event area : 6 = map warp : 7 = pvp area
    int num;
    char areaTitle[ 21 ];
    unsigned char shapeType;
    
    if ( shapeType )
    {
        XAREA_POINTSTRUCT centerPoint;
        float radius;
    }
    else
    {
        XAREA_POINTSTRUCT point[ 4 ];
    }

    int specialFunction;
    
    if ( areaCategory == 6 ) // map warp
    {
        int targetZone;
        int targetWarpZone;
    }

    if ( areaCategory == 2 ) // mob spawn
    {
        int monsterTypeCount;

        typedef struct
        {
            int monsterSpawnType;
            int monsterSpawnCount;
        } MONSTERSPAWNINFO;

        MONSTERSPAWNINFO monsterInfo[ monsterTypeCount ];

        int monsterSpawnPointCount;
        char cUnk[ 12 * monsterSpawnPointCount ]; // client fseeks past XAREA_POINTSTRUCT + radius for each spawn point
    }

    if ( areaCategory == 7 ) // pvp area
    {
        unsigned char pvpZoneType;
        int indexPVPSafeZone1;
        int indexPVPSafeZone2;
        int indexPVPSafeZone3;
        int indexPVPSafeZone4;
        int indexPVPCompleteZone;
    }

    if ( specialFunction == 6 )
    {
        int multiTargetZone1;
        int multiTargetWarpZone1;
        int multiWarpZonePassage1;

        char areaTitleWarp1[ 21 ];

        int multiTargetZone2;
        int multiTargetWarpZone2;
        int multiWarpZonePassage2;

        char areaTitleWarp2[ 21 ];

        int multiTargetZone3;
        int multiTargetWarpZone3;
        int multiWarpZonePassage3;

        char areaTitleWarp3[ 21 ];
    }
} XZI_AREA;

typedef struct
{
    int areaCount;
    XZI_AREA xziArea[ areaCount ];
} XZI_FILE;
Area categories afaik are:
Code:
enum AREACATEGORY { SAFE = 0, PLAYERSPAWN, MOBSPAWN, NPCAREA, QUESTAREA, EVENTAREA, MAPWARP, PVPAREA, CASTLE, LOGOUT, NOTUSESPEEDSKILL, PUBLICPVPAREA };
Template for 010 editor attached below.
Attached Files
File Type: zip map_xzi.zip (863 Bytes, 201 views)
Plastic is offline  
Thanks
4 Users
Reply


Similar Threads Similar Threads
[Release] Reading monster_ref.bmo
02/03/2017 - 9Dragons - 1 Replies
This is the structure for the monster_ref.bmo file. Everything marked with the comment "// not a monster attribute" means that it is ignored on the client. I believe it's only used on the server. You cannot change the text of "toolName" on the server monster_ref.bmo unless you modify the server executable, since it looks for "EOD Monster Ref" or it fails to load. typedef struct { char toolName; short version1; short version2; SYSTEMTIME systemTime; // SYSTEMTIME is...
[Release]NAS - Server Streaming / Reading programm
06/25/2013 - .NET Languages - 3 Replies
Hallo will hier nen Kleinen Source code von mir Veröffentlichen ^^ Public Class Form1 Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim di As New System.IO.DirectoryInfo("\\fritz.box\BKA-Funk wagen2\Storage-00") For Each fi As System.IO.FileInfo In di.GetFiles("*.*", System.IO.SearchOption.AllDirectories) ComboBox1.Items.Add(fi.FullName) Next
config skill warlock :reading spellbook and release
10/19/2012 - Ragnarok Online - 0 Replies
hy there, can anyone help , how to set config "bot" ragnarok online with char warlock who have skill : reading spell book and release ?anyone please help ,cos a'im stuck.
Reading HP
12/27/2008 - CO2 Programming - 7 Replies
NOTE* Addresses change at almost every update on the Conquer.exe, These addresses might not work on the new patch. This code is written for 5068 patch. I know some people have had trouble reading HP from Conquers memory so, here's a little "tutorial" how to save the real hp value to a static location. I'm not going much to depth how I found the places I'm using in this tutorial. First of all, you need a OllyDBG. (Well that's what this tutorial is written for) Next thing we do is, open...



All times are GMT +1. The time now is 17:06.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.