Register for your free account! | Forgot your password?

You last visited: Today at 03:48

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

Advertisement



[Release] shStudio 0.7.5

Discussion on [Release] shStudio 0.7.5 within the Shaiya PServer Guides & Releases forum part of the Shaiya Private Server category.

Reply
 
Old   #1
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,360
[Release] shStudio 0.8.0

Shaiya Studio, a multi-purposes editor.

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

Contents
1- General

This tool allows the edition of most of client-side files, server files and databases.
Starting with version 0.7.5, it uses a multi-documents interface.

It is so able to manage and to give immediate access to all files of a client set as well as server's files and database tables.


For client-sided files, the tool lets you browse files from a files-hierarchy (a workspace) or from a Shaiya archive (a .saf / .sah couple). The following sub-chapters explain how to use both.

1.1 Working with workspaces

1.1.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 caption of the 'Client' node contains the pathname of the opened worspace (if any) and the files of the workspace are displayed under the node.


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.1.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.1.3 Open Workspace

To open a workspace, you use the Standard Browse Folder dialog (XP) or the Standard Get File dialog (Vista+) 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.1.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.1.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.


This feature is currently desactivated.

1.2 Working with Shaiya Archives

The tool is also able to manage client files from an archive (a .saf file) without previous expansion of all of them into a workspace.

When you choose to open an archive (item "Open Archive…" of the "File" menu), the Standard Open File dialog lets you select an existing .saf file. Upon selection, the associated indexes (.sah) are loaded and an exclusive access to the .saf file is obtained.


If these operations run without error, the content of the archive is displayed under the 'Client' node and the caption of this node contains the name of the opened .saf file.


1.3 Working with server files

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.4 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 drivers list contains all installed MsSQL drivers, the basic "SQL Server" driver installed by SQL Server Management Studio should work, the native clients are recommended.
The server is identified by its IP address or by its 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 *or* the name of a registered SQL account.
The password is mandatory for SQL login, it must be empty for "NT login" (the user must be already identified on the workgroup / domain).

Upon successful login, the tool retreives the list of tables of the 'PS_GameDefs' base.
If the connection fails, try to verify and validate all items with SQL Server Management Studio, be sure to select the same authentication method: "SQL Server" if you provide an user name and password or Windows Authentication otherwise (in such case SQL Studio uses your login ID and you must provide it in the "User's Name" field).


The connection to a SQL server is optional - and of course it should be used to connect to test servers only (connections on live servers shall use SSH, this connection is done in clear).

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 the tool is dedicated to the management of the game data, and not the management of the players.

1.5 Options

1.5.1 Folders


The knownledge of a server directory is required each time a server-side file or a SQL script must be generated and saved.
If you choose the "Connect a Shaiya Server" option explained above (Cf. § 1.3.6), the settings is explicit and the tool always connects the "Server" node to the designated directory.
On other hand, if you don't connect the server, you must use this panel to designate the directory to be used.

Both option designates the same directory, which is used for the same purpose. If you do not define the server repository, no server-side files will be saved.

1.5.2 SData Files


Some client sdata 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.

The panel also allows the selection of a prefered language used whenever a language file is mandatory to load a file. This doesn't happen with the files within the BinarySData folder - loading their data w/o any text is possible and valid - but it happens with the Npc/NpcQuest.sdata file; localised versions of this file used the same pathname than no localised files (instead of being stored in BinarySData).

1.5.3 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.5.4 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.
Shaiya is an old fashion program, most of files require a code page selector to display the right characters.


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.


Note that since Patch (around) 150, a few number of .txt files are encoded as Unicode (sysmsg-uni.txt for instance), these files no longer need a page selection. All other files, including the BinarySData/DBxxxText_XXX.sdata ones, still require a page selector.


1.6 Searching Item

The lists allow searching of items by a word (or part of the word) in their name.
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.7 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.

The editor saves the Cash.Sdata file ciphered and generates a SQL script ("ProductList.sql") to perform the update of the PS_GameDefs.dbo.ProductList table on server side.


The different tab control panels group the items by their category. You edit an item after a double-click on it.


Caption, description, icon, price & list of packaged items are editable. 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.

Upon validation of the dialog, and if a SQL connection is alive, the definition of the edited product in the PS_GameDefs.dbo.ProductList table is updated.

3. Skills

3.1 Monster Skills

Monsters skills are defined by the Monster/NpcSkill.sdata file on client side and the PSGameDefs.dbo.Skills table on server side (with records whose level is set to 100).

The editor reads the NpcSkill.sdata format "4.0" with 3 levels per skill, format "5.0" with 9 levels per skill and format "6.0" with 15 levels per skill. It saves the NpcSkill.sdata ciphered with format 4 or 5 and it saves a SQL script in the server repository to update the PS_GameDefs.dbo.Skills table.

The two lists contain the same skills, only the displayed columns change.


You edit a skill after double-click on it.


Upon validation, and if a SQL connection is alive, the NPC (Mob) skill is updated in the PS_GameDefs.dbo.Skills table.

