Site Tools


Interface Management

This page aims to centralize all the information concerning the creation of the game interfaces.

The instructions for creating the interface xml files are described on the dedicated page:configuration_interface_client.

As what is provided as a concept, underlying the game interface.. is explained on the detailed page:interface_khanat_client.

Notes to be filed:

Calls from client_default.cfg

The interface files are called from what is in the INTERFACES part of the fileclient_default.cfg

In the code, these calls are managed by two files:

  • init.cpp contient l'appel vers XMLInputFile.
  • interface_manager.cpp contains calls to XMLLoginInterfaceFiles and XMLOutGameInterfaceFiles, and towards the images TexturesInterface, TexturesLoginInterface and TexturesOutGameInterface.


The currently called file input_config_v3.xml is unchanged at this time(relative to RC).


These are the files that manage the login window where you identify yourself.

The files currently called are:



The general interface texture is: interface_game_khaganat.

It is manufactured according to a precise procedure, and is accompanied by a .txt file of the same name.See: Creating the interface file(To be put on a separate page with detailed procedure).


The texture for the interface of the connection window is: interface_login_khaganat. It is manufactured as: the above interface texture.


The texture for the interface of the Outgame window, ie the creation and selection of the character, is: interface_outgame_khaganat. It is manufactured as: the above interface texture.

The database

The file: database.xml lists the architecture of the database that is queried by the interface xml files to obtain the server's game data(apparently).

See the importance of this database.xml file with the Database_plr.

There is a file local_database.xml (Not in gamedev, it is an error of placement). Which contains the database to query with LOCAL:.

Always indicate a starting location when querying a database:

  • The server at the base with the entry SERVER: at the start of the request.
  • LOCAL: when addressing the local database.
  • Quid calls that start with UI:?

Party to be confirmed/deepened

The architecture of the database given in these files is simple: branches “branch”, to leaves “leaf”.. which indicate a data to return.

For example:

  <branch name="PACK_ANIMAL"
    <!-- beasts -->
    <branch name="BEAST"
      <!-- Atomic, for correct Bar Management on client -->
            type="I7" />
      <leaf name="BULK_MAX"
            type="I32" />

To have the BULK_MAX parameter of our pack animals, we could create variables in the interface xml file and assign them the values with the instructions:

<define id="pa1_bulk"
<define id="pa2_bulk"
<define id="pa3_bulk"
<define id="pa4_bulk"

It is then sufficient to use these variables pa1_bulk, pa2_bulk, pa3_bulk and pa5_bulk in our VIEWS and others CONTROLS.

Most of the variables called in the interface windows are created in config.xml which is provided in the data of the client.

Analysis of the existent

List of tree nodes

The tree nodes let you know which windows (non-modal) are provided by the system, this makes it easier to study the starting interface.

<Hidden tree node current>

