Introducing Shaiya Studio, a multi-purposes editor

80

Transcript of Introducing Shaiya Studio, a multi-purposes editor

Introducing Shaiya Studio, a multi-purposes editor.

Its purpose is to enable fast editing of clients and servers configuration files.

Contents

1- General o 1.1 Working with versions up to 0.7.1

o 1.2 Setting Options of version 0.7.1 1.2.1 Location of Client Data 1.2.2 Location of Server Data 1.2.3 Shell Integration

o 1.3 Working with version 0.7.5 1.3.1 Workspace definition 1.3.2 Create Workspace 1.3.3 Open Workspace 1.3.4 Save Workspace 1.3.5 Generate Patch 1.3.6 Connect a Shaiya Server 1.3.7 Connect a SQL Server

o 1.4 Additional Options 1.4.1 3D-View Options 1.4.2 Language & Font 1.4.3 SData clean-up

o 1.5 Searching Item o 1.6 3D Viewer

2. Cash.sdata 3. Skills 4. Item.sdata

o 4.1 General o 4.2 Gears o 4.3 Weapons o 4.4 Lapis o 4.5 Mounts o 4.6 Capes (mantles) o 4.7 Accessories o 4.8 Consumables / Goods

o 4.9 All Items o 4.10 Grades

5. NpcQuest.sdata o 5.1 General o 5.2 Standard-NPCs o 5.3 Merchants o 5.4 Gate-Keepers o 5.5 Quests

6. Monster.sdata 7. Models Files (MLX, MLT, ITM & MON)

o 7.1 Meta-models - MLX Files o 7.2 Gear models - MLT Files o 7.3 Weapon models - ITM Files o 7.4 Monsters, Mounts & NPC models - MON Files o 7.5 Strip models

8. 3D Views o 8.1 3DO, 3DC Files o 8.2 DDS Files o 8.3 SMOD Files

9. SVMAP Files o 9.1 Ladders o 9.2 Monsters Area o 9.3 Monsters List o 9.4 Named Areas o 9.5 NPC o 9.6 Portals o 9.7 Spawn

10. World Definition - WLD Files o 10.1 Dunjeons o 10.2 Field Maps

Bugs & Requests Credits Release Notes

1- General

This tool allows the edition of most of client-side files, server files and databases.

Each of the topics below starts with a client-side file (such as the cash.sdata one or the

item.sdata), in order to be as comprehensible as possible the chapters also contain information on

server-side file(s) and database used to manage the data defined at client side.

Of course this organization assumes that you know in which file the data / feature / things you

want to edit are defined.

If it is not the case, you will have to check all files, fortunately their numbers is not that huge and

each file comes with a description of what it contains and what that content is.

The user interface of the tool, and thus some functionalities have been changed with the release

0.7.5.

The following sub-chapters explain the minimal setup and the operating mode of the two

versions.

1.1 Working with versions up to 0.7.1

The versions up to 0.7.1 use a single-document-interface, meaning that a single document / file

can be opened at the same time. The interface is thus limited to a single window which is empty

when you start the application.

All supported files can be dragged from the explorer to the application's window or can be

opened with the standard dialog for file selection. But because the application manages only one

file at once, you must let it aware of a repository where additional resources are looked for when

required.

For instance to edit a weapon you will open the Item/item.sdata but the tool needs to load the