3.2 Toons Skills

Toons skills are defined by the Character/Skill.sdata file on client side and the PSGameDefs.dbo.Skills table on server side.

The editor reads the Skill.sdata format "4.0" with 3 levels per skill, format "5.0" with 9 levels per skill and format "6.0" with 15 levels per skill. It saves the Skill.sdata ciphered with format 4 or 5 and it saves a SQL script in the server repository to update the PS_GameDefs.dbo.Skills table.

The first panel contains skills whose TypeShow parameter is not null. The TypeShow parameter defines the group in which the skill is displayed.


Skills edited from this first panel use several tailored dialogs that display only relevant fields.

For instance, for a skill type "1" (Weapon Power Up), the "Weapon Value" field (also noted "wval") is displayed.


The second panel contains skills whose TypeShow parameter is null.


These skills cannot be learned by toons; they are referenced by consumable items to create potions or item enhancing toon's attributs.
For instance the item 100-3 "Stamina Remedy" defines the item actually used by a toon. In turn the item refers to the Skill ID 201, level 1 to increase the SP by 600 for 3 hrs. All skills details (600 SP and 3 hrs) are defined by the skill; the item details (the displayed name and used icon) are defined by the item.


The third one contains all skills and displays them in raw format.


When edited from this list, all fields of the skill are displayed. This generates a quite wide dialog. If the screen is larger than 1600 px, the displayed dialog (1620 px wide) gives direct access to all fields.


If the screen is smaller than 1600, the displayed dialog (840 px wide) uses a scrollable panel.


Upon validation of these dialogs, and if a SQL connection is alive, the Character Skill is updated in the PS_GameDefs.dbo.Skills table.

3.3 Skills Description

The skills descriptions can be built dynamically. To enable the feature, a file named "skills.desc.ini" must be present in the application folder and that file must contain parametrized description of the skills.
Each description can contain one or several tags chosen in the following list:
Each tag is replaced with the value of the given parameter for the evaluated skill's level when the description is generated.

It is also possible to define variant description using a specific field as criteria. The syntax uses the | (char(124), U+007C) character and must comply with:
|criteria|value_1|statement for value_1|value_2|statement for value_2|*|default statement||

the criteria symbol must be one of the following 6-chars identifiers:
%slvl% the currently evaluated level of the skill
%attp% the attack type
%trtp% the target type
%abv1% the value of ability 1
%abv2% the value of ability 2
%abv3% the value of ability 3

value_n is a numerical (decimal, not fractional) value, if the value of the criteria matches this value, the associated statement is inserted.
the '*' character designates the default statement, ie the one used when no match was found with previous value / text pairs.
The default statement is optional, if it is not present and if no matches were found, no statement is inserted. If it is present if must be present at the end of the sequence.
The sequence ends with a double | character.

Here are some valid samples:

Template: Restores selected player's hp by %thhp%, over %kptm% seconds.

This template will insert the timeHealHP and the KeepTime values generating the following sescriptions:

level 1: Restores selected player's hp by 105, over 18 seconds.
level 2: Restores selected player's hp by 216, over 18 seconds.
level 3: Restores selected player's hp by 320, over 18 seconds.
level 4: Restores selected player's hp by 497, over 18 seconds.

Template: Immobilize |%trtp%|3|selected enemy|7|all enemies within a %aprg% meter radius||.

This template will use the targetType field (which is assumed to be 3 or 7) to generate the descriptions:

Immobilize selected enemy. (if the targetType is 3)
Immobilize all enemies within a 5 meter radius (if the targetType is 7, assuming applyRange is 5)

A release 0.7.5.3 of the application comes with a skills.desc.ini file containing the parametrized descrioption for all known skills.

4. Item.sdata

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

It saves the Item.Sdata file ciphered and creates 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 up to 150 "Banks" (100 for episo 4, 150 for apiso 6+). Each bank is identified by a specific "Type" value, values start with 1 and are incremented by one for each new bank.
Most of these banks are filled-in with 255 items, not used / assigned items exist but they usually contains zero values.

All panels (but the "All Items" one) display, as default choice, only valid items. For instance, the initial view of the light weapon panel contains (your list can be different):


You can toogle the visibility of not defined items with the contextual popup menu (displayed after right-click on tab-control) by simply choosing the "View All Items" option; you can now edit any item previously hidden.


For all further Item dialogs, the definition of the edited item is updated in the PS_GameDefs.dbo.Items table upon dialog validation, if a SQL connection is alive.

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.
The "# stats" defines the number of orange stats; the "Max" (DB: ReqWis) defines the maximal values of these orange stats expressed in hundreds of points (the value "3" means "300 pts max").
The "Ench Item" is the full type (Type * 1000 + TypeID) of the item used to enchant the gear. If this field is not null and if the description of the item doesn't include a "Enchantment", "Enhancement" or "Reinforcement" tag, it is added to the description with the full item's name.

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.

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.

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.

4.4 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-control.
Note that, as for other tabs, undefined items are listed in "Show All Items" mode only.


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.5 Lapis