File and line tree node
info_player.xml:1687<tree node=“info_player_skills” />
info_player.xml:2606<tree node=“fame” />
info_player.xml:3544<tree node=“info_player_journal” />
info_player.xml:3885<tree node=“npc_web_browser” />
haircut.xml:226<tree node=“cosmetics”>
r2ed_acts.xml:694<tree node=“r2ed_acts”>
r2ed.xml:347<tree node=“r2ed_bbox_edit”>
r2ed.xml:447<tree node=“r2ed_toolbar”>
r2ed.xml:475<tree node=“r2ed_windows_dm_bar”>
r2ed.xml:542<tree node=“r2ed_toolbar_window”>
r2ed.xml:630<tree node=“r2ed_windows_bar”>
r2ed.xml:639<tree node=“r2ed_tool_context_help”>
r2ed.xml:648<tree node=“r2ed_max_visible_entity_count_exceeded”>
r2ed.xml:663<tree node=“r2ed_main_bl”>
r2ed.xml:679<tree node=“r2ed_animation_loading”>
r2ed.xml:696<tree node=“r2ed_animation_waiting”>
r2ed.xml:716<tree node=“r2ed_contextual_toolbar”>
r2ed.xml:740<tree node=“r2ed_windowbar”>
r2ed.xml:788<tree node=“r2ed_testbar”>
r2ed.xml:824<tree node=“dm_controlled_entities”>
r2ed.xml:849<tree node=“r2ed_current_session”>
r2ed.xml:865<tree node=“r2ed_uploading_bar”>
r2ed.xml:884<tree node=“r2ed_toolbar_admin”>
r2ed.xml:1379<tree node=“r2ed_table_test”>
r2ed.xml:1413<tree node=“r2ed_editbox_test”>
r2ed.xml:1462<tree node=“lua_inspector”>
r2ed.xml:1686<tree node=“r2ed_palette”>
r2ed.xml:1691<tree node=“r2ed_connect”>
r2ed.xml:1694<tree node=“r2ed_property_sheet_no_selection”>
r2ed.xml:1697<tree node=“r2ed_property_sheet_no_properties”>
r2ed.xml:2517<tree node=“r2ed_npc”>
r2ed.xml:2867<!– <tree node=“r2ed_web_admin”>
r2ed.xml:2921<tree node=“r2ed_select_bar”>
r2ed.xml:2960<tree node=“r2ed_mini_toolbar”>
r2ed.xml:2984<tree node=“r2ed_main_menu_button”>
r2ed.xml:3009<tree node=“r2ed_contextual_toolbar_new”>
r2ed.xml:3082<tree node=“feature_help”>
r2_triggers.xml:413<tree node=“r2ed_activities”>
r2_triggers.xml:436<tree node=“r2ed_edit_activity_sequence”>
r2_triggers.xml:593<tree node=“r2ed_dialogs”>
r2_triggers.xml:616<tree node=“r2ed_edit_chat_sequence”>
r2_triggers.xml:773<tree node=“r2ed_mini_activity_view”>
encyclopedia.xml:268<tree node=“encyclopedia”>
r2_logic_entities.xml:293<tree node=“r2ed_logic_entities”>
r2_logic_entities.xml:330<tree node=“r2ed_events”>
interface_notes.txt:75<tree node=“trap”/>
outgame_hierarchy.xml:9<tree node=“connecting”/>
outgame_hierarchy.xml:11<tree node=“global_background”/>
outgame_hierarchy.xml:12<tree node=“logo_intro”/>
outgame_hierarchy.xml:14<tree node=“character_selection”/>
outgame_hierarchy.xml:15<tree node=“specie”/>
outgame_hierarchy.xml:16<tree node=“career”/>
outgame_hierarchy.xml:17<tree node=“appear”/>
outgame_hierarchy.xml:18<tree node=“summary”/>
outgame_hierarchy.xml:19<tree node=“location”/>
outgame_hierarchy.xml:21<tree node=“crashing”/>
map.xml:444<tree node=“enter_landmark_name”>
map.xml:446<tree node=“map”>
map.xml:448<tree node=“respawn_map”>
hierarchy.xml:9<tree node=“gestion_windows”/>
hierarchy.xml:14<tree node=“player”/>
hierarchy.xml:16<tree node=“inventory”/>
hierarchy.xml:17<tree node=“temp_inventory”/>
hierarchy.xml:18<tree node=“gestionsets”/> <!– hands –>
hierarchy.xml:19<tree node=“gestionsets2”/> <!– hands 2–>
hierarchy.xml:20<tree node=“team_share”/>
hierarchy.xml:21<tree node=“defense” />
hierarchy.xml:24<tree node=“inv_equip” />
hierarchy.xml:25<tree node=“inv_bag” />
hierarchy.xml:26<tree node=“inv_guild” />
hierarchy.xml:27<tree node=“inv_room” />
hierarchy.xml:31<tree node=“animal_global”>
hierarchy.xml:34<tree node=“userpa1”/>
hierarchy.xml:35<tree node=“userpa2”/>
hierarchy.xml:36<tree node=“userpa3”/>
hierarchy.xml:37<tree node=“userpa4”/>
hierarchy.xml:44<!–<tree node=“commerce”>
hierarchy.xml:45<tree node=“DesertExoticRawMaterialKnowledge” />
hierarchy.xml:46<tree node=“ForestExoticRawMaterialKnowledge” />
hierarchy.xml:47<tree node=“JungleExoticRawMaterialKnowledge” />
hierarchy.xml:48<tree node=“LakeExoticRawMaterialKnowledge” />
hierarchy.xml:51<tree node=“faber_create”>
hierarchy.xml:52<tree node=“faber_plan_selection” />
hierarchy.xml:54<tree node=“faber_repair”>
hierarchy.xml:56<tree node=“faber_refine”>
hierarchy.xml:60<tree node=“tracking”/>
hierarchy.xml:63<tree node=“compass” />
hierarchy.xml:68<!– <tree node=“magic_composition”/> –>
hierarchy.xml:73<tree node=“target”/>
hierarchy.xml:81<tree node=“contact_list”>
hierarchy.xml:86<!–<tree node=“emote”>
hierarchy.xml:87<tree node=“all_emotes” />
hierarchy.xml:92<tree node=“guild_forum”/>
hierarchy.xml:94<tree node=“mailbox”/>
hierarchy.xml:96<tree node=“webig”/>
hierarchy.xml:98<tree node=“info_player_journal”/>
hierarchy.xml:101<!– <tree node=“info_player_characs” /> –>
hierarchy.xml:102<tree node=“info_player_skills”/>
hierarchy.xml:105<tree node=“fame”/>
hierarchy.xml:109<tree node=“game_config”/>
hierarchy.xml:110<tree node=“connection”/>
hierarchy.xml:112<tree node=“keys” >
hierarchy.xml:113<tree node=“keys_player”/>
hierarchy.xml:114<tree node=“keys_movement”/>
hierarchy.xml:115<tree node=“keys_actions”/>
hierarchy.xml:116<tree node=“keys_chat”/>
hierarchy.xml:117<tree node=“keys_view”/>
hierarchy.xml:118<tree node=“keys_windows”/>
hierarchy.xml:119<tree node=“keys_system”/>
hierarchy.xml:120<tree node=“keys_edit”/>
hierarchy.xml:121<tree node=“keys_debug”/>
hierarchy.xml:125<tree node=“macros” />
hierarchy.xml:126<tree node=“new_macro” />
bg_downloader.xml:72<tree node=“bg_downloader”/>
player.xml:384<tree node=“current_action” />
player.xml:629<tree node=“player” />
player.xml:928<tree node=“bonus_malus” />
player.xml:1352<tree node=“animal_dead_popup” />
player.xml:1431<tree node=“#id” />
player.xml:1459<tree node=“animal_global”>
player.xml:1461<tree node=“userpa1” />
player.xml:1462<tree node=“userpa2” />
player.xml:1463<tree node=“userpa3” />
player.xml:1464<tree node=“userpa4” />
ring_window.xml:81<tree node=“r2ed_ring_window”>
ring_window.xml:454<tree node=“ring_sessions”/>
ring_window.xml:617<tree node=“ring_chars_tracking”/>
ring_window.xml:1096<tree node=“r2ed_scenario_control”>
ring_window.xml:1555<tree node=“ring_scenario_loading_window” >
ring_window.xml:1690<tree node=“r2ed_scenario_scores”>
player_trade.xml:372<tree node=“player_trade”>
player_trade.xml:375<tree node=“accept_trade_invitation”>
phrase.xml:827<tree node=“phrase_book”/>
phrase.xml:828<tree node=“phrase_composition”/>
phrase.xml:829<tree node=“phrase_faber_execution”/>
phrase.xml:830<tree node=“links”/>
out_v2_hierarchy.xml:9<tree node=“connecting”/>
out_v2_hierarchy.xml:12<tree node=“global_background”/>
out_v2_hierarchy.xml:13<tree node=“specie”/>
out_v2_hierarchy.xml:14<tree node=“career”/>
out_v2_hierarchy.xml:15<tree node=“summary”/>
out_v2_hierarchy.xml:17<tree node=“logo_intro”/>
out_v2_hierarchy.xml:21<tree node=“charsel”/>
out_v2_hierarchy.xml:23<tree node=“appear”/>
out_v2_hierarchy.xml:24<tree node=“location”/>
out_v2_hierarchy.xml:26<tree node=“crashing”/>
bot_chat_v4.xml:4485<tree node=“bot_chat_player_gift”></tree>
bot_chat_v4.xml:4486<tree node=“bot_chat_create_guild”></tree>
bot_chat_v4.xml:4487<tree node=“bot_chat_missions”></tree>
bot_chat_v4.xml:4488<tree node=“bot_chat_dynamic_mission”></tree>
bot_chat_v4.xml:4489<tree node=“bot_chat_trade”></tree>
bot_chat_v4.xml:4490<tree node=“bot_chat_buy”></tree>
bot_chat_v4.xml:4491<tree node=“bot_chat_news”></tree>
bot_chat_v4.xml:4492<tree node=“bot_chat_mission_end”></tree>
bot_chat_v4.xml:4493<tree node=“bot_chat_accept_mission”></tree>
bot_chat_v4.xml:4494<tree node=“bot_chat_buy_sell_item”></tree>
bot_chat_v4.xml:4495<tree node=“bot_chat_object”></tree>
guild.xml:462<tree node=“guild” />
guild.xml:591<tree node=“guild_forum” />
guild.xml:715<tree node=“inv_guild” />
guild.xml:935<tree node=“mailbox” />
guild.xml:1130<tree node=“webig” />
guild.xml:1296<tree node=“web_transactions” />
macros.xml:316<tree node=“macros” />
macros.xml:424<tree node=“new_macro” />
macros.xml:650<tree node=“keys” >
macros.xml:651<tree node=“keys_player”/>
macros.xml:652<tree node=“keys_movement”/>
macros.xml:653<tree node=“keys_actions”/>
macros.xml:654<tree node=“keys_chat”/>
macros.xml:655<tree node=“keys_view”/>
macros.xml:656<tree node=“keys_windows”/>
macros.xml:657<tree node=“keys_system”/>
macros.xml:658<tree node=“keys_edit”/>
macros.xml:659<tree node=“keys_debug”/>
macros.xml:660<tree node=“keys_r2ed”/>
r2ed_connect.xml:34<tree node=“r2ed_connecting”>
r2ed_scenario.xml:895<tree node=“r2ed_scenario”>
r2ed_scenario.xml:1005<tree node=“r2ed_dm_gift”>
r2ed_scenario.xml:1060<tree node=“r2ed_scenario_filter”>
inventory.xml:311<tree node=“inv_equip” />
inventory.xml:369<tree node=“inv_bag” />
inventory.xml:411<tree node=“inv_room” />
inventory.xml:747<tree node=“inventory” />
inventory.xml:901<tree node=“temp_inventory” />
inventory.xml:1316<tree node=“gestionsets” />
inventory.xml:1508<tree node=“gestionsets2” />
inventory.xml:1902<tree node=“team_share” />
inventory.xml:2213<tree node=“defense” />
inventory.xml:2432<tree node=“edit_custom” />
ring_access_point_filter.xml:57<tree node=“ring_access_point_filter”>
game_config.xml:3900<tree node=“game_config” />
compass.xml:271<tree node=“mp3_player” />
compass.xml:754<tree node=“compass” />
compass.xml:1060<tree node=“connection” />
interaction.xml:423<tree node=“target” />
interaction.xml:2374<tree node=“join_team_proposal” />
interaction.xml:2417<tree node=“join_guild_proposal” />
interaction.xml:2480<tree node=“join_duel_proposal” />
interaction.xml:2535<tree node=“join_pvp_challenge_proposal” />
interaction.xml:2605<tree node=“join_pvp_clan_proposal” />
interaction.xml:2682<tree node=“enter_crzone_proposal” />
interaction.xml:2798<tree node=“ascensor_teleport_list” />
interaction.xml:2956<tree node=“contact_list”>
interaction.xml:3040<tree node=“create_new_party_chat” />
interaction.xml:3060<tree node=“debug_console”>
harvest.xml:98<tree node=“loot”>
harvest.xml:101<tree node=“harvest”>
widgets.xml:5391<tree node=“server_message_box” />
widgets.xml:6159<tree node=“#id” />
outpost.xml:703<tree node=“outpost”/>
outpost.xml:754<tree node=“outpost_selected”/>
outpost.xml:835<tree node=“outpost_declare_war”/>
outpost.xml:924<tree node=“squad_spawn_map” />
outpost.xml:1030<tree node=“squad_shop”/>
outpost.xml:1097<tree node=“join_pvp_outpost_proposal”/>
help.xml:150<tree node=“welcome_info”></tree>
help.xml:330<tree node=“universe_chanel_warning”></tree>
help.xml:331<tree node=“welcome_info”></tree>
help.xml:438<tree node=“death_warning”></tree>
help.xml:545<tree node=“night_warning”></tree>
help.xml:2810<tree node=“help_browser”></tree>
help.xml:2811<tree node=“cs_browser”></tree>
help.xml:2812<tree node=“quick_help”></tree>
help.xml:2813<tree node=“milko_pad”></tree>
help.xml:3076<tree node=“r2ed_web_admin”></tree>
taskbar.xml:1198<tree node=“gestion_windows”/>
taskbar.xml:1321<tree node=“web_on_quit”/>
login_main.xml:826<tree node=“checkpass”/>
login_main.xml:827<tree node=“sharddisp”/>
login_main.xml:828<tree node=“checking”/>
login_main.xml:829<tree node=“patching”/>
login_main.xml:830<tree node=“catdisp”/>
login_main.xml:831<tree node=“eula”/>
login_main.xml:832<tree node=“datascan”/>
login_main.xml:833<tree node=“webstart”/>
login_main.xml:834<tree node=“create_account”/>