appearance definition of the weapon (an Item/*.itm file plus some .3DO & DDS files), the folder

from which such files are loaded is called the "Client Data Repository" hereafter, and you define

it - together with other options - with the Settings dialog.

Also note that you must use the LPH's tool to unzip the content of your data.saf to a data

repository (any directory you want) and then be able to open files from the hierarchy.

The "Shaiya Data file Tool" may also be required after changing your files to rebuild a data.saf

archive.

1.2 Setting Options of version 0.7.1

You perform initial setup of the tool version 0.7.1 with the "Settings" option of the "Tools"

menu.

The first panel of this dialog lets you define the repository for the client-sided and server-sided

files.

1.2.1 Location of Client Data

You must define the "Client Data" repository with the directory where you had expanded your

data.saf.

All the icons and textures, but also data files when cross-edition is performed, will then be read

from this repository.

Simply click on the text field to open the "Choose Folder" dialog and then choose the directory.

The choice of this directory shall be performed before first use, it can then be made as often as

necessary.

1.2.2 Location of Server Data

The "Location to save server data" shall be used to specify a directory where server-side files

will be saved. If you do not define that field, no server-side files will be saved.

You can specify your "ShaiyaServer" directory, if it is a test (not release) server, or any directory

suitable for your uses.

If you specify your "ShaiyaServer" root directory and if that direcory contains a

"PSM_Client/Bin/Data/" sub-directory, the server-files will be saved in that "Data" sub-directory

(and in the specified folder if no such sub-dir. exists).

Some .sdata files require, in order to properly work, an update of the data.saf file (full repack or

online update) and an update of the database; for these files the editors save a .SQL script to be

executed from SQL Server Management Studio, such SQL scripts are saved in the "scripts" sub-

directory of the specified server directory if it exists and in the specified directory if no such sub-

dir. exists. An encrypted .sdata file is also saved in the folder from which it was opened (it only

needs to be packed as a .patch or to be merged in a .saf file).

Other files require to be present encrypted in the client data.saf file and in plain on the server

under the PSM_Client/Bin/Data directory; for these files the editors save the encrypted file from

where it was opened and they save a plain copy of the same file in the configurated server

directory.

1.2.3 Shell Integration

The files can be opened - one at a time - by drag'n'drop from the Eplorer or with the Standard

Open File dialog.

The supported files can also be associated to shStudio with the above panel. As indicated in the

panel, such association will result in direct opening of double-clicked files by shStudio.

When files are associated, their icons (the icon associated to their extension) are changed with

the ones provided by the shStudio.icl icon-library. Be sure to download that file and put it in the

same folder than the shStudio application if you want to use that feature.

You will also use the panel to define if multiple instances of the tool are allowed.

Since shStudio manages only one file at a time (some operations performs cross edition of

several files but still only one is visible) you will certainly prefer the multi-instances mode;

however you can disable it.

Also note that the application manages several .sdata kind of file (cash, items, skills) and these

files have no specific signatures expect the name of the file. So if you change the name of a

.sdata file (to have a working, temporary version for instance), the appl. won't be able to known

which data if actually contains.

To manage these cases, you must use the standard open file dialog together with the list of

formats. Eg to open a "myItems.sdata" file, you must select it and choose "Items File" from the

drop-down list of formats.

Other change of release 0.7.1, the links (or alias, shortuts) are now supported, you can so double-

click or drop them on the tool to open a file.

1.3 Working with version 0.7.5

Starting with version 0.7.5, the shStudio tool uses a multi-documents interface. It is able to

manage and to give immediate access to all files of a client set as well as server's files and

database tables.

1.3.1 Workspace definition

The set of all files and directories that constitute the data of a client game is called a workspace.

Or, in orther words, a workspace consists in a folder that contains all the files & subfolders that

were present in a data.saf archive.

Only one workspace can be open at a time. Two different workspaces can be open from 2

different instances of the application, but one should not open the same workspace from these 2

instances, unexpected results may happen if you do so.

The workspace content is displayed under the 'Client' node of the main window.

The 'Client' node contains 2 sub-nodes. The first one 'Shortcuts' contains a list of frequently

edited files.

The second 'All Files' contains all the files and folders of the selected client directory. The tree

content matches the hierarchy of physical files.

The "Size" and "Date" columns of the tree-list are self-explanatory (byte-size of file and date of

last modification).

The "Status" column shows the files currently open or modified. Note that the loading can be

either explicit (when you click on a file to edit it) or done by the tool itself when the content of

the file is required for a specific task. For instance the Item/*.itm files are loaded when you edit

the gears or weapons defined by the Item/Item.sdata file.

The tool is able to build a workspace from a data.saf archive (meaning to unzip files from such

archive), it is able to regenerate an archive from the set of files (meaning to zip files to build a

Shaiya archive) and is also able to generate patch files. The use of the LPH's tool is so no longer

mandatory - of course it can still be used and the formats of the data.saf & .sah generated by the

2 tools are obviously strictly the same.

The "File" menu of the main window contains all required commands to manage workspaces,

server data & connection a to SQL server. Each node also provide a local popup menu (opened

upon right-click on it) with relevant actions.

1.3.2 Create Workspace

You will create a new workspace when you want to start to work with a new set of client files (a

new data.saf file).

You must designate an existing data.saf file (using the Standard Open File dialog) and then you

create a new folder or designate an existing one (using the Standard Select Folder dialog).

The data.saf archive is opened for reading, the indexes are read from the data.sah are all files &

subfolders of the archive are expanded into the designated folder or workspace.

Once the workspace is open, you can open and edit as many files as desired by selecting them

from the list.

1.3.3 Open Workspace

To open a workspace, you use the Standard Browse Folder dialog to select a folder that contains

a full Shaiya client set.

As depicted below, you must select the root directory of the set of files.

Upon selection of a folder, it is scanned to get the list of all files it contains.

Finally, the client data are displayed in the main window.

1.3.4 Save As Archive

The Save as archive item lets you to create a .saf archive and a .sah index from the currently

opened workspace. Such operation is required when you want to deploy, or simply test, a new

client.

In order to generate these 2 files, you must provide a valid pathname; the Standard Save File

dialog suggests you to create a "data.saf" in the parent directory of the workspace, you can

however provide any other valid pathname.

All files and folders present in the workspace are then packed into a .saf file and an index file is

created.

1.3.5 Generate Patch

The Generate Patch item also create an archive with its index but instead of packaging all files

of the workspace, it checks the modification date of all these files and pack only those updated

since the creation of the workspace or the date of last patch generation if any.

The tool stores (in its ini config file) the date of creation or last generation of patch for each

opened workspace, the creation of patchs is so easy & immediate regardless of the number of

projects.

The generated update.saf & .sah are zipped together in a ps0nnn.patch file where nnn is the index

of your last revision - of course you can rename the file according other needs if required.

1.3.6 Connect a Shaiya Server

Unlike with the "Location of Server Data" of the previous releases, the release 0.7.5 lets you

explicitly and visually connect to the server directory.

The local popup menu (or the File menu) lets you browse and select the server data directory.

Upon selection the designated folder is scanned and the editable files are added under the 'Server'

node of the tree.

1.3.7 Connect a SQL Server

The tool is able to manage direct connection to a MS SQL Server. The connection is performed

using "NT authentication" or the "SQL authentication".

The server is identified by its IP address or name if it can be resolved by DNS, Wins or

NetBIOS.

The User's Name is a full qualified name valid on the local workgroup or the domain.

The password is optional for "NT login" if the user is already identified on the workgroup /

domain and is mandatory otherwise, including for "SQL Authentication".

Upon successful login, the tool retreives the list of tables of the 'PS_GameDefs' base.

The connection to a SQL server is optional - and of course it should be used to connect to test

servers only.

If a connection is available the tool updates the DB record of any edited item (gear, weapon,

quest, monster, ...) upon validation of changes made on the item.

The connection is also used, if available, to build the monster information if the client folder only

contains the basic data.

The tool does not list, nor it gives access to the tables of the PS_GameData base. This is intented

- since at least for this version - the tool is dedicated to the management of the game data, and

not the management of the players.

1.4 Additional Options

The options detailled below are common to the release 0.7.1 and 0.7.5+

1.4.1 3D-View Options

Some editors (including gear, weapon and monster editors) include a panel to display a 3D view

of the edited item.

You can choose to display or not display this 3D view when the dialog editor is opened.

Models-Lists editors (including editors for the .ITM, .MLT and .MON files) use the popup 3D

Viewer (see below) to display the selected item.

You can also choose to automatically open the 3D viewer window when such file is opened.

1.4.2 Language & Font

This panel lets you choose the font (name & size) as well as the code page to be used to display

usually localised texts.

This includes, for instance, item's name & description.

Note that Shaiya - as a very-old fashion program - requires a code page selector to display

unreliable data streams (instead of using unicode). Such selection is so important and must match

your local setting.

The selected font must contain the required glyphs, it can be the Cyberbit or the Code2000 font

that contains most of glyphs or a lighter one (including a default system one).

The right selection of the code page and font allows the correct display of any text.

1.4.3 SData clean-up

Some client files contain garbage. The quests messages for instance end with dozens of line-feed,

carriage-return.

By default, the application removes these trailing space and line-feeds. Consequently if you open

and save w/o any change a file, the new one may appear to be different - it is, but only because

of this clean-up. If you want to keep the exact same content, use the SData options panel to

disable (or re-enable) this feature.

1.5 Searching Item

Release 0.7.1 + allows searching of items by a word (or part of the word) in their name.

(It would be possible to search the monsters that drop a particular item at a given rate but this

hasn't been requested.)

You start a research with the classical "Find" menu-item and search for the next occurences with

"Find Next" item. Standard shortcuts Ctrl+F and Ctrl+G or F3 are usable of course.

The pattern to be searched is typed-in in the search area at the bottom of the frame.

This panel does not need to remain opened (visible) to accomplish following researches, you can

hide it by clicking on the close button and it will be re-opened for new research (next Ctrl+F).

1.6 3D Viewer

Models-Lists editors (.ITM, .MLT and .MON editors) use the popup 3D Viewer to display the

selected item.

You can open the 3D Viewer with the "Tools" / "3D View" menu-item or with the 'F6' shortcut.

The viewer is automatically displayed when a file that uses it is opened and if you choose that

mode in the "3D View Options" (see above).

This viewer lets you manage the orientation among the 3 axes.

The 3 edit-texts contain an angle in degree (so a value ranging 0 up to 359).

Clicking on the icon at left of the edit-text resets the angle to 0°.

You can control these angles with the following keyboard inputs:

Shit+Up: rotate X axe counter-clockwise, points in front go upward

Shit+Down: rotate X axe clockwise, points in front go downward

Shit+Left: rotate Y axe clockwise, points in front go leftward

Shit+Right: rotate Y axe counter-clockwise, points in front go rightward

Shit+PgUp: rotate Z axe counter-clockwise, points in front go upward

Shit+PgDown: rotate Z axe clockwise, points in front go downward

The four next icons manages the relative position:

+: move object at center of the window, change its X, Y & Z coords.

<->: move X coordinate of object to center of the window

|: move Y coordinate of object to center of the window

/: move Z coordinate of object to center of the window

You control the position of the object with the following keyboard inputs:

Up: move object upward, Ctrl+Up move upward with bigger increment

Down: move object downward, Ctrl+Down move downward with bigger increment

Left: move object leftward, Ctrl+Left move leftward with bigger increment

Right: move object rightward, Ctrl+Right move rightward with bigger increment

PgUp: move object backward, Ctrl+PgUp move backward with bigger increment

PgDown: move object forward, Ctrl+PgDown move forward with bigger increment

2. Cash.sdata

This editor allows edition of products sold in item mall.

It uses the icons read from the Interface/icon/icon_somo2.dds file.

So if you chose the directory: "D:\Shaiya\myServer\ClientStuff" during the previous setup, the

file

"D:\Shaiya\myServer\ClientStuff\Interface\icon\ico n_somo2.dds" will be used (and shall exist

of course).

Caption, description, icon, price & list of packaged items are editable.

For information: the "Product Name", "Product Description" and "Cost" are displayed in the

item-mall.

The bag index is the index of the page (1: "EXP & More", 2: "Buffs", 3: Character & Fun", 4:

"Gear & Upgrades")

The "Product Code" is whatever you want (it is used by the client & the server to identify a

product),

the drop-down list is only there to let you know which codes are already in use when you create

a new product.

The editor saves the Cash.Sdata file encrypted (since release 0.6.3) and a cash.sql script to

perform

whole update of the PS_GameDefs.dbo.ProductList table on server side.

3. Skills

You can choose to see a limited number of fields or all skills details with the local pop-menu

opened with a right-click on the list header.

You edit data from the list by a click'n'move over a field or by pressing the 'F2' key after field

selection.

The editor saves the Skill.sdata encrypted and saves a SQL script in the server repository.

The support of the skill.sdata file is (a bit) limited in this release.

The release of the tailored editors is postponed (w/o any date).

4. Item.sdata

This editor lets you manage the Item/Item.SData file.

It saves the Item.Sdata file encrypted (since 0.6.3) and an Item.sql SQL script to perform update

of the PS_GameDefs.dbo.Items table on server side.

4.1 General

The Items.sdata file contains 100 "Banks" - each bank is identified with the "Type" value,

ranging 1 up to 100.

Most of these banks are filled-in with 255 items, not used / assigned items exist but they usually

contains '00' values. When you "create" a new item in one of these bank, you actually edit an

existing (but not used) row.

This row shall be upated from the "All Items" tab to have it listed in the right list, changing its

Country and/or Level is usually enough.

A few number of banks are not used and thus not managed by the editor (Type: 26, 37, 66,

72..81, 87..93 and 96..98).

Banks 94 & 95 contain a very few number of very specific items (bars & lapisia), they are not

handled by the editor.

Finally, some banks are not filled-in with 255 entries; this includes bank 29 for quest items, 42:

mounts, 43: Etin coins, 67..71: 2nd set of light gears, 82..86: 2nd set of dark gears.

For these banks, you need to create a new row (with relevant Type & TypeID) to create a new

item.

This is achieved with the "Edit" / "Create Item" menu item from the "All Items" tab.

In this basic dialog, we will define the minimal information required to have it inserted in the

right list.

After validation, the newly created item is present in the dedicated list (unless you forgot some

required data).

Important Note: release 0.6.3 to 0.6.5 may have removed unused, invalid rows for items type

69 and 84 (second set of light & dark shields) from your items.sdata file.

Due to these missing lines, you are no longer able to create, equip, use items with TypeID 191 up

to 244 (no valid items were lost!, but these ones can not be used).

To restore the banks 69 & 84, simply reload & save your items.sdata with the 0.6.6+ release.

4.2 Gears

The "Light Gears" and "Dark Gears" panels manage the light, resp. dark, gears.

You can choose the class for which gears are displayed, the kind of gear, as well as a short or

exhaustive

view with the local popup menu displayed with a right-click on the tab or list header.

You edit a gear after double-click on it.

All known fields are editable, this includes 'Attrib' that defines the elemental defense of top

armors

level 70 as per episo 5.3.

The "Bonif Max" field (DB: ReqWis) defines the maximal orange HP/SP/MP values expressed

in hundreds

of points (the value "3" means "300 pts max").

The right panel of the dialog can be opened or closed and shows the male & female gear

according

to the chosen model - the link is done with the mlt file, see below. Note that the actual 3D model

is determined in-game by the class of the toon (the information is not intrinsically defined by the

gear).

In this dialog, the choice is based on the class that can equip the gear, when several classes are

checked, the first one defines the displayed gear.

The ReqStr, ReqRec, ReqInt, ReqVg, ReqIg, Range, AttackTime, Effect1, Effect2, Speed, Exp

& Drop columns

of the PS_GameDefs.dbo.Items table are not linked to an editable gear field (and thus not

used/changed

by this dialog). If you know a meaning for these fields, thank to advice.

4.3 Weapons

The "Light Weapons" and "Dark Weapons" panels manage the light, resp. dark, weapons.

You can choose the class for which weapons are displayed, the type of weapon, as well as a short

or

exhaustive view with the local popup menu displayed with a right-click on the tab-header.

You edit a weapon after double-click on it.

All known fields are editable, this also includes the 'ReqRec' used by new weapons level 70, the

actual

meaning of this field is not known when this version was released.

Some fields are seldomly settled (not left at zero) and are not visible when the dialog is opened.

This includes HP, SP, MP, Physical Defense and Magical Resistance. Clicking the arrow after

'WIS' will show them.

OOH, these fields are used by most of shields and thus they are visible when the dialog is opened

to edit a shield.

The 3D view of the weapon is also visible with the top arrow that expands the dialog to the right.

The 'model' drop-down list, present in release 0.7.1+, allows to choose (and to see) one of the

available models.

The ReqStr, ReqInt, ReqVg, ReqIg, Special, Speed, Exp & Drop columns of the

PS_GameDefs.dbo.Items table are not

linked to an editable weapon field (and thus not used/changed by this dialog). If you know a

meaning for these

fields, thank to advice.

4.4 Lapis

The "Lapis" panel manages the lapis items.

You edit a lapis after double-click on it.

Fields are self-explanatory.

The debuff & anti-debuff lapis use a "Spell" identifier. Known effect are listed by name in drop-

list, you can

also choose "Other" from the list (top first position) and assign a value in the edit-field at right of

list;

thank to post feedback regarding any discovered effect.

The range of 'Attack Range' (Horizon), 'Attack Speed (Flash) and 'Move Speed' (Sonic) have all

a max. value of 3

(it can have no actual effect, eg for a Sonic lvl 3 with 'Move Speed' set to 3 doesn't give extrem.

fast).

4.5 Mounts

The "Mounts" panel manages all mounts. Unlike the gears & weapons panels, all mounts, light &

dark, are listed in this single panel.

You edit a mount after double-click on it.

Only a few number of parameters are available there. The speed and number of seats of a mount

seem

to be controled by the animation files listed in the .mon file for the mount.

The "Range" field seems to be used but no acceptable meaning has been found so far.

4.6 Capes (mantles)

This panel displays and allows the edition of mantles. (rel. 0.7.1+)

You can choose the listed items with the local popup menu displayed with a right-click on the

tab or list header.

Note that, as for other tabs, undefined capes exist but are not listed.

To edit a cape, double-click on it.

All fields are self-explanatory.

4.7 Accessories

This panel displays and allows the edition of amulets, loops, rings.

You can choose the listed items with the local popup menu displayed with a right-click on the

tab or list header.

Note that, as for other tabs, undefined items exist but are not listed.

To "create" an accessory from an unused row, change the Country and/or Level fields from the

"All Items" list,

save your file & reopen it, the modified item will appear in the list and you will be able to use the

editor.

To edit an accessory, double-click on it.

All fields are self-explanatory. They allow full customization of existing accessories as well as

creation of new ones.

4.8 Consumables / Goods

This panel displays and allows the edition of all goods, quest-items and consumables.

(These items have a Type value of 25, 27, 28, 29, 37, 38, 43, 44 or 100).

You edit an item after double-click on it.

Depending of the actual type of the edited item (throwable drop, quest item, potion, runes, ...)

different fields shall be settled.

Be sure to understand the purpose of each fields and to know the allowed values before doing

changes.

4.9 All Items

The "All Items" tab gives access to all items, whatever their "defined" or "undefined" status.

The purpose of this list is to offer a way to check every items and thus all columns (all fields of

items) are always displayed.

It also provide a "Create Item" dialog ("Edit" / "Create Item") to be used when adding a new row

is required.

You can also use the "Delete Item" and "Erase Item" menu-items to remove or discard an useless

item;

4.10 Grades

This panel lets you organize the "drop-bags".

Release 0.7.1 upgrades the list with a TreeList control that offers better lisibility of item's

information.

The purpose of this panel is to allow the drop of light items from the mobs of light maps and the

drop of fury items from the mobs of dark maps. Default OS settings almost always mix the light

& dark items, this is often a source of frustration for players.

You organize items (meaning you change their "Drop Group" value) by drag'n'droping them

from one bag to another.

You can also move or empty a full bag with the local popmenu available with a right-click on

bag icon.

Most of drops rely on a drop-group index; each mob defines up to 9 drop-bags with a percent of

chance to deliver an item for each of them. Which item is delivered is the purpose of these "drop-

bags" indexes; you define that value with the "Drop Group" field of the item editors. All items

sharing the same "Drop Group" value belong to the same "drop-bag" and one of them is

randomly chosen when the mob drops an item from that bag.

5. NpcQuest.sdata 5.1 General

The NPC/NpcQuest.sdata file contains the definition of the NPC (not playable characters) that

can be present on the maps of the game and the quests managed by these NPC.

The file is stored encrypted in the NPC directory of the client and in clear in the

PSM_Client\Bin\Data directory of the server.

The editor saves 2 files (one ciphered, one plain) in these 2 folders.

NPC include:

Animal, like those around farms

Apprentice, sometime used to give and/or receive quests

Blacksmith, to repair equipment, link lapis, or enchant items

Combat Commander, usually used to provide free skills reset

Dead NPC, sometime used to give and/or receive quests

Gambling House, as the name suggests

Gate-Keeper, to reach up to 3 destinations on same or another map

Guard, mainly used in cities, a few gives quests

Guild-Master, to create guild and to join or leave one

Merchant, NPC who sell items, players can sell them items too

Normal NPC, mainly used to give and/or receive quests

PvP-Manager, to give info regarding PvP

Warehouse-Keeper, to give access to the warehouse

The appearance of NPC is defined with the list of models defined in the NPC/NPC.MON file.

The actual presence of a NPC on a map is defined in the .svmap file for that map.

Standard-NPCs, Merchants & Gate-Keepers can be copied / pasted from their respective list to

the list of another NpcQuest.sdata file opened in a second instance of the application. If the NPC

(same Type and Unique ID) exists, it is updated with pasted data, otherwise it is added to the list.

5.2 Standard-NPCs

Standard-NPC are apprentice, blacksmiths, guards, and so on.

Most of them do not participate to the game except for quests.

You can use this editor to change their name, welcome message and icon/shape (the full 3D

shape can be displayed in the collapsable right-panel).

5.3 Merchants

The "Merchants" tab lists all available merchants.

You edit them after a double-click on it.

This editor uses some rules to provide a not-over-complicated interface. From a theorical point

of view, all merchants can sell any items from any categories, so 100 x 256 items. To avoid a

pratically not-usable dialog, it won't be the case there, "Weapon Merchant" sells weapons,

"Protection Marchant" sells gears and so on.

The right-list so displays a subset of the Items.sdata file (the one from the client files repository

as explained in very first point of this post) and provides up to two filters on these items. To fill-

in the left-list (which represents the items currently sold by the merchant), click and drag an item

from the right-list to the left-list. To remove an item present in the (left) merchant list, select it

and click 'Del'.

Keep in mind that NpcQuest.sdata contains only definition of a merchant, its appearence, name,

message and list of sold items. It does not contains any information related to the actual presence

in game, nor its location, the server .svmap files can be edited to edit this information.

With release 0.6.6, Accessory Merchant can list more items, this include lapis (items type 30),

enhancement items or "special" items (type 25 & 44).

The Liquid Medecine Merchants also list more items with the "pana items" (type 44 & 100 with

not null Range value).

5.4 Gate-Keepers

The "Gate-Keepers" tab lists all available gate-keepers.

You edit them after a double-click on it.

The collapsable right-panel displays a 3D view of the selected NPC model.

This model is chosen from the "Model's names" list or from the icon picker, they are

synchronized since they define the same 'shape' field.

The other fields of this dialog are self explanatory.

5.5 Quests

The "Quests" tab lists all available quests.

You edit them after a double-click on it.

This one is not the easier to use ... still it can be used w/o trouble to edit the messages associated

to a quest (and of course to translate them) and/or to edit the required number of mobs to kill or

item to collect.

Further changes are also possible such as conditional rewards and quests chains, but it is strongly

advised to watch and understand existing and known quests before to perform big changes.

Release 0.6.4 badly manages quests with variable rewards. The release 0.6.5+ finely manages

class-based reward.

The quest-chains are still not fully managed, you can edit existing ones but newly created one

may not work.

This topic is not yet fully understood.

Full redesign with release 0.6.6, variable rewards are (I hope) more clear to understand.

Repeatable flag is also present, thank goes to Shaiya Knight Fall.

6. Monster.sdata

This editor lets you manage the Monster/Monster.SData file and the server-side monsters & drop

lists information.

Editing only the content of the monster.sdata file was not satisfactory; indeed the big part of

information is in BD only.

The solution is an extended monster file ("MonsterEx.SData") file that contains the

monster.sdata information plus DB information (the content of the dbo.Mobs & dbo.MobItems

table).

This file is generated once with the monster.sdata and the 2 tables (exported from SQL Studio in

.CSV format) and imported by the tool.

The file is then used to regenerate the monster.sdata file and a SQL script to update the Mobs &

MobItems tables.

Be sure to properly export the full tables with all OS defined columns (no more, no less and in

right order) or the import will fail.

The field separator (the character between each field) must be a comma or a semi-colon, also no

thousand separators shall be present in numerical figures (eg the value 2500 shall be "2500" and

not "2,500" or "2.500").

The csv files must be saved as plain ANSI text, SQL Studio saves files with UTF-8 or Unicode

encoding as default choices, make sure to define the encoding options to "ANSI" with the small

down arrow on the Save button.

The expected format for the Mobs.csv is:

Spoiler:

The expected format for the MobItems.csv is:

Spoiler:

The editor saves the Monster.sdata file encrypted from where it was opened; it also saves an

extended monsters file ("monsterEx.sdata") in the same folder than the one containing the

monster.sdata file. Using a global server repository here was not possible since this will prevent

the existence and edition of several monster.sdata.

That extended file is not supposed to be packed in a client package; it is your responsability to

move/remove/... it.

A SQL script is also saved in the server directory.

For first use, you must export the 2 required tables in .CSV format and then import them (File

menu, Import item).

These 2 CSV files are no longer needed after import and can be deleted.

For next uses, you simply open the monster.sdata file - you don't select the monsterEx.sdata, it is

automatically detected and used by the tool.

You edit a monster after a double-click on it.

You will note that most of information is available only after import of server data.

The right side of the dialog can be expanded to display the 3D view of the monster (as selected

from the 'Model' drop-down list) or to display and edit the drop-bags associated to the monster.

You can create a new mob with the "Edit" / "Create Item" menu. Again, a lot of "undefined"

mobs yet exist, to show them use the local popmenu (right-click on list header) to choose

between the "View All" and "View valid" modes.

7. Models Files (MLX, MLT, ITM & MON)

The game uses basic files to describe appearance of weapons (.itm) and mounts (.mon).

The definition of gears is a bit more tricky. Indeed, one is usually interested in the definition of a

full gear-set and not only one item. Meta-models have been added to manage that.

7.1 Meta-models - MLX Files

These files are created by the tool and don't exist in OS set of files.

They simply put together information from the individual .mlt files present in the

Character/class/ directories.

They are small and they don't contain any sensitive information, so putting them in a public

package is not an issue.

To create a new meta-model, create an empty file (and empty means 0 byte) in the directory

containing the .mlt files and name it with the four first letters of these files and the '.mlx'

extension.

So to create a meta-model for human, male, fighter gears, you create a "humf.mlx" file in the

"Character/Human/" folder.

To create a meta-model for vail, female, oracle gears, you create a "viwm.mlx" file in the

"Character/Vile/" folder.

Once the empty file exists, open it.

The editor manages the data of the 4 .mlt files (xxx_upper.mlt, xxx_lower.mlt, xxx_hand.mlt &

xxx_foot.mlt) simultaneously.

The helmets are not include in the meta-model because their identifiers usually don't match those

of gears; the number of helmets (if all event ones are present) is also different than the number of

gear-sets.

Since release 0.7.1, the names of gears that use the selected model are displayed in the 4 lists of

the bottom of the panel.

You can create new meta-model with the "Edit" / "Create Item" option, you delete one with the

"Delete Item" option, and mainly, you update, fix, complete the existing one by selecting it (this

copies the current file names in the edit boxes) and then clicking the "Update Model".

You can also reorder models (moving them up & down in the list) with Ctrl+Up & Ctrl+Down,

be aware that changing the order will change the model value and gear items defined in

Items.sdata do use tha value. Such ordering may be usefull or wanted but you need to edit the

gear's model after that.

A name can also be associated with a model; this name is used only to you.

When you save the file, an actual .mlx file is created - and thus the previous manual creation

occurs only once - and the four individual .mlt files are regenerated.

Of course, another interest of this editor is to display a full 3D view of the gear-set.

7.2 Gear-models - MLT Files

This editor lets you create, edit, remove models & save the Character/class/*.MLT files.

The .mlt files can be edited individually. It can be required to edit helmets for instance.

A MLT record only contains an index of a DDS file, an index of a 3DC file and a RFU value.

Edition is thus performed directly from the list view; you start to edit a filename with the F2 key

or by click'n'move.

The editor does not verify that the given file actually exists.

The selected model can be viewed in the 3D Viewer, select "Tools" / "3D View" item or press F6

to open the viewer.

7.3 Weapon models - ITM Files

The .itm files contain the visual definition of weapons.

This editor lets you create, edit, remove models & save the Item/*.ITM files.

A ITM record contains an index of a DDS file, an index of a 3DO file, a glow identifier (used by

elementarized and quest weapons) and optionally a color (whose use is unknown) and a 3D point

(position of weapon relative to the toon).

The edition of record is performed with a tailored dialog. The folder icons allows pick-up of a

DDS or 3DO file from the child directories of the .itm file location; the color control uses the

standard color picker.

The selected model can be viewed in the 3D Viewer, select "Tools" / "3D View" item or press F6

to open the viewer.

7.4 Monsters, Mounts & NPC models - MON Files

The .mon files contain the visual defintion of monsters, mounts and NPC.

Note that old client game used .tol files for the same purpose, these files are obsolete and not

used by client 4.5+.

Each record contains 1 or several DDS & 3DC files plus the names of animations, waves and

effects files.

You edit a record after a double-click on it.

The dialog does not provide a 3D rendering panel (it will be useless when several files are used).

Instead all parts of the selected model (from the main list) are assembled together in the 3D

Viewer

(select "Tools" / "3D View" item or press F6 to open the viewer if required).

(that isn't Rashiel as you already know)

7.5 Strip models

The Strip folder also contains some .mon files used to display characters of the gamehouse.

These data are not that useful but they exist so the appl is able to render them.

8. 3D Views

The previous files (.itm, .mlt & .mon formats) contains lists of items, each of one linked to a 3D

representation.

The files described in this section contains the definition of the 3D view itself.

8.1 3DO & 3DC Files

This viewer displays a wire-view of the .3DO & .3DC files (3D models used to describe all items

but cities).

Release 0.7.1 enhances the editor with the following features:

- the list of facets (a facet is a set of 3 (x,y,z) coordinates) is present at right and allows to hide

individual facet.

When the model is saved, the hidden facets are removed from the model definition (the spatial

points are kept for optional revert operation).

- a texture (dds or tga file) can be chosen and applied to the edited model; this can help to hide

the right facets.

- a background model (with optional texture applied on it) can be used to see the edited model in

"real condition" (eg a body part background can be used to edit a gear item).

Why remove facets could you ask?

Well, from my point of view, some models are unnecessarily overloaded (for instance I dislike

the heavy pot-helmets), one may prefer to make them lighter.

For example, the Justia helmet can be changed as follows:

8.2 DDS Files

This viewer displays the .DDS files (Direct Draw Surface used as textures).

If a .3DO or .3DC file with same name (but extension) is present in the directory ../3DO/ or

../3DC/ it will be used to render the texture on the 3D model otherwise a square bitmap is

displayed.

8.3 SMOD Files

This viewer displays the .SMOD files used to describe buildings or large shapes present in

landscape.

9. SVMAP Files

Release 0.7.1+ includes a .svmap editor. These server-side files are used to define the location of

monsters, NPC, portals on the map.

For each kind of record (a NPC location for instance) only a few data are required, this dialog so

uses a different layout than the previous ones and gives a big place to a pict of the edited map.

Note that these "map images" are read from the Interface/MiniMap folder; it contains image for

"outside fields" and not for the dungeons; Of course one can easily create images for these maps

with, for instance, a snapshoot of the views provided by Murat KURT.

Opening a .svmap file shows the following dialog:

On top of the right part, an input field and a "Change" button can be used to resize the map; that

is the first thing to do when you create a new server map for a new client world. That size can be

overestimated, it does not matter; on other hand if your toon respawn when you are walking on a

map, it is because its size is too small, enlarge it in this case.

The "Spots" combobox gives access to the different areas defined by the svmap. Use it to edit the

relevant data.

9.1 Ladders

This views manages ladders.

Ladders are present on some towers of "outside" maps and they are used ... to look at the

landscape around (?!).

They are also present in some dungeons (Greendieta floor 1 in the pict above with treasure boxes

on top) or to access some platforms (AH for instance).

As for portals, the world file shall contain the ladder definition and the records defined there

shall use 'close enough' coordinates.

9.2 Monsters Area

This view manages the locations where the server will spawn monsters.

The first list contains the coordinates of the extreme point of squares. To change them, select a

record from the list, the (x, y, z) of the 2 points are copied into the input fields, make changes

and update the spot with the "Set" button.

To add a new spot, fill-in the fields (or modify filled-in values) and click "Add".

To remove a spot, select it and press "Del".

Monsters are never static on the map (except it you provide a null wide box) and they randomly

move in the specified box, so make sure to not define too small areas.

Also you can take advantage of their moves to simplify the definition of the Y (azimut)

coordinate, make it a bit higher than the actual ground, the monster will go down to ground level

when it will move.

When you select a spot, the second list is filled-in with the monsters that will spawn in this area.

An area can contain several type of monsters (each identified by its MobID identifier) and 1 or

several instances of each type of mobs.

To change the type of a mob and/or the number of mobs, select its record, edit and press "Set".

To add a mob, type-in its MobID and number of instances and press "Add".

To remove a type of mobs, select the line and press "Del".

9.3 Monsters List

This view uses the same information but displays them differently.

Its purpose is to show where each type of mobs will respawn. That is usefull for leveling maps

where the level of mobs will usually grow while crossing the map.

Additionally, you can double-click on monster to edit it, for instance to make the drops smarter

according to the position of the mobs on the map.

Note that the editor will open and use the monsterEx.sdata file present in the Monster folder of

your client data repository; it you have not read or understood the chapters 1 or 6, stop your

reading and redo-from-start.

The 5 element icons at bottom displays the mobs with that element, usefull to balance elemental

mobs on the map.

9.4 Named Areas

This views manages areas that displays a name when a toon enters into it.

These spots use the transparent picts present in Interface/Worldname to display the name of the

area.

It is assumed that the area with index i uses the file mapID_i.tga, however this is invalidated by

some maps,

your feedback is so welcome.

9.5 NPC

This view manages the location of NPC.

Actual NPC shall be defined with the NpcQuest.sdata file, this section only defines their

positions on the map.

But you can edit your Client Data/NPC/NpcQuest.sdata file, by double-clicking NPC from this

list. Again usefull to verify that merchants inserted on a map provide goods relevant for that map

(no weapon lvl 37 at Kanos for instance).

A NPC's location is (usually) defined by a single point. Unlike monsters, NPCs are indeed

usually static.

The "Position" list lets you add (or remove) additional positions. If several points exist, the NPC

will move in loop across these points.

So if you want the guards to do a little exercise, define several points (close to each other) and if

you want the stupid light blacksmith of Karis to stop to move away when you are using it,

remove the 3 of the 4 (buggy) points.

You can also consult that thread for a quick tuto related to NPC creation.

9.6 Portals

This views manages portals.

The portals shall exist in the client-sided world file prior to define them here. (Actually you can

define them but they won't work.) Their order must also match the one of the wld file.

The "Add", "Set", input fields, etc work as expected and as described above.

Point of interest, the "faction" field is not a drop-down with the "light", "dark" choices; indeed

portals can depend on a specific event (usually a boss, semi-boss killing) to be usable. In such

case the value will match the one defined in Obelisk.ini.

9.7 Spawn

This views manages spawn areas, meaning the areas where toons are moved when they town.

Of course, more than one spawn point can be defined (in not PvP maps), it is asumed that the

toon is moved to the nearest point when several points exist.

10. World Definition - WLD Files

Release 0.7.5 includes .wld editors. These client-side files are used to define the maps.

These files are actually two very different types, the first defines the dunjeons while the second

defines the outside landscapes.

10.1 Dunjeons

(new with 0.7.5, more details to come)

10.2 Field Maps

(new with 0.7.5, more details to come)

Next to come

Hmm, still missing something? really?

Bugs & Requests

Requests for general interest may be discussed in this thread; specific requests are preferably sent

by private mail.

Bug reports are sent by private mail; reports containing only "it does not work" or listing 50+

times the same mistake will not be processed.

Credits

ZeroSignal for his "shay_data_edit_0-1c" package that gave information on the structure of

several files.

Attila Kovrig for the wonderfull IcoFX application used to create the icon-library.

(the Visual-Studio 2010 icon-editor is just a crap as compared to this application).

Release Notes

v. 0.6.1, March 12, 2011

- Initial Release

v. 0.6.2, March 18, 2011

Fixes:

- DDS loader (now manages DXT1 & uncompressed format)

- Secondary list of icons (now add icons from 1xx to those of xx)

- SQL script for skills table update now accurate

Adds:

- Weapon & Lapis editors

v. 0.6.3, March 18, 2011

Bug Fixes:

- the listed gear models for Type ranging 67 to 71 (light 2nd set) were invalid. (bug introduced in

0.6.2).

Changes:

- all .SData files are now saved encrypted. (you no longer need to encrypt them before

packaging).

v. 0.6.4, March 20, 2011

Adds:

- Shields edition

- NPCQuest.sdata support

v. 0.6.5, March 26, 2011

Bug Fixes:

- SQL scripts now saved into the "server repository" folder.

- the "Range" value of some items was badly set in SQL script, it's now correct - Credits/Thanks

to Betalfa.

- Quests with a class-based choice of rewards were incorrect.

Adds:

- edition of Mounts, Accessories (Amulets, Loops, Rings & Capes), Goods.

- import command to add new items to an items.sdata file (items shall not exist in the target file

to be merged, existing items won't be changed with data of the imported file)

Bugs:

- when you create a new lapis from an unused row, the "Slot" value is left to '00' preventing you

to be able to link these newly created lapis; in order to have them working, change the Slot value

from 0 to 1 in the "All Items" tab. Thanks to Shayia Xtreme to report this bug.

- when the "Light/Dark Gears" tab uses the "Show All Items" option, some shields are present in

the list ("Type" present in 1st column is 19 or 34); trying to edit them from that Gear list causes

the application to crash (it tries to use a list of icons that doesn't exist). To avoid that, edit shields

from Weapon tab only.

- gears tabs don't list items from second sets (type 67..71, 82..86), again re-broken with an

invalid test on Country (which is of course different than the one for 1st set).

v. 0.6.6, April 3rd, 2011

Bug Fixes Release:

- linking prices list completed - credit / thank to Nevak

- Gear editor updated, "Country" field added.

- Lapis editor updated, "Slot" field added.

- Quest editor updated.

- List of items for Liquide Med. & Accessory Merchants enhanced.

v. 0.7.0, April 13, 2011

Bug Fixes:

- Shields type 19 and 34 no longer appear in the "Light/Dark Gears" with "Show All Items"

mode.

- Ins & Del work with cash.sdata editor.

Changes:

- Accessory editor includes a sex selector for jewelry.

- Gear & Weapons editors upgraded with 3D view.

- DDS viewer upgraded.

Adds:

- edition of meta-models (set of .mlt files)

- edition of mobs; allows edition of public as well of private data (defense & attacks and list of

drops)

- edition of "Grade Bags"

- 3DC, 3DO viewers added.

Special Thank goes to Zoltán Kárpáti for the helpful exchanges during debugging of the 3D

engine.

v. 0.7.0.1, April 16, 2011

Bug Fixes Releases:

- Import of CSV files fixed; a wrap-around UTF-8 caused ANSI files to not be loaded, meantime

Unicode wasn't handled.

These files must now be in plain ANSI only (use the small arrow on SQL Studio "Save" button

to define coding mode and choose "ANSI").

- When editing a merchant, the list of available items went too low; fixed.

Adds:

- meta-models dialog lets you rename the DDS & 3DC files associated to a model (select it to

fill-in edit-texts, make change, click "Rename")

It also also direct creation of a new model with the content of the edit-texts, fill-in them (can be

from a selected model) and click "Append".

- "Server" field added to Gear, Weapon & Accessory dialogs, this field controls (among possible

other things) the "enhancability" of an item.

v. 0.7.1, June 20, 2011

Bug Fixes:

- Fix a bug that crashed the appl. when the Gate-Keepers are sorted by 3rd destination.

- Fix flickering & not-drawn view in item mall editor (TileView)

Bug found:

- Some .tga files used as minimap as RLE encoded (purposeless for such images), the tool does

not diaply them.

Changes:

- Add 3D view in Standard-NPC and Gate-Keeper editor.

- Weapon editor allows the edition of the model used to draw the weapon.

- .ITM and .MON lists have dedicated editors.

- 3D view of items are properly displayed (connected to each others) in meta-models dialog

(.mlx files).

- .3DE, .3DC and .3DO files can be edited.

Adds:

- Capes (mantles) are listed in a dedicated panel with tailored editor.

- 3D Popup Viewer to display selected model when working with .MLT, .ITM or .MON lists.

- Search capability

- SMOD viewer

- SVMAP editor

v. 0.7.5, not released yet

Bug Fixes:

- Lot of drawing issues fixed (flickering & lacks of update)

- Support of RLE encoded TGA files

Changes:

- Uses a MDI (multiple documents interface) instead of the SID (single doc interface)

Adds:

- Data.saf expansion to create functional workspace

- Data.saf / .sah creation from a workspace directory

- Creation of patch with auto-selection of modified files

- WLD editors

Postponed

- Toon skills editor, it allows to edit simultaneously all the levels of a skill.

- Mobs skills editor, it allows full edition, as well as creation, of mob's skills.