The "Lapis" panel manages the lapis (type 30) and the lapisia (type 95) 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.

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).

Lapisia can also be edited with a tailored dialog.



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.


To edit a cape, double-click on it.


All fields are self-explanatory.

4.7 Mounts

The "Mounts" panel manages all, light & dark, mounts.


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.8 Consumables / Goods

This panel displays and allows the edition of all goods (Type 25, 38, 41, 43, 44, 78, 79, 80, 94, 100, 101, 102) and quest-items (Type 27, 28, 29, 99).


You edit an item after double-click on it.


Depending of the actual type of the edited item (basic 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. Also remember that a private ps_game.exe may manage only some "Effect" values.

4.9 All Items

The "All Items" tab gives access to all items of all banks, whatever their "defined" or "undefined" status. (Note that bank-types 26, 66, 75, 81, 90, 93 & 98 are usually not used and thus not present.)
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.


When you edit an item, the dialog dedicated to the item's type is used.

Note that when editing an undefined gear item, the models cannot be settled without a class information. The dialog shows:


Simply select a class, validate & re-open the dialog and you will be able to choose the model and the icon.



5. Monsters Definition

5.1 Classical Definition

The classical definition of mobs is done with the Monster/Monster.SData file at client side and the PS_GameDefs.dbo.Mobs table at server side. This editor manages these 2 sources to edit full monster details.


Previous versions of this tool was using a mandatory additional file (monsterEx.sdata) to gather the client and the server information. This release changes its strategy and retreives and updates, if required, server information during the edition. This mode requires a live connection with the SQL server and it makes the use of monsterEx.sdata optional.

Several cases may occur. First (bad) case, no connection to a SQL server exists. In this case, the part of the monster definition defined by the PS_GameDefs.dbo.Mobs table is of course not available (expect if the monsterEx.sdata file is available).


All fields defined by the PS_GameDefs.dbo.Mobs table are drawn in gray, they cannot be saved and thus should not be edited.

Alternate case, a live connection to a SQL server exists. In this case, the part of the monster definition defined by the PS_GameDefs.dbo.Mobs table is retreived from the server and the server-fields are drawn in green.


Note that the server information is comprehensible. The client information is so compared to the server values to detect mismatching values. If it happens the value is drawn in red and the local and server values are displayed. Such field shall be fixed prior to validate the dialog.

Upon validation, the editor updates the row of the dbo.Mobs table containing this mob definition. The 9 rows defining drops of the monster are also updated in the dbo.MobItems table.

The client part is not immediately saved; the file is marked as dirty and you will be prompted to save it if you close the list. It's up to you to know if the changes were related to server or client and thus to save the client file if required.

5.2 Localised Definition

The tool is also able to load monsters definition from the BinarySData\DBMonsterData.SData file. As of September 2014, the european and korean distributions of Shaiya use localised files.


The DBMonsterData.SData file is a dump of the server DB, it so contains all information but the text fields (the mob names).
The fields containing data saved only in SQL table are drawn in blue, the ones present in monster.sdata file are dark.


The names of mobs are loaded with the "Import captions from DBMonsterText_XXX.SData" script (menu-item "Tools" / "Scripts"). Such loading is mandatory to be able to generate the monster.sdata and monsterEx.sdata files from this source.

Note that Korean names are available since patch 151 of the Korean distribution; the european version includes several languages: French, German, Italian, Polish and Turkish. But the US version (272) is still not using these localisation files.
In order to generate a monster.sdata with english names from this source, you must first open an english monster.sdata (from an US distribution). Use the script "Generate DBMonsterText_XXX.SData" to extract names from it and save them as a language file. Then (re)load the DBMonsterData.SData file (from European or Koran distribution) and merge the previously saved english names. You can now generate an english monster.sdata.

5.3 Extended Definition

This release can also use the extended definition, as defined by the monsterEx.sdata file introduced with shStudio 0.7.0.1.
This file can be generated from a DBMonsterData.SData file, to do so open such file, then import a language file and finally generate the MonsterEx file.
The file can also be created from a Monster.sdata file if a live SQL connection is available; to do so, establish a connection with your SQL server, then open the monster.sdata file and finally choose the "Import Server definitions (create monsterEx.SData)" script (in Tools menu). The file is updated to merge server information. When the monster.sdata file is saved, the monsterEx.sdata file is created in the same directory.

The monsterEx.sdata is then loaded each time the monster.sdata file is selected and all monsters details can be updated.


The connection with the SQL server is not mandatory; if it is available each monster definition is updated upon dialog validation as explained above. In all cases, a SQL script is generated when the monster.sdata (and monsterEx.sdata) is saved; this file is generated in the server repository and lets you update the server side information.


6. NPC & Quests Definition

6.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 ciphered 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, sometime 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 their 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.

6.2 Standard-NPCs

This panel gives access to all Standard-NPCs; meaning all but gate-keepers and merchants.
Most of them do not participate to the game except for quests.


You can edit these NPCs to change their name, welcome message and icon/shape (the full 3D shape can be displayed in the collapsable right-panel).


6.3 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.

The client uses this information to display the cost of the transfer and the name of the map. The server uses the information to teleport the toon at the given coordinates.

6.4 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 (loaded from cyrrent workspace or archive) 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'. To reorder sold items, click one of them and use Ctrl+Up or Ctrl+Down key to move it upward or downward.

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.

6.5 Quests

The "Quests" tab lists all available quests.


The displayed columns are the main criteria that characterize a quest.
The type is explicit, it can be "Final", the quest consists in a simple validation, and usually the receipt of reward; or "PvE", the quest requires to fights monsters; or "Farm", the quest consists in farming items; or "PvP", the quest consists in killing a certain number of opponents.
The "Mode" parameter defines the way to obtain the quest (given by a NPC, obtained as a sequel of the validated quest, ...).
The Reward paramater controls how rewards are managed; if "Default (reward)" is activated, the Reward param is zero and the quest provides a single reward. If "Default" is not activated, the "Reward" parameter defines if the reward must be chosen from a list of fixed rewards, or if the received reward depends on the farm or PvE results, in such case, no list of rewards is listed and no user-choices apply.

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

This dialog also uses variable layout. If the screen height is smaller than 1024, the dialog is 740 px height and it displays message and rewards details for 3 possible rewards. (episo 5 manages up to 3 rewards).
If the screen height is larger than 1024 but less than 1200, the dialog is 900 px height and it displays the 6 rewards of episo 6+.
Finally, if screen's height is larger than 1200, the dialog is 1040 px height, it contains the same fields but input text fields are bigger.



Quests with a list of rewards from which the player chooses one item

These quests will define several rewards on several rows (up to 3 for a client 5) at bottom of dialog.
The combobox selector must match the number of listed rewards (so 2 or 3).

A client 6+ displays these possible rewards as a list of icons; the completion message of the quest doesn't need to contain any reference to the listed items.
OOH, with a client 5, you must insert some <> tags at the end of the completion message to describe each reward; the old "Kei's Armor" quest uses:

"Here, this is a reward for your accomplishment. I'll give you another mission later."
"Thank you. <Reward for Fighter, Defender><Reward for Priest>"

Quests with variable rewards

A quest can also give a reward that depends on the number of killed monsters or farmed items. These quests must check the "Mob Counter" or "Item Counter" control and indicates the threshold for this reward (thresholds should grow up).
The "Stolen Wooden Dolls" (quest 184) demonstrates that:



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.

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 an alpha flag determining if the alpha channel is used to define visibility (as a mask) or to define glow. The version column of the list indicates the version of the .3DC file.

You edit a model after double-click on it.


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.


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

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 spatial information.
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.


7.4 Monsters, Mounts & NPC models - MON Files

The .mon files contain the visual definition of monsters, mounts and NPC.
The Monster/monster.MON file contains 3D definition of monsters.
The Npc/npc.MON file contains 3D definition of NPCs.
The Strip/Strip_X_NN.MON files contain 3D definition for the NPC used in gambling house.
The Vehicle/Vehicle_XX_01.MON files contain 3D definition for mounts.

Note that old client game used .tol files for the same purpose, these files are obsolete and not used by client 4.5+.
Clients version 5 use the format "MO2", latest 6+ clients use a "MO4" new format; the tool is able to manage all these formats.


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.


When creating, or editing a 3D layout, select a line and hit "Del" to remove a DDS-3DC line and click "Add Files" to pick-up files and add them to the layout definition.


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 objects.

8.1 3DC, 3DE & 3DO Files

This viewer displays a wire-view or a textured view of the .3DC, .3DE & .3DO files.

The .3DE files are located under Effect\3DE\, they are used to draw visual effects.
The .3DC files can be found under Character\<class>\3DE\ for 3D definittion of gears; under Monster\3DC\ for monster layouts; under Npc\3DC\ and Strip\3DC\ for NPCs layouts; and under Vehicle\3DC\ for mounts layouts.
The .3DO files are located under Item\3DO\ and they are used to draw weapons.

Textures are assumed to have the same filename (with DDS extension) than the opened file and they are looked for in the "DDS" subfolder of the parent folder of the opened file (e.g. in "Character\Human\DDS\" if a .3DC file is opened from the "Character\Human\3DC\" folder). (Note that this assumption is usually false for effects)
If the name is different, simply change it in the text-edit control and uncheck / recheck the check-box to load the given texture file.


The viewer includes a list of facets present in the 3D object; a facet is a set of 3 points in space which form a triangle.
You can hide some facets to hide some details of the object.


The editor always save files using the episo 5 formats. It can so be used to convert new gear or costumes to the former format.

8.2 SMOD Files

This viewer displays the .SMOD files used to describe buildings or large shapes present in landscape. These files are located in subfolders of "Entity\" and a few of parts in the "World\dungeon\" folder.


Schematically, a .smod structure is a set of several 3D items where the texture is linked to the vertices definition (as opposed to for instance gears where the same .3DC file can be used with several textures to create several appearances).

8.3 Dongeon (DG) Files

This viewer displays the .DG files used to define the layout of dungeon (not field) maps.
These files are located in "World\dungeon\" folder.

Some of the field-maps also use .dg to describe buildings or large shapes present in landscape.


Schematically, a .dg structure is a set of smod items.

The tree-list at right allows to browse the whole structure; when a module is selected, it is hidden in the 3D view. This allows to quickly find out which elements of a scene which use a particular texture; or by iterating the modules, you can identify a particular module to know which texture it is using and then replace it

9. SVMAP Files

These server-side files are used to define the location of monsters, NPC, portals on the map.

9.1 General

Opening a .svmap file displays the following editor:


The "map images" displayed at left are read from the "Interface\MiniMap\" folder; a workspace or an archive must be opened to obtain these images.

If a "minimap_NN.tga" image is available for the edited svmap (and if screen height is larger than 800 px), it is used and displayed at 75% of its size, the viewer is 1256 x 866 px.


If only the NN.tga map is available, or if the screen height is 800 px or less, the former 512x512 map is used.
Note that when both 1024x1024 mininmap and 512x512 image are available, you can force the use of the small image by pressing the Ctrl key while double-clicking the .svmap file in the main tree-list.

Also note that edition of .svmap is still possible w/o client set but no pict will be displayed at left.

On the right side, a tab control gives access to several section, each of them is dedicated to specific items.

The "General" panel summarizes the number of each items recorded in the .svmap and lets resize the map.

Sizing map 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.

9.2 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.3 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.4 Monsters List

This view uses the same information than Monsters Areas but displays them differently.
It is available only if a workspace or an archive is opend (so that the monster.sdata can be loaded & used).


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.

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

9.5 Named Areas

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


The displayed name of area is defined in the .wld file. When the first extra parameter is 2, the .wld record contains the name of a file loaded from the "Interface\WorldName\" folder. When it is equal to 0, the record contains the displayed string.

9.6 NPC

This view manages the location of NPC.

Actual NPC are defined with the NpcQuest.sdata file, this section only defines their positions on the map.

If a workspace or archive is opened, the NpcQuest.sdata is loaded and NPCs can be edited from this list. It can be 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.

9.7 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.8 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.

9.9 Safe Areas

This views manages the safe areas defined by the world/TacticsZone.zon.


This file exists at client side only, its interest is so limited. It can apparantly allow or forbid PvE and PvP (for Jungle for instance), for other maps (eg 65) its purpose is less obvious.


10. WLD Files

The .wld files define the layout of maps. They rely on a lot of other files, including textures and 3D items located in "Entity\" folder, and also effects ("Effect\" folder), sounds ("Sound\" folder), additional textures from "Terrain\" and "Sky\".

There are two types of WLD file, landscape (or field) and dungeon.

10.1 Field Maps


The top element of the layout of a field map is a map-height. A .wtr (water) file lists the texture used to draw the sea.


10.2 Dunjeons

The main element of the layout of a dungeon, is (w/o surprise) a .DG file.


The .DG file can be browsed and edited with the tailored editor described above.


10.3 Common Part

10.3.1 3D Shapes

The "Building", "Shape", "Tree", "Grass" and "Object" nodes of the tree-list contain references to .smod files coming from child directories of "Entity\" with matching names.

For each smod referenced by the .wld file, the locations where the shape is inserted are listed.

To remove a shape, delete all its location nodes and then remove it with "Del" key; to add a new shape, select the category node, hit "Ins" and select a file from the pre-selected directory.

To remove a location, select it and hit "Del"; to add a location (insert a new instance / copy of the shape in the field), select the shape and hit "Ins"; to edit an existing location, double-click it.

The same edition rules also apply for the next sections.


10.3.2 ?ANI things

These nodes list files from directories "Entity\Mani\" and "Entity\Vani\"; the 2 Vani nodes list files coming from the same folder, the differences / purpose of these 2 containers is unknown.


10.3.3 Effects

This section defines visual effects. The effects themselves are defined by the referenced .EFT file. These files contains an indexed list of effects (defined by vertices and textures). The list of effects locations defines, for each row, the location of the effect, a rotation vector, some unknown (possibly unused data) and the index of the effect in the .EFT file.


10.3.4 Portals

Portals are defined in this section. They must also be defined in the .SVMAP file, in the same order and with same (very similar) coordinates.

Two text fields exist for each record. These strings are never localised (all checked files contain korean sentences) and are not displayed by the client.


10.3.5 Spawn Areas

As for portals, the definition of spawn points must be done in .WLD and .SVMAP, the definitions must match.


10.3.5 Named Areas

Named areas are defined by 2 opposite 3D points and a mode. If the mode is 0, the label 1 contains the displayed string; if mode is 2, the label 1 contains the filename of an image (read from 'Interface\WorldName\").


10.3.6 NPCs

NPCs records contain the type and typeID of the NPC (which is actually defined with this information in Npc\NpcQuest.sdata file), its location and orientation (an angle between 0 and 2Pi).

Additional positions are optional, if they exist, the NPC moves in loop across these points. Do *not* use it for questors, merchants, etc; Shaiya's NPC are more stupid than Aion ones, they continue to move even if you talk with them.


10.3.7 Music Areas

There are two sets of records.

The first "Sounds" refers to .wav located in "Sound\Music\" folder. Each record defines an area with 2 opposite 3D points.

The first "Musics" refers to .wav located in "Sound\Bak\" folder. Each record defines a spot with a central point and a radius.



11. Miscelaneous Files

The tool is able to open & display, optionally edit & save, the following file types:
- text files: the extensions .cfg, .ini, .sql, .txt and .xml are handled by a text editor that supports ANSI, user specified code page & Unicode encoding.
- image files:
* DDS files are supported in formats DXT1, DXT3, DXT4 & DXT5,
* TGA files are supported in flat or RLE compressed format,
* BMP, GIF, JPG & PNG extensions are supported using the GDI+ library.
- sound files: the extensions .wav & .mp3 are supported, the tool requests actual handling to the application that registered these extensions (your "default player").

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.

Release Notes

v. 0.6.1, March 12, 2011
Initial Release of shStudio on ePvP

v. 0.7.1, June 20, 2011
Last release of the SDI version of the tool, refers to for further information.

v. 0.7.5 (beta), September 21, 2014
First release of shStudio 7.5

v. 0.7.5.1, October 9th, 2014
Bug Fixes:
- WLD editor:
+ the 'Del' key allows deletion of location records,
+ the "Save" menu item is present and usable,
+ the "Save As" menu item no longer crashes.
+ the .dg, .smod & .wav files can be replaced by another ones (right-click on the file to replace)
- the list of items sold by a merchant, as well as the list of available items, displays captions with right code page.
- the "Save As" menu item allows, for files that exist in different formats related to the version of the client, to choose that format.
- monster.sdata, contextual popup menu lets toggle between all or valid mobs.
- dark gears no longer display light models.
- SQL scripts make correct use of signed values.
Adds:
- svmap editor includes a "Safe Areas" panel that manages content of the world/TacticsZone.zon file.
- the monsterEx.sdata is again supported.


v. 0.7.5.2, October 18th, 2014
Bug Fixes:
- WLD editor:
* fix loading of worlds 1, 23, 33, 37 and 107 (as per AGE defs)
* fix deletion of .SMOD or .WAV files
* fix insertion of Zone or Spot (in music sections)
* fix insertion of a SMOD coordinates
- ITM editor: the saving was impossible
- Monster.sdata: the generated SQL script uses implicit schema selection
Changes:
- Map-Height viewer
- the application runs on XP systems.

v. 0.7.5.3, November 21th, 2014
Bug Fixes:
- NpcQuest.sdata Editor: fixes related to insertion / removal of new NPCs & to creation of new NPC.
- ITM, MLT: fixes creation & edition when file is read from archive
- Correction on several skill editors.
Changes:
- the "Save As" item of the "File" menu is removed.
o the format of the file is now chosen with the menu-item "Tools" / "Format" / one of available formats (for files supporting several formats).
o a copy of a given file can be obtained by a drag-n-drop of that file from the workspace window (the main tree-list) to an explorer window or the desktop.
Adds:
- Grades list in Items.sdata editor
- Insertion of files within an archive: drag the files from an explorer window, hold down Ctrl + Shift keys and select (highlight) the recipient directory in the workspace tree-list.
- Insertion of files within a World: drag a file (.smod or .wav) from the workspace tree-list to a World editor (the right recipient node is auto-highligthed).
(drag-n-drop is initied by right-click on item, or left-click on item's icon)
- Parametrized description of toon skills. (see § 3.3 above)

v. 0.7.5.4, December 8th, 2014
Bug Fixes:
- Creation of Workspace (expansion of archive): the feature was broken in 0.7.5.3
- Some codepages were not correctly handled, including Central Europe (CP1250) and Vietnamese (CP1258); Koren Johab (1361) is added.
- The Safe Zone editor (attached to the world\TacticsZone.zon file) didn't include the map field, it's now editable.
- Skill.sdata: the displayed names of skills weren't updated upon edition.
- Monster.sdata: the drops list wasn't saved in the monsterEx.sdata file.
Changes:
- 3DX editor: the list of facets supports multi-selection and manages the state of all selected pts (to hide/show them in batch).
- Skill.sdata: the parametrized descriptions (if they exist) are saved in skills.desc.ini upon dialog validation.
- the .3DC files were always saved with episo 4/5 format; the format is now the one chosen with the Tools / Format items.
- .MLX files can be opened (by drag-n-drop of a .mlx file in the main window) when no workspace or archive is opened; it looks for .mlt files in the folder that contains the opened .mlx file.
- .3DC/.3DO editor can now be opened (drag-n-drop of files) also when no workspace / archive is opened.
Adds:
- Editors for .CTL, .DAT & .PC files (cape/mantle list of textures and definitions)


v. 0.7.5.5, December 9th, 2014
Bug Fixes:
- bugs of Item.sdata & NpcQuest.sdata editors that prevent use of Find/Save/Close commands.
the release 0.7.5.4 is removed, the 0.7.5.5 must be used.

v. 0.7.6.0, Not released
Cumulative Bug Fixes, released as 0.7.5.6 up to 0.7.5.8:
- the classes associated with quests were not editable, they are now functional.
- some skills columns were swapped, they are now saved finely.
- the unused skills are no longer named "rfu" (this feature had generated some issues)
- the "USA" BD-language files are supported,
- the handling of DBSkillText_???.sdata has been fixed (FRA & ITA were handled, GER, POL, TUR were rejected, USA is also supported).
- the drop-down combobox with icons of items was not present when the Items,sdata file is opened from an archive; it's fixed
Changes:
- the "edit-in-column" feature is restored, move the mouse over a text or numerical column (not an interpreted one like "Faction" that displays "computed statements") and hit "F2" to start edition; Enter key validates the changes and select the value of the same column in next row; press Esc to stop edition.
- the lists gears & weapons of Items.sdata now display small icons in first columns.
Additional Bug Fixes:
- the header of ciphered sdata files is not saved as expected.
- the .PC editor / viewer displayed negative value as "DeN" (denormal).

v. 0.8.0.1, February 25th, 2018
Cumulative bug fixes, Support of DBxxx.sdata files.

v. 0.8.0.2, June 1st, 2019
Bug Fix:
- MLX files were not processed (they appear to be empty) after a not-empty one was loaded.
- Radio buttons of lapis/lapisia editors were not processed as expected.
- Some weapons usable by both factions were not listed under Dark Weapons tab.
- The country field of capes usable by Archer/Ranger or Assassin/Hunter were altered.
- Right names of classes are displayed when editing a "dark cape".
- The XP & Gold rewards of quests were corrupted when greater than 32767.
- The type of NPC of the "received by" field of quest was incorrect (was settled to type of "given by").
* The "tradeable" combobox of items was saved to an invalid value.
Changes:
- Failures during update of skills.sdata by import from database display a msg in the window's status bar. Msgs are improved and an alert dialog is now displayed.

v.0.8.0.3, June 6th, 2019
Add:
○ Settings / Fonts:
* the value of the codepage used to encode text can be typed-in (freely defined), the combobox with preselected value is still present.
* the value of the system ACP is displayed.
○ BinarySData / DBxxxText_???.sdata
* These files can be opened in tailored viewer (it was only possible to import them); the decoding of the file uses the codepage designated in Settings / Fonts; the strings displayed by the list are coded in Unicode (obviously) and when copied they are inserted in Unicode (only) in the clipboard; however Windows converts the text to several other flavors (formats), be sure to use a Unicode-able application to paste (extract) the strings.
Changes:
○ Items.sdata
When a cape is usable by Human & Elfs or a mantle is usable by Deatheater and Vails, its view cannot be rendered (since each family has its own .pc file); a textedit ctrl is used instead of the combobox in these cases.
○ NpcQuest.sdata / Merchants
* Accessory Merchants now sell only accessory / jewelry.
* Generic Merchants now sell items of type 25, 44, 78, 79, 80, 100, 101, 102, 103 as well as quest items 27, 28, 29 and 99.
* The Drag-n-drop of items from "Available Items" list to "Sold Items" list is bugged (not dpi-aware), a button ("<<") has been added to insert (move) selected items; as a recall, items in "Sold Items" list can be ordered by selecting and Ctrl-Typing-in the keys Up and Down.

v.0.9.0.x, 2020

The bug fixes and enhancements resulting of your feedbacks are posted as beta-release with responses to your questions/remarks.
So please check the last posts of the thread to gain access to the last released version.


Attached Files
File Type: zip shStudio 0.7.5.1.zip (777.5 KB, 3399 views)
File Type: zip shStudio 0.7.5.5.zip (807.7 KB, 8505 views)
File Type: zip shStudio 0.8.0.zip (825.2 KB, 2707 views)
File Type: zip shStudio 0.8.0.2.zip (791.1 KB, 1219 views)
File Type: zip shStudio2 v0803.zip (789.5 KB, 4229 views)
castor4878 is offline  
Thanks
263 Users
Old 09/21/2014, 23:57   #2
 
elite*gold: 260
Join Date: Sep 2011
Posts: 487
Received Thanks: 359
wow Castor thanks a lot for this!
Finally we can open OS Data files
You are awesome!!
SnickQ is offline  
Old 09/22/2014, 01:24   #3
 
Twilight360's Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 518
Received Thanks: 805
Might i just say, you have topped the development progression as far as i seen, i very much appreciate it mate.
Twilight360 is offline  
Thanks
3 Users
Old 09/22/2014, 02:47   #4
 
elite*gold: 0
Join Date: Jul 2010
Posts: 512
Received Thanks: 514
History in the making.
sominus is offline  
Thanks
3 Users
Old 09/22/2014, 05:19   #5
 
elite*gold: 0
Join Date: Jun 2009
Posts: 2
Received Thanks: 2
Excellent!!!!
plim11 is offline  
Thanks
2 Users
Old 09/22/2014, 09:01   #6
 
Bondax's Avatar
 
elite*gold: 0
Join Date: Aug 2014
Posts: 10
Received Thanks: 8
Thats it !! Epic release.
Bondax is offline  
Thanks
2 Users
Old 09/22/2014, 11:33   #7
 
elite*gold: 0
Join Date: Oct 2013
Posts: 31
Received Thanks: 4
You Best)but you can do that would read Russian language?
[UA]Upgrade is offline  
Thanks
2 Users
Old 09/22/2014, 12:38   #8
 
castor4878's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 717
Received Thanks: 3,360
As already explained in paragraph 1.5.4, you MUST select the right code page (language selector).


And (as already indicated) this setting allows to displays any (listed) language.


Edit: the names of items sold by a NPC-Merchant and the names in the list of available items are *not* displayed correctly (in dialog used to edit Merchant when NpcQuest.sdata file is opened). this will be fixed in further bug fixes release.
castor4878 is offline  
Thanks
14 Users
Old 09/22/2014, 12:50   #9
 
[GM]Nvia's Avatar
 
elite*gold: 0
Join Date: Dec 2012
Posts: 156
Received Thanks: 592
Castor4878, Perfect Work ! Thanks to Share.

-Good Day.
[GM]Nvia is offline  
Thanks
1 User
Old 09/22/2014, 13:01   #10
 
vodanh_style's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 81
Received Thanks: 48
Thank you for this tool !
vodanh_style is offline  
Thanks
2 Users
Old 09/22/2014, 14:44   #11
 
elite*gold: 50
Join Date: Sep 2011
Posts: 408
Received Thanks: 1,262
Castor.. As always..
JuuF is offline  
Thanks
3 Users
Old 09/22/2014, 17:19   #12
 
elite*gold: 0
Join Date: Oct 2013
Posts: 31
Received Thanks: 4
Quote:
Originally Posted by castor4878 View Post
As already explained in paragraph 1.5.4, you MUST select the right code page (language selector).


And (as already indicated) this setting allows to displays any (listed) language.


Edit: the names of items sold by a NPC-Merchant and the names in the list of available items are *not* displayed correctly (in dialog used to edit Merchant when NpcQuest.sdata file is opened). this will be fixed in further bug fixes release.

Thanks for help)
True name does not display properly, and description of the selected items
[UA]Upgrade is offline  
Thanks
1 User
Old 09/22/2014, 17:45   #13
 
elite*gold: 0
Join Date: May 2010
Posts: 342
Received Thanks: 87
Ahhhhhhhhhhh i am in late but not so much !

Big Thanks Castor !!!

and as Told juuf " As always... " awesome no ?

regards !
_Diavolino_ is offline  
Thanks
2 Users
Old 09/22/2014, 18:46   #14
 
elite*gold: 0
Join Date: Oct 2012
Posts: 22
Received Thanks: 4
This is the best tool ever made for Shaiya.
numang is offline  
Thanks
1 User
Old 09/22/2014, 19:05   #15
 
elite*gold: 0
Join Date: May 2010
Posts: 342
Received Thanks: 87
suggestion :

in previous version was the same.

In item.sdata there is many way to incremented item.

light : 16 17 18 20 21 / 66 67 68 70 71 / 72 73 74 76 77
Dark : 31 32 33 35 36 / 81 82 83 85 86 / 87 88 89 91 92

Only the first set 16 -> 21 fully readable set 67 -> 71 Same i incremented the 66 lines not existing and its working in game, the last set not readable...

as its beta version i would suggest that option that could evit to edit the itemsdata in python to make the stat manually and return in tool.

in more, to add directly these possibilities in program.
read "ofset" 16 / 21 * 66 / 71 * 87 / 92
these are for Gear... for weapon other ofset are available but i dont see yet if its readable too

hope i was clear if not ask me more precision

Thank You
_Diavolino_ is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[Release] shStudio (multi-purposes editor)
02/05/2021 - Shaiya PServer Guides & Releases - 755 Replies
Introducing Shaiya Studio, a multi-purposes editor. Its purpose is to enable fast editing of clients and servers configuration files. Update of May 4th, 2013: This post was modified by November 2011 to present some features of the incoming - and still not released - version 0.7.5 The modifications of the interface of the new version (mainly the "multiple documents interface" and the concepts of workspace but also the possibility to browse & edit files from an unexpanded archive fle...
[Release / Update] shStudio
03/18/2011 - Shaiya PServer Guides & Releases - 1 Replies
shStudio rel. 0.6.2 released This post is only intended to inform you of the update of the tool (since "Edit" doesn't change its date), thank you for letting this thread die and ask your questions on the main thread.



All times are GMT +2. The time now is 03:51.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.