List of interface XML files by usage

Game interface

XMLInterfaceFiles, Present in the client_default.cfg(or client.cfg) the list of XML files used for the game interface detailed below.

Two referenced files therefore seem to be absent without this interfering with the functioning of the game(in relation to the ring|Ring, it is true)


This file contains mostly variable definitions, templates. Most variables used in other XML files are defined in this file.
One can notice the link between the names assigned to the images in the calls of the other XML recorders and their value in the file. You can change the appearance of images just by changing the contents of the variables.

There is no GROUP element.

It contains the View type=“pointer” line 2101, which defines the mouse image according to the context with it's size etc.

  <!-- *********** -->
  <!-- *  MOUSE  * -->
  <!-- * POINTER * -->
  <!-- *********** -->
  <view type="pointer"
        posref="BL MM" />


This file contains the templates of the various non-fixed components of the game, such as:

  • Information frames in the 3D scene(such as source content: “drill_source”);
  • The dialog bubbles “3dbulle_L” (note that there is a version “3dbulle_R” not used);
  • Templates for menu separators, check-menus…;
  • Inventory management menus;
  • Currency display frame, skill points, faction;
  • Chat items, edit box, context-sensitive help, object destruction dialog, some modal windows;
  • Simple message window templates;
  • The template of the help window of objects and bricks ITEM/BRICK HELP lines 5394 and following;
  • HTML FORM SELECT WIDGET template and HTML TEXT BUTTON WIDGET templates, to line 6668;
  • The webIG template: html browser window line 7019 and following.


