Table des matières

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:Client interface's configuration.

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:

XMLInputFile

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

XMLLoginInterfaceFiles

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

The files currently called are:

XMLOutGameInterfaceFiles

TexturesInterface

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

TexturesLoginInterface

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

TexturesOutGameInterface

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

LOCAL, UI or SERVER?
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:

database.xml
  <branch name="PACK_ANIMAL"
          bank="PLR">
    <!-- beasts -->
    <!-- MAX_INVENTORY_ANIMAL -->
    <branch name="BEAST"
            count="4"
            atomic="1">
      <!-- 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:

interface.xml
<define id="pa1_bulk"
          value="SERVER:PACK_ANIMAL:BEAST0:BULK_MAX" />
<define id="pa2_bulk"
          value="SERVER:PACK_ANIMAL:BEAST1:BULK_MAX" />
<define id="pa3_bulk"
          value="SERVER:PACK_ANIMAL:BEAST2:BULK_MAX" />
<define id="pa4_bulk"
          value="SERVER:PACK_ANIMAL:BEAST3:BULK_MAX" />

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”/>

</hidden>

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)

config.xml

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"
        id="cursor"
        x="1"
        y="-5"
        w="44"
        h="39"
        global_color="false"
        tx_default="curs_default.tga"
        tx_move_window="curs_default.tga"
        tx_resize_BR_TL="curs_resize_BR_TL.tga"
        tx_resize_BL_TR="curs_resize_BL_TR.tga"
        tx_resize_TB="curs_resize_TB.tga"
        tx_resize_LR="curs_resize_LR.tga"
        tx_rotate="curs_rotate.tga"
        tx_scale="curs_scale.tga"
        tx_colpick="curs_pick.tga"
        tx_pan="curs_pan.tga"
        tx_can_pan="curs_can_pan.tga"
        tx_pan_r2="r2_hand_pan.tga"
        tx_can_pan_r2="curs_default.tga"
        posref="BL MM" />

widgets.xml

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

webig_widgets.xml

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

player.xml

Descriptions of type elements:

inventory.xml

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.

interaction.xml

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:

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

phrase.xml

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.

harvest.xml

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

macros.xml

Manage the Macro creation and management window.

info_player.xml

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.

outpost.xml

guild.xml

taskbar.xml

game_config.xml

game_context_menu.xml

player_trade.xml

bot_chat_v4.xml

compass.xml

map.xml

hierarchy.xml

reset.xml

actions.xml

help.xml

encyclopedia.xml

commands.xml

commands2.xml

ring_access_point_filter.xml

ring_window.xml

bg_downloader.xml