Introducing Shaiya Studio.
Its purpose is to enable fast editing of clients and servers configuration files.
This tools is available for download for about 5 months on another site.
I choose to list it also on RageZone to provide you with an efficient, easy & fast way to edit your game files and, hopefully, to get some valuable feedback.
Note: due to very unexpected limitation of 20 picts per post; that user guide is split in several parts.
- 1- General
- 1.1 Settings Dialog
- 1.1.1 Location of Client Data
- 1.1.2 Location of Server Data
- 1.1.3 SData clean-up
- 1.1.4 3D View Options
- 1.1.5 Shell Integration
- 1.2 Searching Item
- 1.3 3D Viewer
- 2. Cash.sdata
- 3. Skills
- 4. Item.sdata
- 4.1 General
- 4.2 Gears
- 4.3 Weapons
- 4.4 Lapis
- 4.5 Mounts
- 4.6 Capes (mantles)
- 4.7 Accessories
- 4.8 Consumables / Goods
- 4.9 All Items
- 4.10 Grades
- 5. NpcQuest.sdata
- 5.1 Merchants
- 5.2 Gate-Keepers
- 5.3 Quests
- 5.4 Standard-NPCs
- 6. Monster.sdata
- 7. Models Files (MLX, MLT, ITM & MON)
- 7.1 Meta-models - MLX Files
- 7.2 Gear models - MLT Files
- 7.3 Weapon models - ITM Files
- 7.4 Monsters, Mounts & NPC models - MON Files
- 8. 3D Views
- 8.1 3DO, 3DC Files
- 8.2 DDS Files
- 8.3 SMOD Files
- 9. SVMAP Files
- 9.1 Ladders
- 9.2 Monsters Area
- 9.3 Monsters List
- 9.4 Named Areas
- 9.5 NPC
- 9.6 Portals
- 9.7 Spawn
- Bugs & Requests
- Release Notes
- Download It Now
: the tool allows edition of almost all client-side files, and a lot of operations rely on the availability of the full game resources to work properly.
You must use another tool to expand the content of your data.saf file to a working directory (wherever you want) and open files from that hierarchy. Some tools are present there to expand (and re-combine) these files.
Opening a file from an unexpected location (for instance a single file copied on the desktop) will result in incorrect display and possibly corruption of data (if you save clearly invalid data, such as missing icon or shape).
1.1 Settings Dialog
You perform initial setup of the tool 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.1.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.1.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.1.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.1.4 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.1.5 Shell Integration
All supported files can be dragged from the explorer to the application or can be opened with the standard dialog for file selection.
The 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.
The links (or alias, shortuts) are supported, you can so double-click or drop them on the tool to open a file.
1.2 Searching Item
A basic search engine 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.3 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
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\icon_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" is the page in which the product is listed (it could be "EXP & More", "Buffs", "Character & Fun" or "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 and a cash.sql script to perform whole update of the PS_GameDefs.dbo.ProductList table on server side.
The editor available in this release is (a bit) limited.
You can choose to see a limited number of fields or all skills details with the local popmenu opened with a right-click on list header.
You edit data from the list by a click'n'move over a field or by pressing the 'F2' key.
The editor saves the Skill.sdata encrypted and saves a SQL script in the server repository.
This editor lets you manage the Item/Item.SData file.
It saves the Item.Sdata file encrypted and an Item.sql SQL script to perform update of the PS_GameDefs.dbo.Items table on server side.
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).
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.
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 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.
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).
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.
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.
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;
This panel lets you organize the "drop-bags".
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.