These are the widgets that are used for windows in connection with webIG applications.


Descriptions of type elements:

  • Information above the character's head;
  • The progress bar of the actions CURRENT ACTION line 219. The images used for the progress(of the action) are precisely: slot_jauge_action.tga for the frame, and gauge_action.tga for the zone Dynamic internal filling;
  • The window of miscellaneous information(bars, names, PvP status) on the player character;
  • The buff/debuff window BONUS MALUS line 631 and following;
  • The animal control menu ANIMALS GLOBAL line 930 and following, including:
    • Orders given to creatures (stop, Follow me etc);
    • The comprehensive animal management window;
    • Dead Animal Management Window ANIMAL(S) DEAD WINDOW lines 1309 and following;
    • The animal inventory window template ANIMALS INVENTORIES lines 1359 and following


This file(with the explicit title) contains all the elements for managing inventory windows.

This includes self-inventory, accommodation, animal bag, guild room and temporary exchange area.

It also contains the two zones of HANDS with the action shortcuts: HANDS lines 1086 and following for the first, <!– second hands bar –> lines 1501 And following for the second.

There is also the “TEAM SHARING SYSTEM” payout window for lines 1933 and following.

A “DEFENSE” window is quoted in line 2326 and following, whose function remains to be specified. Possibly armor equipment area… to be checked.

A GROUP CUSTOM TEXT EDITION AND DISPLAY is defined in lines 2637 and following, which may be used to manage the custom text input area on objects.


This file contains elements for interaction with other creatures in the game.

From row 10 and following, the “TARGET” area allows you to define the views linked to the clicked target:

  • Its relative level/power;
  • Its level bars;
  • List of friends and ignore list, FRIEND LIST & IGNORE LIST TEMPLATE lines 459 and following(and see below);
  • The zones of CHAT:
    • CHAT TEMPLATE lines 554 and following;
    • CHAT WITH NO EDIT BOX TEMPLATE lines 693 and following;
    • CHAT WITH FILTER TEMPLATE lines 745 and following;
    • GROUP OF CHAT lines 821 and following;
    • Template of a dynamic chat tab lines 940 and following;
    • The main chat group lines 986 and following with:
      • SYSTEM INFO TEMPLATE lines 1327 and following;
      • TEAM_CHAT lines 1383 and following;
      • AROUND_ME lines 1390 and following, then lines 1425 and following;
      • REGION CHAT lines 1397 and following, then lines 1433 and following;
      • UNIVERSE CHAT lines 1404 and following;
      • SYSTEM INFO lines 1418 and following and then lines 1441 and following;
      • Dialogs with the team, TEAM lines 1449 and following;
      • BASE MENU FOR CHAT BOX lines 1883 and later(for Chat windows when they are free) :
      • AROUND ME CHAT lines 2013 and following;
  • Contact templates: CONTACT TEMPLATE lines 1648 and following, in conjunction with ignore list, friend list above
  • Team management menu TEAM_MENU lines 2108 and following;
  • The contact management menu CONTACT_MENU lines 2184 and following;
  • The chat menu by team and guild PARTY CHAT MENU lines 2269 and following;
  • The window to join a team WINDOW TO ASK IF THE PLAYER WANT TO JOIN THE TEAM lines 2333 and following;
  • Window to join a guild WINDOW TO ASK IF THE PLAYER WANT TO JOIN THE GUILD lines 2376 and following;
  • Window to accept a duel WINDOW TO ASK IF A PLAYER WANT TO DUEL WITH ANOTHER PLAYER lines 2419 and following;
  • Window to switch to PvP WINDOW TO ASK IF TO PLAYER WANT TO PVP lines 2482 and following;
  • Window to switch to faction Pvp(clan?) WINDOW TO ASK CLAN PLAYER WANT JOIN FOR PVP lines 2537 And following;

* Window to join a group chat POPUP TO ASK IF A PLAYER WANT'S TO JOIN A PARTY CHAT lines 2607 and following;

  • Window to enter a critical mission area POPUP TO ASK IF A PLAYER WANT TO ENTER A MISSION CRITICAL ZONE lines 2642 and following;
  • Window to request teleportation POPUP TO ASK THE PLAYER FOR A TELEPORT LOCATION lines 2684 and following;
  • Pure window to enter the name of a new group chat window: WINDOW TO ENTER THE NAME OF A NEW PARTY CHAT lines 2978 and following;
  • Management of the YUBO CHAT lines 3064 and following;
  • Dynamic channel management DYNAMIC CHAT lines 3071 and following;


This plug-in contains(apparently) elements of the composition window of sbricks in sphrases and as well as that of the composition of craft recipes.


Visibly obsolete(fully commented), used to collect collected MPs.


Manage the Macro creation and management window.


This file contains the elements of different windows related to the character and it's characteristics.

First of all, the window of general information that is about the character(Identity).

The templates are first, up to the line 556 and then the definition sheets of GROUPS to the line 1684.

We then find the part dedicated to the renowned, FAME lines 1687 and following with first the templates up to the line 1878 then the GROUPS(including SPIRES) until the Line 2603.

Then a zone info_player_journal which must certainly concern the window of missions lines 2606 and following, with the templates to the line 2969, then the GROUPSto the line 3547.

Then a definition area of POPUP MESSAGES from line 3550 to 3667.

Finally, a “RPJOB TEMPLATES” zone for jobs developed by WebIG from line 3670, and then a final “NPC WEB PAGE” for interactions with NPCs managed by webIG from line 3700.




















en/wiki/user/yannk/interface.txt · Last modified: 2016/12/28 20:18 by Domperss