Merge with develop

This commit is contained in:
Nimetu 2017-03-15 17:45:19 +02:00
commit 85cd5beced
243 changed files with 379719 additions and 228 deletions

View file

@ -63,6 +63,10 @@ SET(NL_VERSION_PATCH 0)
SET(YEAR "2004-${CURRENT_YEAR}") SET(YEAR "2004-${CURRENT_YEAR}")
SET(AUTHOR "Winch Gate and The Ryzom Core Community") SET(AUTHOR "Winch Gate and The Ryzom Core Community")
SET(RYZOM_VERSION_MAJOR 3)
SET(RYZOM_VERSION_MINOR 1)
SET(RYZOM_VERSION_PATCH 0)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Redirect output files # Redirect output files
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

View file

@ -0,0 +1,74 @@
# - Locate Steam API
# This module defines
# STEAM_LIBRARY, the library to link against
# VORBIS_FOUND, if false, do not try to link to VORBIS
# VORBIS_INCLUDE_DIR, where to find headers.
IF(STEAM_LIBRARY AND STEAM_INCLUDE_DIR)
# in cache already
SET(Steam_FIND_QUIETLY TRUE)
ENDIF()
FIND_PATH(STEAM_INCLUDE_DIR
steam_api.h
PATH_SUFFIXES steam
PATHS
$ENV{STEAM_DIR}/public
)
IF(WIN32)
IF(TARGET_X64)
SET(STEAM_LIBNAME steam_api64)
SET(STEAM_RUNTIMENAME steam_api64.dll)
SET(STEAM_PATHNAME redistributable_bin/win64)
ELSE()
SET(STEAM_LIBNAME steam_api)
SET(STEAM_RUNTIMENAME steam_api.dll)
SET(STEAM_PATHNAME redistributable_bin)
ENDIF()
ELSEIF(APPLE)
# universal binary
SET(STEAM_LIBNAME steam_api)
SET(STEAM_RUNTIMENAME libsteam_api.dylib)
SET(STEAM_PATHNAME redistributable_bin/osx32)
ELSE()
SET(STEAM_LIBNAME steam_api)
SET(STEAM_RUNTIMENAME libsteam_api.so)
IF(TARGET_X64)
SET(STEAM_PATHNAME redistributable_bin/linux64)
ELSE()
SET(STEAM_PATHNAME redistributable_bin/linux32)
ENDIF()
ENDIF()
FIND_LIBRARY(STEAM_LIBRARY
NAMES ${STEAM_LIBNAME}
HINTS
$ENV{STEAM_DIR}/${STEAM_PATHNAME}
)
FIND_FILE(STEAM_RUNTIME
NAMES ${STEAM_RUNTIMENAME}
HINTS
$ENV{STEAM_DIR}/${STEAM_PATHNAME}
PATHS
${EXTERNAL_BINARY_PATH}
${CMAKE_LIBRARY_PATH}
/usr/local/lib
/usr/lib
)
# Don't need to check STEAM_LIBRARY because we're dynamically loading Steam DLL
IF(STEAM_INCLUDE_DIR)
SET(STEAM_FOUND ON)
SET(STEAM_LIBRARIES ${STEAM_LIBRARY})
SET(STEAM_INCLUDE_DIRS ${STEAM_INCLUDE_DIR})
IF(NOT Steam_FIND_QUIETLY)
MESSAGE(STATUS "Found Steam: ${STEAM_INCLUDE_DIR} and ${STEAM_RUNTIME}")
ENDIF()
ELSE()
IF(NOT Steam_FIND_QUIETLY)
MESSAGE(STATUS "Warning: Unable to find Steam!")
ENDIF()
ENDIF()

View file

@ -352,6 +352,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)
OPTION(WITH_RYZOM_CLIENT_UAC "Ask to run as Administrator" OFF) OPTION(WITH_RYZOM_CLIENT_UAC "Ask to run as Administrator" OFF)
OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF) OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF)
OPTION(WITH_RYZOM_CUSTOM_PATCH_SERVER "Only use patch server from CFG file" OFF) OPTION(WITH_RYZOM_CUSTOM_PATCH_SERVER "Only use patch server from CFG file" OFF)
OPTION(WITH_RYZOM_STEAM "Enable Steam features" OFF)
OPTION(WITH_RYZOM_SANDBOX "Enable Sandbox under OS X" OFF) OPTION(WITH_RYZOM_SANDBOX "Enable Sandbox under OS X" OFF)
ENDMACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS) ENDMACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)

View file

@ -106,7 +106,7 @@ public:
class ITexture : public CBitmap, public NLMISC::CRefCount, public NLMISC::IStreamable class ITexture : public CBitmap, public NLMISC::CRefCount, public NLMISC::IStreamable
{ {
public: public:
NL_USES_DEFAULT_ARENA_OBJECT_ALLOCATOR // for fast alloc // NL_USES_DEFAULT_ARENA_OBJECT_ALLOCATOR // for fast alloc
// Those enums MUST be the same than in UTexture!! // Those enums MUST be the same than in UTexture!!
enum TWrapMode enum TWrapMode
{ {

View file

@ -100,7 +100,7 @@ CTextureDrvInfosGL::~CTextureDrvInfosGL()
CDepthStencilFBO::CDepthStencilFBO(CDriverGL *driver, uint width, uint height) CDepthStencilFBO::CDepthStencilFBO(CDriverGL *driver, uint width, uint height)
{ {
nldebug("3D: Init shared FBO"); //nldebug("3D: Init shared FBO");
m_Driver = driver; m_Driver = driver;
Width = width; Width = width;
@ -142,7 +142,7 @@ CDepthStencilFBO::~CDepthStencilFBO()
if (DepthFBOId) if (DepthFBOId)
{ {
nldebug("3D: Release shared FBO"); //nldebug("3D: Release shared FBO");
nglDeleteRenderbuffersEXT(1, &DepthFBOId); nglDeleteRenderbuffersEXT(1, &DepthFBOId);
if (StencilFBOId == DepthFBOId) if (StencilFBOId == DepthFBOId)
StencilFBOId = 0; StencilFBOId = 0;
@ -191,10 +191,10 @@ bool CTextureDrvInfosGL::initFrameBufferObject(ITexture * tex)
} }
nglFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, nglFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, DepthStencilFBO->DepthFBOId); GL_RENDERBUFFER_EXT, DepthStencilFBO->DepthFBOId);
nldebug("3D: glFramebufferRenderbufferExt(depth:24) = %X", nglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); //nldebug("3D: glFramebufferRenderbufferExt(depth:24) = %X", nglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT));
nglFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT, nglFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_STENCIL_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, DepthStencilFBO->StencilFBOId); GL_RENDERBUFFER_EXT, DepthStencilFBO->StencilFBOId);
nldebug("3D: glFramebufferRenderbufferExt(stencil:8) = %X", nglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)); //nldebug("3D: glFramebufferRenderbufferExt(stencil:8) = %X", nglCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT));
} }
// check status // check status

View file

@ -58,14 +58,14 @@ void CI18N::initLanguages()
_LanguageCodes.push_back("en"); _LanguageCodes.push_back("en");
_LanguageCodes.push_back("fr"); _LanguageCodes.push_back("fr");
_LanguageCodes.push_back("de"); _LanguageCodes.push_back("de");
_LanguageCodes.push_back("ru"); // _LanguageCodes.push_back("ru");
_LanguageCodes.push_back("es"); // _LanguageCodes.push_back("es");
_LanguageNames.push_back(ucstring("English")); _LanguageNames.push_back(ucstring("English"));
_LanguageNames.push_back(ucstring("French")); _LanguageNames.push_back(ucstring("French"));
_LanguageNames.push_back(ucstring("German")); _LanguageNames.push_back(ucstring("German"));
_LanguageNames.push_back(ucstring("Russian")); // _LanguageNames.push_back(ucstring("Russian"));
_LanguageNames.push_back(ucstring("Spanish")); // _LanguageNames.push_back(ucstring("Spanish"));
_LanguagesNamesLoaded = true; _LanguagesNamesLoaded = true;
} }

View file

@ -200,7 +200,7 @@ ISoundDriver *ISoundDriver::createDriver(IStringMapperProvider *stringMapper, TD
#if defined (NL_COMP_MINGW) #if defined (NL_COMP_MINGW)
dllName = "libnel_drv_xaudio2_win"; dllName = "libnel_drv_xaudio2_win";
#elif defined (NL_OS_WINDOWS) #elif defined (NL_OS_WINDOWS)
dllName = "nel_drv_xaudio2_win"; dllName = "nel_drv_fmod_win";
#elif defined (NL_OS_UNIX) #elif defined (NL_OS_UNIX)
dllName = "nel_drv_openal"; dllName = "nel_drv_openal";
#else #else

View file

@ -16,11 +16,11 @@ SaveConfig = 1;
Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2" Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2"
// "Auto" will choose the best suited driver depending on hardware // "Auto" will choose the best suited driver depending on hardware
FullScreen = 1; FullScreen = 1;
Width = 1024; Width = 0;
Height = 768; Height = 0;
PositionX = 0; PositionX = 0;
PositionY = 0; PositionY = 0;
Frequency = 60; Frequency = 0;
Depth = 32; Depth = 32;
Sleep = -1; Sleep = -1;
ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time
@ -39,18 +39,14 @@ Gamma_max = 1.0;
// NETWORK // // NETWORK //
///////////// /////////////
Application = { "ryzom_open", "./client_ryzom_r.exe", "./" }; Application = { "ryzom_live", "./client_ryzom_r.exe", "./" };
BackgroundDownloader = 0; BackgroundDownloader = 0;
SignUpURL = ""; StartupHost = "shard.ryzom.com:40916";
StartupHost = "shard.ryzomcore.org:40916";
StartupPage = "/login/r2_login.php"; StartupPage = "/login/r2_login.php";
InstallStatsUrl = "http://open.ryzom.com:50000/stats/stats.php";
CreateAccountURL = "http://shard.ryzomcore.org/ams/?page=register"; ConditionsTermsURL = "http://app.ryzom.com/app_forum/index.php?page=topic/view/21885/1&post148782=en#1";
EditAccountURL = "http://shard.ryzomcore.org/ams/?page=settings"; LoginSupportURL = "http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post149889=en#1";
ConditionsTermsURL = "http://www.gnu.org/licenses/agpl-3.0.html"; NamingPolicyURL = "http://app.ryzom.com/app_forum/index.php?page=topic/view/21885/1&post148784=en#3";
ForgetPwdURL = "http://shard.ryzomcore.org/ams/?page=forgot_password";
LoginSupportURL = "https://plus.google.com/u/0/communities/103798956862568269036";
InstallWebPage = "";
//////////////// ////////////////
@ -82,10 +78,6 @@ XMLOutGameInterfaceFiles = {
"out_v2_keys.xml", "out_v2_keys.xml",
}; };
TexturesInterface = "texture_interfaces_v3";
TexturesInterfaceDXTC = "texture_interfaces_dxtc";
// The ligo primitive class file // The ligo primitive class file
LigoPrimitiveClass = "world_editor_classes.xml"; LigoPrimitiveClass = "world_editor_classes.xml";
@ -221,7 +213,7 @@ FXAA_ps3 = 1;
AnisotropicFilter = 0; AnisotropicFilter = 0;
Bloom = 0; Bloom = 1;
Bloom_ps0 = 0; Bloom_ps0 = 0;
Bloom_ps1 = 1; Bloom_ps1 = 1;
Bloom_ps2 = 1; Bloom_ps2 = 1;
@ -281,7 +273,7 @@ DivideTextureSizeBy2= 0; // Divide texture size
DisableVtxProgram = 0; // Disable Hardware Vertex Program. DisableVtxProgram = 0; // Disable Hardware Vertex Program.
DisableVtxAGP = 0; // Disable Hardware Vertex AGP. DisableVtxAGP = 0; // Disable Hardware Vertex AGP.
DisableTextureShdr = 0; // Disable Hardware Texture Shader. DisableTextureShdr = 0; // Disable Hardware Texture Shader.
HDEntityTexture = 0; HDEntityTexture = 1;
HDTextureInstalled = 1; HDTextureInstalled = 1;
WaitVBL = 0; // 0 or 1 to wait Vertical Sync. WaitVBL = 0; // 0 or 1 to wait Vertical Sync.
@ -420,7 +412,7 @@ PrintfCommandsFreeTrial = {
DisplayMissingAnimFile = 0; DisplayMissingAnimFile = 0;
LoadingStringCount = 0; LoadingStringCount = 54;
// Some R2 parameters ... // Some R2 parameters ...
@ -481,7 +473,8 @@ XMLInterfaceFiles = {
"commands2.xml", "commands2.xml",
"ring_access_point_filter.xml", "ring_access_point_filter.xml",
"ring_window.xml", "ring_window.xml",
"bg_downloader.xml" "bg_downloader.xml",
"ryzhome_toolbar.xml"
}; };
XMLR2EDInterfaceFiles = XMLR2EDInterfaceFiles =
@ -569,7 +562,9 @@ HelpPages =
"fr=http://forums.ryzom.com/forum/showthread.php?t=29130", "fr=http://forums.ryzom.com/forum/showthread.php?t=29130",
"en=http://forums.ryzom.com/forum/showthread.php?t=29129", "en=http://forums.ryzom.com/forum/showthread.php?t=29129",
"wk=http://forums.ryzom.com/forum/showthread.php?t=29129", "wk=http://forums.ryzom.com/forum/showthread.php?t=29129",
"de=http://forums.ryzom.com/forum/showthread.php?t=29131" "de=http://forums.ryzom.com/forum/showthread.php?t=29131",
"es=http://forums.ryzom.com/forum/showthread.php?t=29129",
"ru=http://forums.ryzom.com/forum/showthread.php?t=29129"
}; };
WebIgMainDomain = "app.ryzom.com"; WebIgMainDomain = "app.ryzom.com";

View file

@ -0,0 +1,84 @@
// List of actions that do not need a specific caller
// If no precised the argument do not need a name
// ***************************************************************************
// open
// Arg : a container name
// Open a container
// ***************************************************************************
// close
// Arg : a container name
// Close a container
// ***************************************************************************
// open_close
// Arg : a container name
// Close a container if opened and open it if closed
// ***************************************************************************
// popup
// Arg : a container name
// Popup a container
// ***************************************************************************
// popin
// Arg : a container name
// Popin a container (restore it)
// ***************************************************************************
// popup_popin
// Arg : a container name
// Toggle Popup/Popin a container
// ***************************************************************************
// next_sheath
// Arg : none
// Set the Next sheath
// ***************************************************************************
// previous_sheath
// Arg : none
// Set the Previous sheath
// ***************************************************************************
// set_sheath
// Arg : the sheath number (int)
// Set the sheath ##
// ***************************************************************************
// toggle_combat
// Arg : none
// Attack/Disengage the current target
// ***************************************************************************
// talk_untalk
// Arg : none
// Talk or end dialog with the current target
// ***************************************************************************
// mount_unmount
// Arg : none
// Mount or unseat if we can the current target
// ***************************************************************************
// exchange
// Arg : none
// Exchange with the current target
// ***************************************************************************
// no_target
// Arg : none
// Target nothing
// ***************************************************************************
// self_target
// Arg : none
// Target the player
// ***************************************************************************
// beast_call
// Arg : the beast number (int)
// Order the beast to come
// ***************************************************************************
// beast_follow
// Arg : the beast number (int)
// Order the beast to follow us
// ***************************************************************************
// beast_stop
// Arg : the beast number (int)
// Order the beast to stop
// ***************************************************************************
// set_desktop
// Arg : the desktop number (0,1,2,3) (int)
// set the current desktop (exploration, info, labo, help)
// ***************************************************************************
// run_shortcut
// Arg : the shortcut number (0...9) (int)
// Execute the shortcut of the current shortcut bar

View file

@ -0,0 +1,54 @@
name id type family syllable effect texture_id specific_text
destroy 1 ROOT 0 krash inflict damages to it's target 10000 none
heal 2 ROOT 0 saf heal the target of the spell 10001 none
alter 3 ROOT 0 shange Alter target's characteristics 10002 none
power very weak 4 KEY 1 aka Minimal spell power 9001 1
power weak 5 KEY 1 aki Low spell power 9001 3
power average 6 KEY 1 aku Average spell power 9001 5
power high 7 KEY 1 aky High spell power 9001 6
power very high 8 KEY 1 akaha Very high spell power 9001 7
minor_area 9 SUFFIX 2 arre the spell affects a small area 9002 1
basic_area 10 SUFFIX 2 arri spell affects an everage sized area 9002 2
major_area 11 SUFFIX 2 arro big effect area 9002 3
quick casting 12 SUFFIX 3 thyy cast faster 9003 -1
fast casting 13 SUFFIX 3 thuu cast much faster 9003 -2
fastest casting 14 SUFFIX 3 thoo smallest casting time 9003 -3
very_close 15 KEY 4 pra very short range 9004 0
close 16 KEY 4 pre close range 9004 1
distant 17 KEY 4 pri medium range 9004 2
far 18 KEY 4 pro long rang 9004 3
very_far 19 KEY 4 pru very long range 9004 4
sap 20 KEY 5 sap affect target's sap 9005 sap
hp 21 KEY 5 hp affect target's hp 9005 hp
stamina 22 KEY 5 sta affect target's stamina 9005 sta
weak dose 23 KEY 6 dose modify target char by a small amount 9006 1
base dose 24 KEY 6 dosi modify target char 9006 2
strong dose 25 KEY 6 doso important modification of char 9006 3
very strong dose 26 KEY 6 dosu very important modification of char 9006 4
minor healing 27 KEY 7 bla target recovers a few hit points 9007 1
partial healing 28 KEY 7 ble target recovers some hit points 9007 2
basic healing 29 KEY 7 bli target recovers hit points 9007 3
benefactor healing 30 KEY 7 blo target recovers a lot of HP 9007 4
powerful healing 31 KEY 7 blu target recovers lots of HP 9007 5
30 seconds 32 KEY 8 mnii spell last 30 seconds 9008 0.5
2 minutes 33 KEY 8 mnoo spell last 2 minutes 9008 2
4 minutes 34 KEY 8 mnyy spell last 4 minutes 9008 4
teleport 35 ROOT 0 apula teleportation 10003 none
oasis 36 KEY 9 des teleport to Vitka oasis 10003 vitka
etoole 37 KEY 9 etoo teleport to Etoole lakes 10003 etoo
vampirism 38 ROOT 0 vampyr vampirize target health 10003 none
transfert 39 ROOT 0 trans transfert caster health to target 10003 none
boost regen 40 ROOT 0 troll boost target Hp regen rate 10003 none
accelerate 41 ROOT 0 spid speed up the character 10003 none
reduce resistance 1 42 SUFFIX 10 lresi reduce target's resistance 10003 1
reduce resistance 2 43 SUFFIX 10 lreso reduce target's resistance 10003 2
reduce resistance 3 44 SUFFIX 10 lresu reduce target's resistance 10003 3
easy 1 45 SUFFIX 11 isyli reduce spell difficulty 10003 1
easy 2 46 SUFFIX 11 isylo reduce spell difficulty 10003 2
easy 3 47 SUFFIX 11 isylu reduce spell difficulty 10003 3
cheap 1 48 SUFFIX 12 chipi reduce spell cost 10003 1
cheap 2 49 SUFFIX 12 chipo reduce spell cost 10003 2
cheap 3 50 SUFFIX 12 chipu reduce spell cost 10003 3
concentrate 1 51 SUFFIX 13 konci reduce casting interruption chances 10003 1
concentrate 2 52 SUFFIX 13 konco reduce casting interruption chances 10003 2
concentrate 3 53 SUFFIX 13 koncu reduce casting interruption chances 10003 3

View file

@ -0,0 +1,228 @@
// 7*8= 56 * 4 = 224
entity 1 trhu1.creature 4160.000000 -3660.000000 0.000000
entity 2 trhc1.creature 4162.000000 -3660.000000 0.000000
entity 3 trhc2.creature 4164.000000 -3660.000000 0.000000
entity 4 trhc3.creature 4166.000000 -3660.000000 0.000000
entity 5 trha1.creature 4168.000000 -3660.000000 0.000000
entity 6 trha2.creature 4170.000000 -3660.000000 0.000000
entity 7 trha3.creature 4172.000000 -3660.000000 0.000000
entity 8 trfu1.creature 4174.000000 -3660.000000 0.000000
entity 9 trfc1.creature 4176.000000 -3660.000000 0.000000
entity 10 trfc2.creature 4178.000000 -3660.000000 0.000000
entity 11 trfc3.creature 4180.000000 -3660.000000 0.000000
entity 12 trfa1.creature 4182.000000 -3660.000000 0.000000
entity 13 trfa2.creature 4184.000000 -3660.000000 0.000000
entity 14 trfa3.creature 4186.000000 -3660.000000 0.000000
entity 15 mahu1.creature 4160.000000 -3664.000000 0.000000
entity 16 mahc1.creature 4162.000000 -3664.000000 0.000000
entity 17 mahc2.creature 4164.000000 -3664.000000 0.000000
entity 18 mahc3.creature 4166.000000 -3664.000000 0.000000
entity 19 maha1.creature 4168.000000 -3664.000000 0.000000
entity 20 maha2.creature 4170.000000 -3664.000000 0.000000
entity 21 maha3.creature 4172.000000 -3664.000000 0.000000
entity 22 mafu1.creature 4174.000000 -3664.000000 0.000000
entity 23 mafc1.creature 4176.000000 -3664.000000 0.000000
entity 24 mafc2.creature 4178.000000 -3664.000000 0.000000
entity 25 mafc3.creature 4180.000000 -3664.000000 0.000000
entity 26 mafa1.creature 4182.000000 -3664.000000 0.000000
entity 27 mafa2.creature 4184.000000 -3664.000000 0.000000
entity 28 mafa3.creature 4186.000000 -3664.000000 0.000000
entity 29 fyhu1.creature 4160.000000 -3668.000000 0.000000
entity 30 fyhc1.creature 4162.000000 -3668.000000 0.000000
entity 31 fyhc2.creature 4164.000000 -3668.000000 0.000000
entity 32 fyhc3.creature 4166.000000 -3668.000000 0.000000
entity 33 fyha1.creature 4168.000000 -3668.000000 0.000000
entity 34 fyha2.creature 4170.000000 -3668.000000 0.000000
entity 35 fyha3.creature 4172.000000 -3668.000000 0.000000
entity 36 fyfu1.creature 4174.000000 -3668.000000 0.000000
entity 37 fyfc1.creature 4176.000000 -3668.000000 0.000000
entity 38 fyfc2.creature 4178.000000 -3668.000000 0.000000
entity 39 fyfc3.creature 4180.000000 -3668.000000 0.000000
entity 40 fyfa1.creature 4182.000000 -3668.000000 0.000000
entity 41 fyfa2.creature 4184.000000 -3668.000000 0.000000
entity 42 fyfa3.creature 4186.000000 -3668.000000 0.000000
entity 43 zohu1.creature 4160.000000 -3672.000000 0.000000
entity 44 zohc1.creature 4162.000000 -3672.000000 0.000000
entity 45 zohc2.creature 4164.000000 -3672.000000 0.000000
entity 46 zohc3.creature 4166.000000 -3672.000000 0.000000
entity 47 zoha1.creature 4168.000000 -3672.000000 0.000000
entity 48 zoha2.creature 4170.000000 -3672.000000 0.000000
entity 49 zoha3.creature 4172.000000 -3672.000000 0.000000
entity 50 zofu1.creature 4174.000000 -3672.000000 0.000000
entity 51 zofc1.creature 4176.000000 -3672.000000 0.000000
entity 52 zofc2.creature 4178.000000 -3672.000000 0.000000
entity 53 zofc3.creature 4180.000000 -3672.000000 0.000000
entity 54 zofa1.creature 4182.000000 -3672.000000 0.000000
entity 55 zofa2.creature 4184.000000 -3672.000000 0.000000
entity 56 zofa3.creature 4186.000000 -3672.000000 0.000000
entity 57 trhu1.creature 4160.000000 -3680.000000 0.000000
entity 58 trhc1.creature 4162.000000 -3680.000000 0.000000
entity 59 trhc2.creature 4164.000000 -3680.000000 0.000000
entity 60 trhc3.creature 4166.000000 -3680.000000 0.000000
entity 61 trha1.creature 4168.000000 -3680.000000 0.000000
entity 62 trha2.creature 4170.000000 -3680.000000 0.000000
entity 63 trha3.creature 4172.000000 -3680.000000 0.000000
entity 64 trfu1.creature 4174.000000 -3680.000000 0.000000
entity 65 trfc1.creature 4176.000000 -3680.000000 0.000000
entity 66 trfc2.creature 4178.000000 -3680.000000 0.000000
entity 67 trfc3.creature 4180.000000 -3680.000000 0.000000
entity 68 trfa1.creature 4182.000000 -3680.000000 0.000000
entity 69 trfa2.creature 4184.000000 -3680.000000 0.000000
entity 70 trfa3.creature 4186.000000 -3680.000000 0.000000
entity 71 mahu1.creature 4160.000000 -3684.000000 0.000000
entity 72 mahc1.creature 4162.000000 -3684.000000 0.000000
entity 73 mahc2.creature 4164.000000 -3684.000000 0.000000
entity 74 mahc3.creature 4166.000000 -3684.000000 0.000000
entity 75 maha1.creature 4168.000000 -3684.000000 0.000000
entity 76 maha2.creature 4170.000000 -3684.000000 0.000000
entity 77 maha3.creature 4172.000000 -3684.000000 0.000000
entity 78 mafu1.creature 4174.000000 -3684.000000 0.000000
entity 79 mafc1.creature 4176.000000 -3684.000000 0.000000
entity 80 mafc2.creature 4178.000000 -3684.000000 0.000000
entity 81 mafc3.creature 4180.000000 -3684.000000 0.000000
entity 82 mafa1.creature 4182.000000 -3684.000000 0.000000
entity 83 mafa2.creature 4184.000000 -3684.000000 0.000000
entity 84 mafa3.creature 4186.000000 -3684.000000 0.000000
entity 85 fyhu1.creature 4160.000000 -3688.000000 0.000000
entity 86 fyhc1.creature 4162.000000 -3688.000000 0.000000
entity 87 fyhc2.creature 4164.000000 -3688.000000 0.000000
entity 88 fyhc3.creature 4166.000000 -3688.000000 0.000000
entity 89 fyha1.creature 4168.000000 -3688.000000 0.000000
entity 90 fyha2.creature 4170.000000 -3688.000000 0.000000
entity 91 fyha3.creature 4172.000000 -3688.000000 0.000000
entity 92 fyfu1.creature 4174.000000 -3688.000000 0.000000
entity 93 fyfc1.creature 4176.000000 -3688.000000 0.000000
entity 94 fyfc2.creature 4178.000000 -3688.000000 0.000000
entity 95 fyfc3.creature 4180.000000 -3688.000000 0.000000
entity 96 fyfa1.creature 4182.000000 -3688.000000 0.000000
entity 97 fyfa2.creature 4184.000000 -3688.000000 0.000000
entity 98 fyfa3.creature 4186.000000 -3688.000000 0.000000
entity 99 zohu1.creature 4160.000000 -3692.000000 0.000000
entity 100 zohc1.creature 4162.000000 -3692.000000 0.000000
entity 101 zohc2.creature 4164.000000 -3692.000000 0.000000
entity 102 zohc3.creature 4166.000000 -3692.000000 0.000000
entity 103 zoha1.creature 4168.000000 -3692.000000 0.000000
entity 104 zoha2.creature 4170.000000 -3692.000000 0.000000
entity 105 zoha3.creature 4172.000000 -3692.000000 0.000000
entity 106 zofu1.creature 4174.000000 -3692.000000 0.000000
entity 107 zofc1.creature 4176.000000 -3692.000000 0.000000
entity 108 zofc2.creature 4178.000000 -3692.000000 0.000000
entity 109 zofc3.creature 4180.000000 -3692.000000 0.000000
entity 110 zofa1.creature 4182.000000 -3692.000000 0.000000
entity 111 zofa2.creature 4184.000000 -3692.000000 0.000000
entity 112 zofa3.creature 4186.000000 -3692.000000 0.000000
entity 113 trhu1.creature 4160.000000 -3700.000000 0.000000
entity 114 trhc1.creature 4162.000000 -3700.000000 0.000000
entity 115 trhc2.creature 4164.000000 -3700.000000 0.000000
entity 116 trhc3.creature 4166.000000 -3700.000000 0.000000
entity 117 trha1.creature 4168.000000 -3700.000000 0.000000
entity 118 trha2.creature 4170.000000 -3700.000000 0.000000
entity 119 trha3.creature 4172.000000 -3700.000000 0.000000
entity 120 trfu1.creature 4174.000000 -3700.000000 0.000000
entity 121 trfc1.creature 4176.000000 -3700.000000 0.000000
entity 122 trfc2.creature 4178.000000 -3700.000000 0.000000
entity 123 trfc3.creature 4180.000000 -3700.000000 0.000000
entity 124 trfa1.creature 4182.000000 -3700.000000 0.000000
entity 125 trfa2.creature 4184.000000 -3700.000000 0.000000
entity 126 trfa3.creature 4186.000000 -3700.000000 0.000000
entity 127 mahu1.creature 4160.000000 -3704.000000 0.000000
entity 128 mahc1.creature 4162.000000 -3704.000000 0.000000
entity 129 mahc2.creature 4164.000000 -3704.000000 0.000000
entity 130 mahc3.creature 4166.000000 -3704.000000 0.000000
entity 131 maha1.creature 4168.000000 -3704.000000 0.000000
entity 132 maha2.creature 4170.000000 -3704.000000 0.000000
entity 133 maha3.creature 4172.000000 -3704.000000 0.000000
entity 134 mafu1.creature 4174.000000 -3704.000000 0.000000
entity 135 mafc1.creature 4176.000000 -3704.000000 0.000000
entity 136 mafc2.creature 4178.000000 -3704.000000 0.000000
entity 137 mafc3.creature 4180.000000 -3704.000000 0.000000
entity 138 mafa1.creature 4182.000000 -3704.000000 0.000000
entity 139 mafa2.creature 4184.000000 -3704.000000 0.000000
entity 140 mafa3.creature 4186.000000 -3704.000000 0.000000
entity 141 fyhu1.creature 4160.000000 -3708.000000 0.000000
entity 142 fyhc1.creature 4162.000000 -3708.000000 0.000000
entity 143 fyhc2.creature 4164.000000 -3708.000000 0.000000
entity 144 fyhc3.creature 4166.000000 -3708.000000 0.000000
entity 145 fyha1.creature 4168.000000 -3708.000000 0.000000
entity 146 fyha2.creature 4170.000000 -3708.000000 0.000000
entity 147 fyha3.creature 4172.000000 -3708.000000 0.000000
entity 148 fyfu1.creature 4174.000000 -3708.000000 0.000000
entity 149 fyfc1.creature 4176.000000 -3708.000000 0.000000
entity 150 fyfc2.creature 4178.000000 -3708.000000 0.000000
entity 151 fyfc3.creature 4180.000000 -3708.000000 0.000000
entity 152 fyfa1.creature 4182.000000 -3708.000000 0.000000
entity 153 fyfa2.creature 4184.000000 -3708.000000 0.000000
entity 154 fyfa3.creature 4186.000000 -3708.000000 0.000000
entity 155 zohu1.creature 4160.000000 -3712.000000 0.000000
entity 156 zohc1.creature 4162.000000 -3712.000000 0.000000
entity 157 zohc2.creature 4164.000000 -3712.000000 0.000000
entity 158 zohc3.creature 4166.000000 -3712.000000 0.000000
entity 159 zoha1.creature 4168.000000 -3712.000000 0.000000
entity 160 zoha2.creature 4170.000000 -3712.000000 0.000000
entity 161 zoha3.creature 4172.000000 -3712.000000 0.000000
entity 162 zofu1.creature 4174.000000 -3712.000000 0.000000
entity 163 zofc1.creature 4176.000000 -3712.000000 0.000000
entity 164 zofc2.creature 4178.000000 -3712.000000 0.000000
entity 165 zofc3.creature 4180.000000 -3712.000000 0.000000
entity 166 zofa1.creature 4182.000000 -3712.000000 0.000000
entity 167 zofa2.creature 4184.000000 -3712.000000 0.000000
entity 168 zofa3.creature 4186.000000 -3712.000000 0.000000
entity 169 trhu1.creature 4160.000000 -3720.000000 0.000000
entity 170 trhc1.creature 4162.000000 -3720.000000 0.000000
entity 171 trhc2.creature 4164.000000 -3720.000000 0.000000
entity 172 trhc3.creature 4166.000000 -3720.000000 0.000000
entity 173 trha1.creature 4168.000000 -3720.000000 0.000000
entity 174 trha2.creature 4170.000000 -3720.000000 0.000000
entity 175 trha3.creature 4172.000000 -3720.000000 0.000000
entity 176 trfu1.creature 4174.000000 -3720.000000 0.000000
entity 177 trfc1.creature 4176.000000 -3720.000000 0.000000
entity 178 trfc2.creature 4178.000000 -3720.000000 0.000000
entity 179 trfc3.creature 4180.000000 -3720.000000 0.000000
entity 180 trfa1.creature 4182.000000 -3720.000000 0.000000
entity 181 trfa2.creature 4184.000000 -3720.000000 0.000000
entity 182 trfa3.creature 4186.000000 -3720.000000 0.000000
entity 183 mahu1.creature 4160.000000 -3720.000000 0.000000
entity 184 mahc1.creature 4162.000000 -3720.000000 0.000000
entity 185 mahc2.creature 4164.000000 -3720.000000 0.000000
entity 186 mahc3.creature 4166.000000 -3720.000000 0.000000
entity 187 maha1.creature 4168.000000 -3720.000000 0.000000
entity 188 maha2.creature 4170.000000 -3720.000000 0.000000
entity 189 maha3.creature 4172.000000 -3720.000000 0.000000
entity 190 mafu1.creature 4174.000000 -3720.000000 0.000000
entity 191 mafc1.creature 4176.000000 -3720.000000 0.000000
entity 192 mafc2.creature 4178.000000 -3720.000000 0.000000
entity 193 mafc3.creature 4180.000000 -3720.000000 0.000000
entity 194 mafa1.creature 4182.000000 -3720.000000 0.000000
entity 195 mafa2.creature 4184.000000 -3720.000000 0.000000
entity 196 mafa3.creature 4186.000000 -3720.000000 0.000000
entity 197 fyhu1.creature 4160.000000 -3720.000000 0.000000
entity 198 fyhc1.creature 4162.000000 -3720.000000 0.000000
entity 199 fyhc2.creature 4164.000000 -3720.000000 0.000000
entity 200 fyhc3.creature 4166.000000 -3720.000000 0.000000
entity 201 fyha1.creature 4168.000000 -3720.000000 0.000000
entity 202 fyha2.creature 4170.000000 -3720.000000 0.000000
entity 203 fyha3.creature 4172.000000 -3720.000000 0.000000
entity 204 fyfu1.creature 4174.000000 -3720.000000 0.000000
entity 205 fyfc1.creature 4176.000000 -3720.000000 0.000000
entity 206 fyfc2.creature 4178.000000 -3720.000000 0.000000
entity 207 fyfc3.creature 4180.000000 -3720.000000 0.000000
entity 208 fyfa1.creature 4182.000000 -3720.000000 0.000000
entity 209 fyfa2.creature 4184.000000 -3720.000000 0.000000
entity 210 fyfa3.creature 4186.000000 -3720.000000 0.000000
entity 211 zohu1.creature 4160.000000 -3732.000000 0.000000
entity 212 zohc1.creature 4162.000000 -3732.000000 0.000000
entity 213 zohc2.creature 4164.000000 -3732.000000 0.000000
entity 214 zohc3.creature 4166.000000 -3732.000000 0.000000
entity 215 zoha1.creature 4168.000000 -3732.000000 0.000000
entity 216 zoha2.creature 4170.000000 -3732.000000 0.000000
entity 217 zoha3.creature 4172.000000 -3732.000000 0.000000
entity 218 zofu1.creature 4174.000000 -3732.000000 0.000000
entity 219 zofc1.creature 4176.000000 -3732.000000 0.000000
entity 220 zofc2.creature 4178.000000 -3732.000000 0.000000
entity 221 zofc3.creature 4180.000000 -3732.000000 0.000000
entity 222 zofa1.creature 4182.000000 -3732.000000 0.000000
entity 223 zofa2.creature 4184.000000 -3732.000000 0.000000
entity 224 zofa3.creature 4186.000000 -3732.000000 0.000000

View file

@ -0,0 +1,134 @@
db SERVER:GUILD:NAME 321465
db SERVER:FAME:THRESHOLD_TRADE -35
db SERVER:FAME:THRESHOLD_KOS -65
db SERVER:FAME:PLAYER0:VALUE 30
db SERVER:FAME:PLAYER0:THRESHOLD 70
db SERVER:FAME:PLAYER1:VALUE -20
db SERVER:FAME:PLAYER1:THRESHOLD 70
db SERVER:FAME:PLAYER2:VALUE -80
db SERVER:FAME:PLAYER2:THRESHOLD 20
db SERVER:FAME:PLAYER3:VALUE -50
db SERVER:FAME:PLAYER3:THRESHOLD 80
db SERVER:FAME:PLAYER4:VALUE -50
db SERVER:FAME:PLAYER4:THRESHOLD 80
db SERVER:FAME:PLAYER5:VALUE 75
db SERVER:FAME:PLAYER5:THRESHOLD 80
db SERVER:GUILD:FAME:0:VALUE 15
db SERVER:GUILD:FAME:0:THRESHOLD 90
db SERVER:GUILD:FAME:1:VALUE 25
db SERVER:GUILD:FAME:1:THRESHOLD 80
db SERVER:GUILD:FAME:2:VALUE 35
db SERVER:GUILD:FAME:2:THRESHOLD 70
db SERVER:GUILD:FAME:3:VALUE 45
db SERVER:GUILD:FAME:3:THRESHOLD 60
db SERVER:GUILD:FAME:4:VALUE 55
db SERVER:GUILD:FAME:4:THRESHOLD 50
db SERVER:GUILD:FAME:5:VALUE 65
db SERVER:GUILD:FAME:5:THRESHOLD 40
db SERVER:FAME:TRIBE0:VALUE 75
db SERVER:FAME:TRIBE0:THRESHOLD 80
db SERVER:FAME:TRIBE1:VALUE 65
db SERVER:FAME:TRIBE1:THRESHOLD 70
db SERVER:FAME:TRIBE2:VALUE 55
db SERVER:FAME:TRIBE2:THRESHOLD 80
db SERVER:FAME:TRIBE3:VALUE 45
db SERVER:FAME:TRIBE3:THRESHOLD 60
db SERVER:FAME:TRIBE4:VALUE 35
db SERVER:FAME:TRIBE4:THRESHOLD 80
db SERVER:FAME:TRIBE5:VALUE 25
db SERVER:FAME:TRIBE5:THRESHOLD 40
db SERVER:FAME:TRIBE6:VALUE 15
db SERVER:FAME:TRIBE6:THRESHOLD 30
db SERVER:FAME:TRIBE7:VALUE 5
db SERVER:FAME:TRIBE7:THRESHOLD 80
db SERVER:FAME:TRIBE8:VALUE -15
db SERVER:FAME:TRIBE8:THRESHOLD 20
db SERVER:FAME:TRIBE9:VALUE -25
db SERVER:FAME:TRIBE9:THRESHOLD 80
db SERVER:FAME:TRIBE10:VALUE -35
db SERVER:FAME:TRIBE10:THRESHOLD 10
db SERVER:FAME:TRIBE11:VALUE -45
db SERVER:FAME:TRIBE11:THRESHOLD 10
db SERVER:FAME:TRIBE12:VALUE -55
db SERVER:FAME:TRIBE12:THRESHOLD 10
db SERVER:FAME:TRIBE13:VALUE -65
db SERVER:FAME:TRIBE13:THRESHOLD -50
db SERVER:FAME:TRIBE14:VALUE -75
db SERVER:FAME:TRIBE14:THRESHOLD 10
db SERVER:FAME:TRIBE15:VALUE -85
db SERVER:FAME:TRIBE15:THRESHOLD -10
db SERVER:FAME:TRIBE16:VALUE -95
db SERVER:FAME:TRIBE16:THRESHOLD 10
db SERVER:FAME:TRIBE17:VALUE -35
db SERVER:FAME:TRIBE17:THRESHOLD 10
db SERVER:FAME:TRIBE18:VALUE -45
db SERVER:FAME:TRIBE18:THRESHOLD 10
db SERVER:FAME:TRIBE19:VALUE -55
db SERVER:FAME:TRIBE19:THRESHOLD -20
db SERVER:FAME:TRIBE20:VALUE -15
db SERVER:FAME:TRIBE20:THRESHOLD 30
db SERVER:FAME:TRIBE21:VALUE 55
db SERVER:FAME:TRIBE21:THRESHOLD 10
db SERVER:FAME:TRIBE22:VALUE 65
db SERVER:FAME:TRIBE22:THRESHOLD 20
db SERVER:FAME:TRIBE23:VALUE 75
db SERVER:FAME:TRIBE23:THRESHOLD 38
db SERVER:FAME:TRIBE24:VALUE 85
db SERVER:FAME:TRIBE24:THRESHOLD 43
db SERVER:FAME:TRIBE25:VALUE 25
db SERVER:FAME:TRIBE25:THRESHOLD 21
db SERVER:FAME:TRIBE26:VALUE -45
db SERVER:FAME:TRIBE26:THRESHOLD -48
db SERVER:FAME:TRIBE27:VALUE -15
db SERVER:FAME:TRIBE27:THRESHOLD 30
db SERVER:FAME:TRIBE28:VALUE -15
db SERVER:FAME:TRIBE28:THRESHOLD 30
db SERVER:FAME:TRIBE29:VALUE -15
db SERVER:FAME:TRIBE29:THRESHOLD 30
db SERVER:FAME:TRIBE30:VALUE -15
db SERVER:FAME:TRIBE30:THRESHOLD 30
db SERVER:PVP_EFFECTS:PVP_FACTION_POINTS:CULT 2
db SERVER:PVP_EFFECTS:PVP_FACTION_POINTS:CULT_POINTS 9741
db SERVER:PVP_EFFECTS:PVP_FACTION_POINTS:CIV 7
db SERVER:PVP_EFFECTS:PVP_FACTION_POINTS:CIV_POINTS 5413
db SERVER:PVP_EFFECTS:0:ID 232784071
db SERVER:PVP_EFFECTS:0:ISBONUS 1
db SERVER:PVP_EFFECTS:0:PARAM 430
db SERVER:PVP_EFFECTS:1:ID 232784028
db SERVER:PVP_EFFECTS:1:ISBONUS 1
db SERVER:PVP_EFFECTS:1:PARAM 10
db SERVER:PVP_EFFECTS:2:ID 240124093
db SERVER:PVP_EFFECTS:2:ISBONUS 1
db SERVER:PVP_EFFECTS:2:PARAM 370
db SERVER:PVP_EFFECTS:3:ID 234881134
db SERVER:PVP_EFFECTS:3:ISBONUS 1
db SERVER:PVP_EFFECTS:3:PARAM 15
db SERVER:PVP_EFFECTS:4:ID 240124011
db SERVER:PVP_EFFECTS:4:ISBONUS 1
db SERVER:PVP_EFFECTS:4:PARAM 610
db SERVER:PVP_EFFECTS:5:ID 239075368
db SERVER:PVP_EFFECTS:5:ISBONUS 1
db SERVER:PVP_EFFECTS:5:PARAM 250
db SERVER:PVP_EFFECTS:6:ID 234881211
db SERVER:PVP_EFFECTS:6:ISBONUS 1
db SERVER:PVP_EFFECTS:6:PARAM 180

View file

@ -0,0 +1,15 @@
family_name id type description texture_id texture
root 0 ROOT root bricks 9000 root_bricks.tga
spell_power 1 KEY power of the spell 9001 power.tga
effect_area 2 SUFFIX define the effect area of the spell 9002 area.tga
casting_time 3 SUFFIX inc/dec the casting time of the spell 9003 casting_time.tga
range 4 KEY range of the spell 9004 range.tga
characteristic 5 KEY choose affected characteristic 9005 charac.tga
virulence 6 KEY virulence 9006 virulence.tga
healing 7 KEY healing power 9007 healing_power.tga
spell length 8 KEY length of spell effects 9008 effect_length.tga
destination 9 KEY teleport's destination 10003 teleport.tga
reduce resistance 10 SUFFIX reduce target's resistance 10003 teleport.tga
easy 11 SUFFIX reduce spell difficulty 10003 teleport.tga
cheap 12 SUFFIX reduce spell cost 10003 teleport.tga
concentration 13 SUFFIX reduce casting interruption chances 10003 teleport.tga

View file

@ -0,0 +1,696 @@
db SERVER:INTERFACES:FLAGS 255
db SERVER:CHARACTER_INFO:SCORES:MaxHitPoints 100
db SERVER:CHARACTER_INFO:SCORES:BaseHitPoints 120
db SERVER:CHARACTER_INFO:SCORES:MaxStamina 120
db SERVER:CHARACTER_INFO:SCORES:BaseStamina 100
db SERVER:CHARACTER_INFO:SCORES:MaxSap 100
db SERVER:CHARACTER_INFO:SCORES:BaseSap 100
db SERVER:CHARACTER_INFO:SCORES:MaxFocus 100
db SERVER:CHARACTER_INFO:SCORES:BaseFocus 100
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Constitution 33
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Metabolism 100
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Strength 50
db SERVER:CHARACTER_INFO:CHARACTERISTICS:WellBalanced 30
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Intelligence 30
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Wisdom 420
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Dexterity 121
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Will 654
db SERVER:USER:SKILL_POINTS 1000
db SERVER:TARGET:BARS:HP 80
db SERVER:TARGET:BARS:STA 32
db SERVER:TARGET:BARS:SAP 69
db SERVER:TARGET:BARS:FOCUS 95
// Default Quantities
db SERVER:INVENTORY:BAG:0:QUANTITY 1
db SERVER:INVENTORY:BAG:1:QUANTITY 1
db SERVER:INVENTORY:BAG:2:QUANTITY 1
db SERVER:INVENTORY:BAG:3:QUANTITY 1
db SERVER:INVENTORY:BAG:4:QUANTITY 1
db SERVER:INVENTORY:BAG:5:QUANTITY 1
db SERVER:INVENTORY:BAG:6:QUANTITY 1
db SERVER:INVENTORY:BAG:7:QUANTITY 1
db SERVER:INVENTORY:BAG:8:QUANTITY 1
db SERVER:INVENTORY:BAG:9:QUANTITY 1
db SERVER:INVENTORY:BAG:10:QUANTITY 1
db SERVER:INVENTORY:BAG:11:QUANTITY 1
db SERVER:INVENTORY:BAG:12:QUANTITY 1
db SERVER:INVENTORY:BAG:13:QUANTITY 1
db SERVER:INVENTORY:BAG:14:QUANTITY 1
db SERVER:INVENTORY:BAG:15:QUANTITY 1
db SERVER:INVENTORY:BAG:16:QUANTITY 1
db SERVER:INVENTORY:BAG:17:QUANTITY 1
db SERVER:INVENTORY:BAG:18:QUANTITY 1
db SERVER:INVENTORY:BAG:19:QUANTITY 1
db SERVER:INVENTORY:BAG:20:QUANTITY 1
db SERVER:INVENTORY:BAG:21:QUANTITY 1
db SERVER:INVENTORY:BAG:22:QUANTITY 1
db SERVER:INVENTORY:BAG:23:QUANTITY 1
db SERVER:INVENTORY:BAG:24:QUANTITY 1
db SERVER:INVENTORY:BAG:25:QUANTITY 1
db SERVER:INVENTORY:BAG:26:QUANTITY 1
db SERVER:INVENTORY:BAG:27:QUANTITY 1
db SERVER:INVENTORY:BAG:28:QUANTITY 1
db SERVER:INVENTORY:BAG:29:QUANTITY 1
db SERVER:INVENTORY:BAG:30:QUANTITY 1
db SERVER:INVENTORY:BAG:31:QUANTITY 1
db SERVER:INVENTORY:BAG:32:QUANTITY 1
db SERVER:INVENTORY:BAG:33:QUANTITY 1
db SERVER:INVENTORY:BAG:34:QUANTITY 1
db SERVER:INVENTORY:BAG:35:QUANTITY 1
db SERVER:INVENTORY:BAG:36:QUANTITY 1
db SERVER:INVENTORY:BAG:37:QUANTITY 1
db SERVER:INVENTORY:BAG:38:QUANTITY 1
db SERVER:INVENTORY:BAG:39:QUANTITY 1
db SERVER:INVENTORY:BAG:40:QUANTITY 1
db SERVER:INVENTORY:BAG:41:QUANTITY 1
db SERVER:INVENTORY:BAG:42:QUANTITY 1
db SERVER:INVENTORY:BAG:43:QUANTITY 1
db SERVER:INVENTORY:BAG:44:QUANTITY 1
db SERVER:INVENTORY:BAG:45:QUANTITY 1
db SERVER:INVENTORY:BAG:46:QUANTITY 1
db SERVER:INVENTORY:BAG:47:QUANTITY 1
db SERVER:INVENTORY:BAG:48:QUANTITY 1
db SERVER:INVENTORY:BAG:49:QUANTITY 1
db SERVER:INVENTORY:BAG:50:QUANTITY 1
db SERVER:INVENTORY:BAG:51:QUANTITY 1
db SERVER:INVENTORY:BAG:52:QUANTITY 1
db SERVER:INVENTORY:BAG:53:QUANTITY 1
db SERVER:INVENTORY:BAG:54:QUANTITY 1
db SERVER:INVENTORY:BAG:55:QUANTITY 1
db SERVER:INVENTORY:BAG:56:QUANTITY 1
db SERVER:INVENTORY:BAG:57:QUANTITY 1
db SERVER:INVENTORY:BAG:58:QUANTITY 1
db SERVER:INVENTORY:BAG:59:QUANTITY 1
db SERVER:INVENTORY:BAG:0:SHEET icmalp.sitem
db SERVER:INVENTORY:BAG:0:QUALITY 66
db SERVER:INVENTORY:BAG:0:QUANTITY 1
db SERVER:INVENTORY:BAG:0:USER_COLOR 2
db SERVER:INVENTORY:BAG:0:LOCKED 0
db SERVER:INVENTORY:BAG:0:WEIGHT 100
db SERVER:INVENTORY:BAG:0:NAMEID 18
db SERVER:INVENTORY:BAG:0:INFO_VERSION 11
db SERVER:INVENTORY:BAG:0:ENCHANT 99
db SERVER:INVENTORY:BAG:0:RM_CLASS_TYPE 3
db SERVER:INVENTORY:BAG:0:RM_FABER_STAT_TYPE 5
db SERVER:INVENTORY:BAG:1:SHEET ictalp.sitem
db SERVER:INVENTORY:BAG:1:QUALITY 50
db SERVER:INVENTORY:BAG:1:WEIGHT 50
db SERVER:INVENTORY:BAG:2:SHEET icfm1ss.sitem
db SERVER:INVENTORY:BAG:2:QUALITY 0
db SERVER:INVENTORY:BAG:2:WEIGHT 35
db SERVER:INVENTORY:BAG:2:RM_CLASS_TYPE 4
db SERVER:INVENTORY:BAG:2:RM_FABER_STAT_TYPE 3
db SERVER:INVENTORY:BAG:3:SHEET icfm2pp.sitem
db SERVER:INVENTORY:BAG:3:QUALITY 50
db SERVER:INVENTORY:BAG:3:WEIGHT 150
db SERVER:INVENTORY:BAG:4:SHEET icmm2bm.sitem
db SERVER:INVENTORY:BAG:4:QUALITY 50
db SERVER:INVENTORY:BAG:4:WEIGHT 90
db SERVER:INVENTORY:BAG:5:SHEET icmp1bs.sitem
db SERVER:INVENTORY:BAG:5:QUALITY 50
db SERVER:INVENTORY:BAG:5:WEIGHT 33
db SERVER:INVENTORY:BAG:5:QUANTITY 12
db SERVER:INVENTORY:BAG:6:SHEET icmp2rp.sitem
db SERVER:INVENTORY:BAG:6:QUALITY 50
db SERVER:INVENTORY:BAG:6:WEIGHT 77
db SERVER:INVENTORY:BAG:6:QUANTITY 12
db SERVER:INVENTORY:BAG:7:SHEET icmja.sitem
db SERVER:INVENTORY:BAG:7:QUALITY 50
db SERVER:INVENTORY:BAG:7:WEIGHT 161
db SERVER:INVENTORY:BAG:8:SHEET icmjp.sitem
db SERVER:INVENTORY:BAG:8:QUALITY 50
db SERVER:INVENTORY:BAG:8:WEIGHT 88
db SERVER:INVENTORY:BAG:9:SHEET icmr2b.sitem
db SERVER:INVENTORY:BAG:9:QUALITY 50
db SERVER:INVENTORY:BAG:9:WEIGHT 185
db SERVER:INVENTORY:BAG:10:SHEET icmm1sa.sitem
db SERVER:INVENTORY:BAG:10:QUALITY 50
db SERVER:INVENTORY:BAG:10:WEIGHT 12
db SERVER:INVENTORY:BAG:11:SHEET icmm1pd.sitem
db SERVER:INVENTORY:BAG:11:QUALITY 50
db SERVER:INVENTORY:BAG:11:WEIGHT 13
db SERVER:INVENTORY:BAG:12:SHEET iccm2ms.sitem
db SERVER:INVENTORY:BAG:12:QUALITY 50
db SERVER:INVENTORY:BAG:12:WEIGHT 117
db SERVER:INVENTORY:BAG:15:SHEET iapj3.sitem
db SERVER:INVENTORY:BAG:15:QUALITY 50
db SERVER:INVENTORY:BAG:15:WEIGHT 5
db SERVER:INVENTORY:BAG:15:QUALITY 5
db SERVER:INVENTORY:BAG:24:SHEET itforage.sitem
db SERVER:INVENTORY:BAG:24:QUALITY 50
db SERVER:INVENTORY:BAG:24:WEIGHT 35
db SERVER:INVENTORY:BAG:50:SHEET icfamp.sitem
db SERVER:INVENTORY:BAG:50:QUALITY 50
db SERVER:INVENTORY:BAG:50:WEIGHT 35
db SERVER:INVENTORY:BAG:51:SHEET icfahp.sitem
db SERVER:INVENTORY:BAG:51:QUALITY 50
db SERVER:INVENTORY:BAG:51:WEIGHT 35
db SERVER:INVENTORY:BAG:52:SHEET iccsb.sitem
db SERVER:INVENTORY:BAG:52:QUALITY 50
db SERVER:INVENTORY:BAG:52:WEIGHT 35
db SERVER:INVENTORY:BAG:53:SHEET iccss.sitem
db SERVER:INVENTORY:BAG:53:QUALITY 50
db SERVER:INVENTORY:BAG:53:WEIGHT 35
db SERVER:INVENTORY:BAG:54:SHEET iccm2ms.sitem
db SERVER:INVENTORY:BAG:54:QUALITY 50
db SERVER:INVENTORY:BAG:54:WEIGHT 35
db SERVER:INVENTORY:MONEY 8532
// Faber
// Tool
db SERVER:INVENTORY:BAG:11:SHEET itmwea.sitem
db SERVER:INVENTORY:BAG:11:QUANTITY 1
db SERVER:INVENTORY:BAG:11:QUALITY 5
db SERVER:INVENTORY:BAG:12:SHEET itarmor.sitem
db SERVER:INVENTORY:BAG:12:QUANTITY 1
db SERVER:INVENTORY:BAG:12:QUALITY 5
db SERVER:INVENTORY:BAG:13:SHEET itrwea.sitem
db SERVER:INVENTORY:BAG:13:QUANTITY 1
db SERVER:INVENTORY:BAG:13:QUALITY 5
db SERVER:INVENTORY:BAG:14:SHEET itammo.sitem
db SERVER:INVENTORY:BAG:14:QUANTITY 1
db SERVER:INVENTORY:BAG:14:QUALITY 10
db SERVER:INVENTORY:BAG:54:SHEET itjewel.sitem
db SERVER:INVENTORY:BAG:54:QUANTITY 1
db SERVER:INVENTORY:BAG:54:QUALITY 10
db SERVER:INVENTORY:BAG:16:SHEET m0741dxacc01.sitem
db SERVER:INVENTORY:BAG:16:QUANTITY 121
db SERVER:INVENTORY:BAG:16:QUALITY 2
// Mp-2
db SERVER:INVENTORY:BAG:17:SHEET m0152chdca01.sitem
db SERVER:INVENTORY:BAG:17:QUANTITY 80
db SERVER:INVENTORY:BAG:17:QUALITY 1
db SERVER:INVENTORY:BAG:18:SHEET m0152chdca01.sitem
db SERVER:INVENTORY:BAG:18:QUANTITY 80
db SERVER:INVENTORY:BAG:18:QUALITY 12
db SERVER:INVENTORY:BAG:19:SHEET m0498chwdc01.sitem
db SERVER:INVENTORY:BAG:19:QUANTITY 20
db SERVER:INVENTORY:BAG:19:QUALITY 1
db SERVER:INVENTORY:BAG:20:SHEET m0498chwdd01.sitem
db SERVER:INVENTORY:BAG:20:QUANTITY 20
db SERVER:INVENTORY:BAG:20:QUALITY 1
db SERVER:INVENTORY:BAG:21:SHEET m0498chwfd01.sitem
db SERVER:INVENTORY:BAG:21:QUANTITY 20
db SERVER:INVENTORY:BAG:21:QUALITY 3
// Mp-3
db SERVER:INVENTORY:BAG:22:SHEET m0367chnca01.sitem
db SERVER:INVENTORY:BAG:22:QUANTITY 20
db SERVER:INVENTORY:BAG:22:QUALITY 20
db SERVER:INVENTORY:BAG:23:SHEET m0556ccnca01.sitem
db SERVER:INVENTORY:BAG:23:QUANTITY 20
db SERVER:INVENTORY:BAG:23:QUALITY 20
db SERVER:INVENTORY:BAG:24:SHEET m0616chvca01.sitem
db SERVER:INVENTORY:BAG:24:QUANTITY 20
db SERVER:INVENTORY:BAG:24:QUALITY 20
db SERVER:INVENTORY:BAG:25:SHEET m0507chnca01.sitem
db SERVER:INVENTORY:BAG:25:QUANTITY 20
db SERVER:INVENTORY:BAG:25:QUALITY 20
db SERVER:INVENTORY:BAG:26:SHEET m0307cdald01.sitem
db SERVER:INVENTORY:BAG:26:QUANTITY 20
db SERVER:INVENTORY:BAG:26:QUALITY 20
// MP Bark
db SERVER:INVENTORY:BAG:100:SHEET m0014dxacb01.sitem
db SERVER:INVENTORY:BAG:100:QUANTITY 10
db SERVER:INVENTORY:BAG:100:QUALITY 20
db SERVER:INVENTORY:BAG:101:SHEET m0101dxacb01.sitem
db SERVER:INVENTORY:BAG:101:QUANTITY 10
db SERVER:INVENTORY:BAG:101:QUALITY 20
db SERVER:INVENTORY:BAG:102:SHEET m0190dxacb01.sitem
db SERVER:INVENTORY:BAG:102:QUANTITY 10
db SERVER:INVENTORY:BAG:102:QUALITY 20
db SERVER:INVENTORY:BAG:103:SHEET m0191dxacb01.sitem
db SERVER:INVENTORY:BAG:103:QUANTITY 10
db SERVER:INVENTORY:BAG:103:QUALITY 20
db SERVER:INVENTORY:BAG:104:SHEET m0191dxacc01.sitem
db SERVER:INVENTORY:BAG:104:QUANTITY 10
db SERVER:INVENTORY:BAG:104:QUALITY 20
db SERVER:INVENTORY:BAG:105:SHEET m0191dxadd01.sitem
db SERVER:INVENTORY:BAG:105:QUANTITY 10
db SERVER:INVENTORY:BAG:105:QUALITY 20
db SERVER:INVENTORY:BAG:106:SHEET m0191dxade01.sitem
db SERVER:INVENTORY:BAG:106:QUANTITY 10
db SERVER:INVENTORY:BAG:106:QUALITY 20
db SERVER:INVENTORY:BAG:107:SHEET m0043ccaca01.sitem
db SERVER:INVENTORY:BAG:107:QUANTITY 10
db SERVER:INVENTORY:BAG:107:QUALITY 20
db SERVER:INVENTORY:BAG:108:SHEET m0043ccacb01.sitem
db SERVER:INVENTORY:BAG:108:QUANTITY 10
db SERVER:INVENTORY:BAG:108:QUALITY 20
db SERVER:INVENTORY:BAG:109:SHEET m0106cceca01.sitem
db SERVER:INVENTORY:BAG:109:QUANTITY 10
db SERVER:INVENTORY:BAG:109:QUALITY 20
db SERVER:INVENTORY:BAG:110:SHEET m0134ccdca01.sitem
db SERVER:INVENTORY:BAG:110:QUANTITY 10
db SERVER:INVENTORY:BAG:110:QUALITY 20
db SERVER:INVENTORY:BAG:111:SHEET m0154ccica01.sitem
db SERVER:INVENTORY:BAG:111:QUANTITY 10
db SERVER:INVENTORY:BAG:111:QUALITY 20
db SERVER:INVENTORY:BAG:112:SHEET m0386ccoca01.sitem
db SERVER:INVENTORY:BAG:112:QUANTITY 10
db SERVER:INVENTORY:BAG:112:QUALITY 20
db SERVER:INVENTORY:BAG:113:SHEET m0467cclca01.sitem
db SERVER:INVENTORY:BAG:113:QUANTITY 10
db SERVER:INVENTORY:BAG:113:QUALITY 20
db SERVER:INVENTORY:BAG:114:SHEET m0468ccfca01.sitem
db SERVER:INVENTORY:BAG:114:QUANTITY 10
db SERVER:INVENTORY:BAG:114:QUALITY 20
db SERVER:INVENTORY:BAG:115:SHEET m0526checa01.sitem
db SERVER:INVENTORY:BAG:115:QUANTITY 10
db SERVER:INVENTORY:BAG:115:QUALITY 20
db SERVER:INVENTORY:BAG:116:SHEET m0577ccmca01.sitem
db SERVER:INVENTORY:BAG:116:QUANTITY 10
db SERVER:INVENTORY:BAG:116:QUALITY 20
db SERVER:INVENTORY:BAG:117:SHEET m0597ckeca01.sitem
db SERVER:INVENTORY:BAG:117:QUANTITY 10
db SERVER:INVENTORY:BAG:117:QUALITY 20
db SERVER:INVENTORY:BAG:118:SHEET m0671cchca01.sitem
db SERVER:INVENTORY:BAG:118:QUANTITY 10
db SERVER:INVENTORY:BAG:118:QUALITY 20
db SERVER:INVENTORY:BAG:119:SHEET m0339ccaca01.sitem
db SERVER:INVENTORY:BAG:119:QUANTITY 10
db SERVER:INVENTORY:BAG:119:QUALITY 20
db SERVER:INVENTORY:BAG:120:SHEET m0339ccacb01.sitem
db SERVER:INVENTORY:BAG:120:QUANTITY 10
db SERVER:INVENTORY:BAG:120:QUALITY 20
db SERVER:INVENTORY:BAG:121:SHEET m0339ccafc01.sitem
db SERVER:INVENTORY:BAG:121:QUANTITY 10
db SERVER:INVENTORY:BAG:121:QUALITY 20
db SERVER:INVENTORY:BAG:122:SHEET m0343cceca01.sitem
db SERVER:INVENTORY:BAG:122:QUANTITY 10
db SERVER:INVENTORY:BAG:122:QUALITY 20
db SERVER:INVENTORY:BAG:123:SHEET m0384cclcb01.sitem
db SERVER:INVENTORY:BAG:123:QUANTITY 10
db SERVER:INVENTORY:BAG:123:QUALITY 20
db SERVER:INVENTORY:BAG:123:SHEET m0312dxacf01.sitem
db SERVER:INVENTORY:BAG:123:QUANTITY 99
db SERVER:INVENTORY:BAG:123:QUALITY 20
// enchantment
db SERVER:INVENTORY:BAG:27:SHEET crystalized_spell.sitem
db SERVER:INVENTORY:BAG:27:QUANTITY 1
db SERVER:INVENTORY:BAG:27:QUALITY 3
db SERVER:INVENTORY:BAG:28:SHEET item_sap_recharge.sitem
db SERVER:INVENTORY:BAG:28:QUANTITY 30
db SERVER:INVENTORY:BAG:28:QUALITY 1
// pack animal
db SERVER:INVENTORY:BAG:29:SHEET iapd.sitem
db SERVER:INVENTORY:BAG:29:QUANTITY 1
db SERVER:INVENTORY:BAG:29:QUALITY 1
db SERVER:STATIC_DATA:BAG_BULK_MAX 400
db SERVER:PACK_ANIMAL:BEAST0:STATUS 15
db SERVER:PACK_ANIMAL:BEAST0:TYPE 2
db SERVER:PACK_ANIMAL:BEAST0:UID 2
db SERVER:PACK_ANIMAL:BEAST0:HP 40
db SERVER:PACK_ANIMAL:BEAST0:BULK_MAX 200
db SERVER:PACK_ANIMAL:BEAST1:STATUS 15
db SERVER:PACK_ANIMAL:BEAST1:TYPE 1
db SERVER:PACK_ANIMAL:BEAST1:UID 3
db SERVER:PACK_ANIMAL:BEAST1:HP 0
db SERVER:PACK_ANIMAL:BEAST1:BULK_MAX 300
db SERVER:PACK_ANIMAL:BEAST2:STATUS 15
db SERVER:PACK_ANIMAL:BEAST2:TYPE 2
db SERVER:PACK_ANIMAL:BEAST2:UID 4
db SERVER:PACK_ANIMAL:BEAST2:HP 0
db SERVER:PACK_ANIMAL:BEAST2:BULK_MAX 300
db SERVER:PACK_ANIMAL:BEAST3:STATUS 15
db SERVER:PACK_ANIMAL:BEAST3:TYPE 2
db SERVER:PACK_ANIMAL:BEAST3:UID 1
db SERVER:PACK_ANIMAL:BEAST3:HP 30
db SERVER:PACK_ANIMAL:BEAST3:BULK_MAX 100
db SERVER:INVENTORY:PACK_ANIMAL0:0:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:0:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL0:1:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:1:WEIGHT 50
db SERVER:INVENTORY:PACK_ANIMAL0:2:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:2:WEIGHT 35
db SERVER:INVENTORY:PACK_ANIMAL1:0:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:0:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:1:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:1:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:2:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:2:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:3:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:3:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:4:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:4:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:5:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:5:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:6:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:6:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:7:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:7:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:8:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:8:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:9:SHEET icmalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:9:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:10:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:10:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:11:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:11:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:12:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:12:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:13:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:13:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:14:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:14:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:15:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:15:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:16:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:16:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:17:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:17:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:18:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:18:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:19:SHEET ictalp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:19:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:20:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:20:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:21:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:21:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:22:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:22:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:23:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:23:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:24:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:24:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:25:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:25:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:26:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:26:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:27:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:27:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:28:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:28:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:29:SHEET icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:29:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:30:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:30:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:31:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:31:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:32:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:32:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:33:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:33:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:34:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:34:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:35:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:35:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:36:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:36:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:37:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:37:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:38:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:38:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:39:SHEET icmp2rp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:39:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:40:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:40:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:41:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:41:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:42:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:42:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:43:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:43:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:44:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:44:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:45:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:45:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:46:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:46:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:47:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:47:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:48:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:48:WEIGHT 100
db SERVER:INVENTORY:PACK_ANIMAL1:49:SHEET icmjp.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:49:WEIGHT 100
// Mp-1
// Mp-2
db SERVER:INVENTORY:PACK_ANIMAL0:17:SHEET m0079dxacb01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:17:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:17:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:18:SHEET m0024chcjc01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:18:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:18:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:19:SHEET m0024chcpd01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:19:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:19:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:20:SHEET m0079dxapf01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:20:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:20:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:21:SHEET m0104cabpd01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:21:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:21:QUALITY 41
// Mp-3
db SERVER:INVENTORY:PACK_ANIMAL0:22:SHEET m0046dxapc01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:22:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:22:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:23:SHEET m0077dxapb01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:23:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:23:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:24:SHEET m0046dxape01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:24:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:24:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:25:SHEET m0142dxacc01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:25:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:25:QUALITY 41
db SERVER:INVENTORY:PACK_ANIMAL0:26:SHEET m0077dxapb01.sitem
db SERVER:INVENTORY:PACK_ANIMAL0:26:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL0:26:QUALITY 41
// Mp-4
db SERVER:INVENTORY:PACK_ANIMAL1:50:SHEET m0046dxapc01.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:50:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL1:50:QUALITY 42
db SERVER:INVENTORY:PACK_ANIMAL1:51:SHEET m0077dxapb01.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:51:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL1:51:QUALITY 42
db SERVER:INVENTORY:PACK_ANIMAL1:52:SHEET m0046dxape01.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:52:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL1:52:QUALITY 42
db SERVER:INVENTORY:PACK_ANIMAL1:53:SHEET m0142dxacc01.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:53:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL1:53:QUALITY 42
db SERVER:INVENTORY:PACK_ANIMAL1:54:SHEET m0512chrca01.sitem
db SERVER:INVENTORY:PACK_ANIMAL1:54:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL1:54:QUALITY 42
// PackAnimal 2
db SERVER:INVENTORY:PACK_ANIMAL2:0:SHEET system_mp.sitem
db SERVER:INVENTORY:PACK_ANIMAL2:0:QUANTITY 20
db SERVER:INVENTORY:PACK_ANIMAL2:0:QUALITY 3
db SERVER:USER:DEATH_XP_MALUS 98
// BONUS MALUS
db SERVER:MODIFIERS:BONUS:0:DISABLED 1
db SERVER:MODIFIERS:BONUS:0:SHEET bfpa01.sbrick
db SERVER:MODIFIERS:BONUS:1:SHEET bmpa01.sbrick
db SERVER:MODIFIERS:BONUS:2:SHEET bmpa02.sbrick
db SERVER:MODIFIERS:BONUS:3:SHEET bmpa03.sbrick
db SERVER:MODIFIERS:BONUS:4:SHEET bmpa04.sbrick
db SERVER:MODIFIERS:BONUS:5:SHEET bcpa01.sbrick
db SERVER:MODIFIERS:BONUS:6:SHEET bcpa02.sbrick
db SERVER:MODIFIERS:BONUS:7:SHEET bcpa03.sbrick
db SERVER:MODIFIERS:BONUS:8:SHEET bcpa04.sbrick
db SERVER:MODIFIERS:BONUS:9:SHEET bcpa05.sbrick
db SERVER:MODIFIERS:BONUS:10:SHEET bcpa06.sbrick
db SERVER:MODIFIERS:BONUS:11:SHEET bcpa07.sbrick
db SERVER:MODIFIERS:MALUS:0:SHEET bfpa01.sbrick
db SERVER:MODIFIERS:BONUS:0:SHEET 0
db SERVER:MODIFIERS:BONUS:1:SHEET 0
db SERVER:MODIFIERS:BONUS:2:SHEET 0
db SERVER:MODIFIERS:BONUS:3:SHEET 0
//db SERVER:MODIFIERS:BONUS:4:SHEET 0
//db SERVER:MODIFIERS:BONUS:5:SHEET 0
db SERVER:MODIFIERS:BONUS:6:SHEET 0
db SERVER:MODIFIERS:BONUS:7:SHEET 0
db SERVER:MODIFIERS:BONUS:8:SHEET 0
db SERVER:MODIFIERS:BONUS:9:SHEET 0
db SERVER:MODIFIERS:BONUS:10:SHEET 0
db SERVER:MODIFIERS:BONUS:11:SHEET 0
//db SERVER:MODIFIERS:MALUS:0:SHEET 0
// Prices
db SERVER:INVENTORY:BAG:0:PRICE 0
db SERVER:INVENTORY:BAG:1:PRICE 1
db SERVER:INVENTORY:BAG:2:PRICE 2
db SERVER:INVENTORY:BAG:3:PRICE 3
db SERVER:INVENTORY:BAG:4:PRICE 4
db SERVER:INVENTORY:BAG:5:PRICE 5
db SERVER:INVENTORY:BAG:6:PRICE 6
db SERVER:INVENTORY:BAG:7:PRICE 7
db SERVER:INVENTORY:BAG:8:PRICE 8
db SERVER:INVENTORY:BAG:9:PRICE 9
db SERVER:INVENTORY:BAG:10:PRICE 10
db SERVER:INVENTORY:BAG:11:PRICE 11
db SERVER:INVENTORY:BAG:12:PRICE 12
db SERVER:INVENTORY:BAG:13:PRICE 13
db SERVER:INVENTORY:BAG:14:PRICE 14
db SERVER:INVENTORY:BAG:15:PRICE 15
db SERVER:INVENTORY:BAG:16:PRICE 16
db SERVER:INVENTORY:BAG:17:PRICE 17
db SERVER:INVENTORY:BAG:18:PRICE 18
db SERVER:INVENTORY:BAG:19:PRICE 19
db SERVER:INVENTORY:BAG:20:PRICE 20
db SERVER:INVENTORY:BAG:21:PRICE 21
db SERVER:INVENTORY:BAG:22:PRICE 22
db SERVER:INVENTORY:BAG:23:PRICE 23
db SERVER:INVENTORY:BAG:24:PRICE 24
db SERVER:INVENTORY:BAG:25:PRICE 25
db SERVER:INVENTORY:BAG:26:PRICE 26
db SERVER:INVENTORY:BAG:27:PRICE 27
db SERVER:INVENTORY:BAG:28:PRICE 28
db SERVER:INVENTORY:BAG:29:PRICE 29
db SERVER:INVENTORY:BAG:30:PRICE 30
db SERVER:INVENTORY:BAG:31:PRICE 31
db SERVER:INVENTORY:BAG:32:PRICE 32
db SERVER:INVENTORY:BAG:33:PRICE 33
db SERVER:INVENTORY:BAG:34:PRICE 34
db SERVER:INVENTORY:BAG:35:PRICE 35
db SERVER:INVENTORY:BAG:36:PRICE 36
db SERVER:INVENTORY:BAG:37:PRICE 37
db SERVER:INVENTORY:BAG:38:PRICE 38
db SERVER:INVENTORY:BAG:39:PRICE 39
db SERVER:INVENTORY:BAG:40:PRICE 40
db SERVER:INVENTORY:BAG:41:PRICE 41
db SERVER:INVENTORY:BAG:42:PRICE 42
db SERVER:INVENTORY:BAG:43:PRICE 43
db SERVER:INVENTORY:BAG:44:PRICE 44
db SERVER:INVENTORY:BAG:45:PRICE 45
db SERVER:INVENTORY:BAG:46:PRICE 46
db SERVER:INVENTORY:BAG:47:PRICE 47
db SERVER:INVENTORY:BAG:48:PRICE 48
db SERVER:INVENTORY:BAG:49:PRICE 49
db SERVER:INVENTORY:BAG:50:PRICE 50
db SERVER:INVENTORY:BAG:51:PRICE 51
db SERVER:INVENTORY:BAG:52:PRICE 52
db SERVER:INVENTORY:BAG:53:PRICE 53
db SERVER:INVENTORY:BAG:54:PRICE 54
db SERVER:INVENTORY:BAG:55:PRICE 55
db SERVER:INVENTORY:BAG:56:PRICE 56
db SERVER:INVENTORY:BAG:57:PRICE 57
db SERVER:INVENTORY:BAG:58:PRICE 58
db SERVER:INVENTORY:BAG:59:PRICE 59
db SERVER:TRADING:FAME_PRICE_FACTOR 1000
learnPhrase abf01.sphrase
db SERVER:USER:SKILL_POINTS_0:VALUE 100
db SERVER:USER:SKILL_POINTS_1:VALUE 200
db SERVER:USER:SKILL_POINTS_2:VALUE 300
db SERVER:USER:SKILL_POINTS_3:VALUE 400
fillAllInfoVersion 1
fullFillInventory SERVER:INVENTORY:PACK_ANIMAL3 icfm1ss.sitem
db SERVER:INVENTORY:PACK_ANIMAL3:0:PRICE 50000
// test team share
fullFillInventory SERVER:INVENTORY:SHARE m0001dxadd01.sitem
db SERVER:INVENTORY:SHARE:0:NB_MEMBER 3
db SERVER:INVENTORY:SHARE:0:WANTED 1
db SERVER:INVENTORY:SHARE:0:CHANCE 70
fillAllItemPreReq SERVER:INVENTORY:BAG 1
fillAllItemPreReq SERVER:INVENTORY:PACK_ANIMAL0 1
fillAllItemPreReq SERVER:INVENTORY:PACK_ANIMAL1 1
fillAllItemPreReq SERVER:INVENTORY:PACK_ANIMAL2 1
fillAllItemPreReq SERVER:INVENTORY:PACK_ANIMAL3 1
fillAllItemPreReq SERVER:INVENTORY:TEMP 1
fillAllItemPreReq SERVER:INVENTORY:SHARE 1
fillAllItemPreReq SERVER:INVENTORY:ROOM 1
fillAllItemPreReq SERVER:EXCHANGE:GIVE 1
fillAllItemPreReq SERVER:EXCHANGE:RECEIVE 1
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:MaxProtectionClampValue 75
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:MaxAbsorptionFactor 100
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Acid 15
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Cold 12
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Fire 75
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Rot 99
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Shockwave 33
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Poison 43
db SERVER:CHARACTER_INFO:MAGIC_PROTECTION:Electricity 74
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:MaxResistanceBonus 50
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:Desert 24
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:Forest 75
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:Lacustre 51
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:Jungle 20
db SERVER:CHARACTER_INFO:MAGIC_RESISTANCE:PrimaryRoot 25
db SERVER:CHARACTER_INFO:XP_CATALYSER:Level 100
db SERVER:CHARACTER_INFO:XP_CATALYSER:Count 145
db SERVER:TARGET:CONTEXT_MENU:PROGRAMMES 16777215
db SERVER:TARGET:CONTEXT_MENU:WEB_PAGE_TITLE 25
db SERVER:TARGET:CONTEXT_MENU:WEB_PAGE_URL 38
db SERVER:USER:FACTION_POINTS_0:VALUE 30
db SERVER:USER:FACTION_POINTS_1:VALUE 40
db SERVER:USER:FACTION_POINTS_2:VALUE 50
db SERVER:USER:FACTION_POINTS_3:VALUE 60
db SERVER:USER:FACTION_POINTS_4:VALUE 70
db SERVER:USER:FACTION_POINTS_5:VALUE 80
db SERVER:GUILD:INVENTORY:MONEY 10000000

View file

@ -0,0 +1,98 @@
db SERVER:USER:HP_MAX 100
db SERVER:USER:HP 45
db SERVER:USER:STA_MAX 100
db SERVER:USER:STA 70
db SERVER:USER:SAP_MAX 100
db SERVER:USER:SAP 90
db SERVER:USER:ACT_MAX 9
db SERVER:USER:ACT 2
db SERVER:TARGET:HP_MAX 100
db SERVER:TARGET:HP 80
db SERVER:TARGET:STA_MAX 100
db SERVER:TARGET:STA 32
db SERVER:TARGET:SAP_MAX 100
db SERVER:TARGET:SAP 69
// db SERVER:INVENTORY:1:0:SHEET 123648
// db SERVER:INVENTORY:2:0:SHEET 137472
// db SERVER:INVENTORY:2:1:SHEET 232960
// db SERVER:INVENTORY:3:0:SHEET 197632
// db SERVER:INVENTORY:4:0:SHEET 161024
// db SERVER:INVENTORY:4:1:SHEET 231680
db SERVER:INVENTORY:ACTIVE_SHEATH 1
db SERVER:INVENTORY:NB_SHEATH 4
db SERVER:INVENTORY:NB_BAG 3
// db SERVER:INVENTORY:9:0:SHEET 182272
// db SERVER:INVENTORY:9:1:SHEET 271616
// db SERVER:INVENTORY:9:1:QUANTITY 10
// db SERVER:INVENTORY:9:2:SHEET 222208
// db SERVER:INVENTORY:9:2:QUANTITY 1
// db SERVER:INVENTORY:9:3:SHEET 222208
// db SERVER:INVENTORY:9:3:QUANTITY 1
// db SERVER:INVENTORY:9:4:SHEET 361728
// db SERVER:INVENTORY:9:2:QUANTITY 1
// db SERVER:INVENTORY:9:5:SHEET 361728
// db SERVER:INVENTORY:9:6:SHEET 250624
// db SERVER:INVENTORY:9:7:SHEET 230400
db SERVER:INVENTORY:SEED:SMALL_SEED 945002
db SERVER:INVENTORY:SEED:MEDIUM_SEED 3618
db SERVER:INVENTORY:SEED:BIG_SEED 1276
db SERVER:INVENTORY:SEED:VERY_BIG_SEED 45108
// db SERVER:INVENTORY:8:1:SHEET 397056
// db SERVER:INVENTORY:8:8:SHEET 399360
// db SERVER:INVENTORY:8:9:SHEET 422656
db SERVER:CHARACTER_INFO:CAREER0:JOB0:JOB_CAP 9
db SERVER:CHARACTER_INFO:CAREER0:JOB1:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER0:JOB2:JOB_CAP 8
db SERVER:CHARACTER_INFO:CAREER1:JOB0:JOB_CAP16
db SERVER:CHARACTER_INFO:CAREER1:JOB1:JOB_CAP 15
db SERVER:CHARACTER_INFO:CAREER1:JOB2:JOB_CAP 13
db SERVER:CHARACTER_INFO:CAREER1:JOB3:JOB_CAP 14
db SERVER:BRICK_FAMILY:7:BRICKS 255
db SERVER:BRICK_FAMILY:9:BRICKS 255
db SERVER:BRICK_FAMILY:8:BRICKS 255
// Jewelry
db SERVER:INVENTORY:BAG:0:SHEET 104961
db SERVER:INVENTORY:BAG:0:QUANTITY 1
db SERVER:INVENTORY:BAG:0:QUALITY 10
db SERVER:INVENTORY:BAG:1:SHEET 105473
db SERVER:INVENTORY:BAG:1:QUANTITY 1
db SERVER:INVENTORY:BAG:1:QUALITY 10
db SERVER:INVENTORY:BAG:2:SHEET 112129
db SERVER:INVENTORY:BAG:2:QUANTITY 1
db SERVER:INVENTORY:BAG:2:QUALITY 10
db SERVER:INVENTORY:BAG:3:SHEET 111873
db SERVER:INVENTORY:BAG:3:QUANTITY 1
db SERVER:INVENTORY:BAG:3:QUALITY 10
// Traingningignningign tool
db SERVER:INVENTORY:9:4:SHEET 3134721
db SERVER:INVENTORY:9:4:QUANTITY 1
db SERVER:INVENTORY:9:5:SHEET 3132161
db SERVER:INVENTORY:9:5:QUANTITY 1
db SERVER:INVENTORY:9:6:SHEET 3140097
db SERVER:INVENTORY:9:6:QUANTITY 1
db SERVER:INVENTORY:9:7:SHEET 251649
db SERVER:INVENTORY:9:7:QUANTITY 1
// Misc Skills
db SERVER:CHARACTER_INFO:SKILLS:0:BaseSKILL 20
db SERVER:CHARACTER_INFO:SKILLS:0:SKILL 20
db SERVER:CHARACTER_INFO:SKILLS:1:BaseSKILL 50
db SERVER:CHARACTER_INFO:SKILLS:1:SKILL 50
db SERVER:CHARACTER_INFO:SKILLS:2:BaseSKILL 100
db SERVER:CHARACTER_INFO:SKILLS:2:SKILL 100
db SERVER:CHARACTER_INFO:SKILLS:3:BaseSKILL 150
db SERVER:CHARACTER_INFO:SKILLS:3:SKILL 150
db SERVER:CHARACTER_INFO:SKILLS:4:PROGRESS_BAR 96
db SERVER:CHARACTER_INFO:SKILLS:4:BaseSKILL 198
db SERVER:CHARACTER_INFO:SKILLS:4:SKILL 178

View file

@ -0,0 +1,114 @@
db UI:COLOR:R 159
db UI:COLOR:G 174
db UI:COLOR:B 113
db UI:COLOR:A 255
db SERVER:MODIFIERS:BONUS:0:SHEET 1572
db SERVER:MODIFIERS:BONUS:1:SHEET 1572
db SERVER:MODIFIERS:BONUS:2:SHEET 1572
db SERVER:MODIFIERS:BONUS:3:SHEET 1572
db SERVER:MODIFIERS:BONUS:4:SHEET 1572
db SERVER:MODIFIERS:BONUS:5:SHEET 1572
db SERVER:MODIFIERS:BONUS:6:SHEET 1572
db SERVER:MODIFIERS:BONUS:7:SHEET 1572
db SERVER:MODIFIERS:MALUS:0:SHEET 1572
db SERVER:MODIFIERS:MALUS:1:SHEET 1572
db SERVER:MODIFIERS:MALUS:2:SHEET 1572
db SERVER:CHARACTER_INFO:SCORES:Sap 10
db SERVER:CHARACTER_INFO:SCORES:MaxSap 100
db SERVER:CHARACTER_INFO:SCORES:MaxSapStatus 1
db SERVER:CHARACTER_INFO:SCORES:Stamina 25
db SERVER:CHARACTER_INFO:SCORES:MaxStamina 110
db SERVER:CHARACTER_INFO:SCORES:MaxStaminaStatus 2
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Strength 30
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxStrengthStatus 0
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Constitution 90
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxConstitutionStatus 1
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Agility 60
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxAgilityStatus 2
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Will 45
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxWillStatus 0
db SERVER:CHARACTER_INFO:CHARACTERISTICS:WellBalanced 65
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxWellBalancedStatus 2
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Intelligence 33
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxIntelligenceStatus 0
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Charisme 10
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxCharismeStatus 1
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Empathie 62
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxEmpathieStatus 1
db SERVER:CHARACTER_INFO:CHARACTERISTICS:Perception 87
db SERVER:CHARACTER_INFO:CHARACTERISTICS:MaxPerceptionStatus 0
db SERVER:CHARACTER_INFO:SCORES:DiseaseResist 10
db SERVER:CHARACTER_INFO:SCORES:MaxDiseaseResist 100
db SERVER:CHARACTER_INFO:SCORES:MaxDiseaseResistStatus 0
db SERVER:CHARACTER_INFO:SCORES:MagicResist 20
db SERVER:CHARACTER_INFO:SCORES:MaxMagicResist 100
db SERVER:CHARACTER_INFO:SCORES:MaxMagicResistStatus 1
db SERVER:CHARACTER_INFO:SCORES:TechnoResist 30
db SERVER:CHARACTER_INFO:SCORES:MaxTechnoResist 100
db SERVER:CHARACTER_INFO:SCORES:MaxTechnoResistStatus 2
db SERVER:CHARACTER_INFO:SCORES:ImpactResist 40
db SERVER:CHARACTER_INFO:SCORES:MaxImpactResist 100
db SERVER:CHARACTER_INFO:SCORES:MaxImpactResistStatus 0
db SERVER:CHARACTER_INFO:SCORES:FearResist 50
db SERVER:CHARACTER_INFO:SCORES:MaxFearResist 100
db SERVER:CHARACTER_INFO:SCORES:MaxFearResistStatus 1
// Missions (icon == 0 pas de mission)
db SERVER:MISSIONS:0:TITLE 50
db SERVER:MISSIONS:0:DETAIL_TEXT 60
db SERVER:MISSIONS:0:ICON generic_forage.mission_icon
db SERVER:MISSIONS:0:GOALS:0:TEXT 40
db SERVER:MISSIONS:0:GOALS:1:TEXT 50
db SERVER:MISSIONS:0:GOALS:2:TEXT 60
db SERVER:MISSIONS:0:GOALS:3:TEXT 70
db SERVER:MISSIONS:0:GOALS:4:TEXT 80
db SERVER:MISSIONS:0:BEGIN_DATE 1200
db SERVER:MISSIONS:0:END_DATE 1800
db SERVER:MISSIONS:0:HISTO:0:TEXT 140
db SERVER:MISSIONS:0:HISTO:1:TEXT 150
db SERVER:MISSIONS:0:HISTO:2:TEXT 160
db SERVER:MISSIONS:0:HISTO:3:TEXT 170
db SERVER:MISSIONS:0:HISTO:4:TEXT 180
db SERVER:MISSIONS:0:POS 0
db SERVER:MISSIONS:1:TITLE 30
db SERVER:MISSIONS:1:DETAIL_TEXT 80
db SERVER:MISSIONS:1:ICON generic_rite.mission_icon
db SERVER:MISSIONS:1:GOALS:0:TEXT 44
db SERVER:MISSIONS:1:GOALS:1:TEXT 55
db SERVER:MISSIONS:1:HISTO:0:TEXT 144
db SERVER:MISSIONS:1:HISTO:1:TEXT 154
db SERVER:MISSIONS:1:HISTO:2:TEXT 164
db SERVER:MISSIONS:1:POS 1
db SERVER:MISSIONS:2:TITLE 90
db SERVER:MISSIONS:2:DETAIL_TEXT 40
db SERVER:MISSIONS:2:ICON generic_craft.mission_icon
db SERVER:MISSIONS:2:FINISHED 1
db SERVER:MISSIONS:2:POS 2
db SERVER:MISSIONS:3:TITLE 465
db SERVER:MISSIONS:3:DETAIL_TEXT 0
db SERVER:MISSIONS:3:ICON generic_fight.mission_icon
db SERVER:MISSIONS:3:FINISHED 2
db SERVER:MISSIONS:3:POS 3
db SERVER:MISSIONS:4:TITLE 123
db SERVER:MISSIONS:4:DETAIL_TEXT 65
db SERVER:MISSIONS:4:ICON generic_travel.mission_icon
db SERVER:MISSIONS:4:POS 4
db SERVER:MISSIONS:12:TITLE 12
db SERVER:MISSIONS:12:DETAIL_TEXT 12
db SERVER:MISSIONS:12:ICON generic_generic.mission_icon
db SERVER:MISSIONS:12:POS 12

View file

@ -0,0 +1,44 @@
ah show team_share
db SERVER:INVENTORY:SHARE:0:SHEET abm_mt_cold_00005.sphrase
db SERVER:INVENTORY:SHARE:0:WEIGHT 100
db SERVER:INVENTORY:SHARE:0:NB_MEMBER 0
db SERVER:INVENTORY:SHARE:0:WANTED 0
db SERVER:INVENTORY:SHARE:0:CHANCE 0
db SERVER:INVENTORY:SHARE:1:SHEET ictalp.sitem
db SERVER:INVENTORY:SHARE:1:WEIGHT 50
db SERVER:INVENTORY:SHARE:1:NB_MEMBER 1
db SERVER:INVENTORY:SHARE:1:WANTED 1
db SERVER:INVENTORY:SHARE:1:CHANCE 33
db SERVER:INVENTORY:SHARE:2:SHEET bmpa01.sbrick
db SERVER:INVENTORY:SHARE:2:WEIGHT 35
db SERVER:INVENTORY:SHARE:2:NB_MEMBER 2
db SERVER:INVENTORY:SHARE:2:WANTED 0
db SERVER:INVENTORY:SHARE:2:CHANCE 0
db SERVER:INVENTORY:SHARE:3:SHEET icfm2pp.sitem
db SERVER:INVENTORY:SHARE:3:WEIGHT 150
db SERVER:INVENTORY:SHARE:3:NB_MEMBER 3
db SERVER:INVENTORY:SHARE:3:WANTED 1
db SERVER:INVENTORY:SHARE:3:CHANCE 35
db SERVER:INVENTORY:SHARE:4:SHEET icmm2bm.sitem
db SERVER:INVENTORY:SHARE:4:WEIGHT 90
db SERVER:INVENTORY:SHARE:4:NB_MEMBER 4
db SERVER:INVENTORY:SHARE:4:WANTED 1
db SERVER:INVENTORY:SHARE:4:CHANCE 32
db SERVER:INVENTORY:SHARE:TM_0:NAME 32
db SERVER:INVENTORY:SHARE:TM_0:VALID 0
db SERVER:INVENTORY:SHARE:TM_1:NAME 43
db SERVER:INVENTORY:SHARE:TM_1:VALID 1
db SERVER:INVENTORY:SHARE:TM_2:NAME 15
db SERVER:INVENTORY:SHARE:TM_2:VALID 1
db SERVER:INVENTORY:SHARE:TM_3:NAME 98
db SERVER:INVENTORY:SHARE:TM_3:VALID 0

View file

@ -0,0 +1,9 @@
root_id spell_power range characteristic virulence healing spell length destination target_needed
1 1 1 1 0 0 0 0 1
2 0 1 1 0 1 0 0 1
3 0 1 1 1 0 1 0 1
35 0 0 0 0 0 0 1 0
38 1 1 1 0 0 0 0 1
39 0 1 1 1 0 0 0 1
41 0 1 0 1 0 1 0 0
40 0 1 1 1 0 1 0 1

View file

@ -0,0 +1,110 @@
db SERVER:GUILD:NAME 654
db SERVER:GUILD:DESCRIPTION 2
db SERVER:GUILD:ICON 2
db SERVER:GUILD:XP 250
db SERVER:GUILD:VILLAGE 3
db SERVER:GUILD:PEOPLE 199
db SERVER:GUILD:FAME -100
db SERVER:GUILD:CREATION_DATE 365
db SERVER:GUILD:MEMBERS:0:NAME 100
db SERVER:GUILD:MEMBERS:0:GRADE 0
db SERVER:GUILD:MEMBERS:0:ONLINE 1
db SERVER:GUILD:MEMBERS:0:ENTER_DATE 1680
db SERVER:GUILD:MEMBERS:1:NAME 1
db SERVER:GUILD:MEMBERS:1:GRADE 1
db SERVER:GUILD:MEMBERS:1:ONLINE 0
db SERVER:GUILD:MEMBERS:1:ENTER_DATE 150
db SERVER:GUILD:MEMBERS:2:NAME 2
db SERVER:GUILD:MEMBERS:2:GRADE 2
db SERVER:GUILD:MEMBERS:2:ONLINE 1
db SERVER:GUILD:MEMBERS:2:ENTER_DATE 120
db SERVER:GUILD:MEMBERS:3:NAME 3
db SERVER:GUILD:MEMBERS:3:GRADE 3
db SERVER:GUILD:MEMBERS:3:ONLINE 1
db SERVER:GUILD:MEMBERS:3:ENTER_DATE 100
db UI:VARIABLES:ISACTIVE:INV_GUILD 1
db UI:TEMP:INVENTORY_GUILD_OPENED 1
ah show inv_guild
db SERVER:GUILD:INVENTORY:MONEY 654
db SERVER:GUILD:INVENTORY:BULK_MAX 100
db SERVER:GUILD:INVENTORY:0:SHEET icmp1bs.sitem
db SERVER:GUILD:INVENTORY:0:WEIGHT 33
db SERVER:GUILD:INVENTORY:0:QUANTITY 12
db SERVER:GUILD:INVENTORY:1:SHEET ictalp.sitem
db SERVER:GUILD:INVENTORY:1:WEIGHT 50
db SERVER:GUILD:INVENTORY:2:SHEET icfm1ss.sitem
db SERVER:GUILD:INVENTORY:2:WEIGHT 35
db SERVER:GUILD:INVENTORY:3:SHEET icfm2pp.sitem
db SERVER:GUILD:INVENTORY:3:WEIGHT 150
db SERVER:GUILD:MEMBERS:0:NAME 0
db SERVER:GUILD:MEMBERS:1:NAME 1
db SERVER:GUILD:MEMBERS:2:NAME 2
db SERVER:GUILD:MEMBERS:3:NAME 3
db SERVER:GUILD:MEMBERS:4:NAME 4
db SERVER:GUILD:MEMBERS:5:NAME 5
db SERVER:GUILD:MEMBERS:6:NAME 6
db SERVER:GUILD:MEMBERS:7:NAME 7
db SERVER:GUILD:MEMBERS:8:NAME 8
db SERVER:GUILD:MEMBERS:9:NAME 9
db SERVER:GUILD:MEMBERS:10:NAME 10
db SERVER:GUILD:MEMBERS:11:NAME 11
db SERVER:GUILD:MEMBERS:12:NAME 12
db SERVER:GUILD:MEMBERS:13:NAME 13
db SERVER:GUILD:MEMBERS:14:NAME 14
db SERVER:GUILD:MEMBERS:15:NAME 15
db SERVER:GUILD:MEMBERS:16:NAME 16
db SERVER:GUILD:MEMBERS:17:NAME 17
db SERVER:GUILD:MEMBERS:18:NAME 18
db SERVER:GUILD:MEMBERS:19:NAME 19
db SERVER:GUILD:MEMBERS:20:NAME 20
db SERVER:GUILD:MEMBERS:21:NAME 21
db SERVER:GUILD:MEMBERS:22:NAME 22
db SERVER:GUILD:MEMBERS:23:NAME 23
db SERVER:GUILD:MEMBERS:24:NAME 24
db SERVER:GUILD:MEMBERS:25:NAME 25
db SERVER:GUILD:MEMBERS:26:NAME 26
db SERVER:GUILD:MEMBERS:27:NAME 27
db SERVER:GUILD:MEMBERS:28:NAME 28
db SERVER:GUILD:MEMBERS:29:NAME 29
db SERVER:GUILD:MEMBERS:30:NAME 30
db SERVER:GUILD:MEMBERS:31:NAME 31
db SERVER:GUILD:MEMBERS:32:NAME 32
db SERVER:GUILD:MEMBERS:33:NAME 33
db SERVER:GUILD:MEMBERS:34:NAME 34
db SERVER:GUILD:MEMBERS:35:NAME 35
db SERVER:GUILD:MEMBERS:36:NAME 36
db SERVER:GUILD:MEMBERS:37:NAME 37
db SERVER:GUILD:MEMBERS:38:NAME 38
db SERVER:GUILD:MEMBERS:39:NAME 39
db SERVER:GUILD:MEMBERS:40:NAME 40
db SERVER:GUILD:MEMBERS:41:NAME 41
db SERVER:GUILD:MEMBERS:42:NAME 42
db SERVER:GUILD:MEMBERS:43:NAME 43
db SERVER:GUILD:MEMBERS:44:NAME 44
db SERVER:GUILD:MEMBERS:45:NAME 45
db SERVER:GUILD:MEMBERS:46:NAME 46
db SERVER:GUILD:MEMBERS:47:NAME 47
db SERVER:GUILD:MEMBERS:48:NAME 48
db SERVER:GUILD:MEMBERS:49:NAME 49

View file

@ -0,0 +1,33 @@
// This sample shows all functionnality of the script to create a scene
// a basic sample could be :
//
// city.ig
// + street1.ig
// ++ house0.ig
// + street2.ig
// ++ house1.ig
// ++ house2.ig
//
// This means that the city.ig is father of street1 and street2 and house0
// is child of street1. The + indicates the level of depth in hierarchy.
// We can put initial position and rotation. We can avoid initial rotation
// or both of them.
//Water01.ig
//TR_VILLAGEC.ig
//WaterFyrosOasis.ig
//fxoasis.ig
//fxtryker.ig
//OasisDemo_Auberges.ig
//WaterLineOasis01.ig
//street.ig
//+ apart.ig
// ++ appart_int_doors.ig
// ++ appart_feux.ig
//+ taverne.ig
//+ forge.ig
//+ fx_flammes.ig
//+ objects.ig
//+ lanternes_haut_et_bas.ig
//+ Animated_door.ig

View file

@ -0,0 +1,96 @@
/*****************************************************************************************************/
THIS FILE GIVE THE RELATION BEETWEEN A FUNCTION NUMBER AND THE CORRESPONDING FUNCTION NAME IN THE CODE
NB : this is NOT a configuration file, only an information file for users, this file is NOT read by the program and evrything can be written in it.
Users who want to be sure of what they do should give a look to the file functions.cpp
0 : cbTest
1 : cbSelectFYROS
2 : cbSelectTRYKER
3 : cbSelectMATIS
4 : cbSelectKALAB
5 : cbSelectMale
6 : cbSelectFemale
7 : cbCreateCharacter
8 : cbEnterWorld
9 : cbDeleteCharacter
10 : cbConnect
11 : cbUpdateLogin
12 : <unused>
13 : cbUnmuteAll
14 : cbWhisper
15 : cbTalk
16 : cbShout
17 : cbPreprogSentence1
18 : <unused>
19 : cbPreprogSentence2
20 : <unused>
21 : cbPreprogSentence3
22 : <unused>
23 : cbPreprogSentence4
24 : <unused>
25 : cbPreprogSentence5
26 : <unused>
27 : <unused>
28 : cbMinRestore
29 : cbLockUnlock
30 : cbMuteUnmutePublic
31 : cbPublicPopUp
32 : <unused>
33 : cbProcessChatLine
34 : cbUsePreprog
35 : <unused> // cbAddToContactList
36 : <unused> // cbProposeJoinClade
37 : cbTeammateProposal
38 : cbPreprog1
39 : cbPreprog2
40 : cbPreprog3
41 : cbPreprog4
42 : cbPreprog5
43 : <unused> // cbSpeech
44 : <unused> // cbCreateSpeech
45 : <unused> // cbJoinSpeech
46 : <unused> // cbVote
47 : <unused> // cbLeaveSpeech
48 : <unused> // cbCreateGroup
49 : <unused> // cbToSpeech
50 : <unused> // cbToPublic
51 : cbToTeam
52 : <unused> // cbToClade
53 : cbToFamily
54 : cbTeammateRequest
55 : cbCreateTeam
56 : cbLeaveTeam
57 : cbAcceptProposal
58 : cbRejectProposal
59 : cbAcceptRequest
60 : cbRejectRequest
61 : cbSendPrivateMessage
62 : cbRecord

View file

@ -0,0 +1,104 @@
X: 0.25 Y: 0.01 Width: 510 Height: 150 Name: 15 MinWidth: 400 MinHeight: 100
/***********************************************************/
/ THE PUBLIC CHAT WINDOW
/***********************************************************/
/ bottom left
[2000] Origin: BL HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 64 Texture: 13 RGBA: 255 255 255 128
/ bottom right
[2002] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 512 H_Pixel: 64 Texture: 14 RGBA: 255 255 255 128
/ rezisable_bottom
[2001] Parent: 2000 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: -18 Y_Pixel: 0 W: 1 H: 0 W_Pixel: -394 H_Pixel: 64 Texture: 17 RGBA: 255 255 255 128
/ mid_left
[2003] Parent: 2000 Origin: TL HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 1 W_Pixel: 16 H_Pixel: -95 Texture: 15 RGBA: 255 255 255 128
/mid_right
[2004] Parent: 2002 Origin: TR HotSpot: TL X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 1 W_Pixel: 16 H_Pixel: -95 Texture: 16 RGBA: 255 255 255 128
/mid_mid
[2005] Parent: 2000 Origin: TL HotSpot: TR X: 0 Y: 0 X_Pixel: 16 Y_Pixel: 0 W: 1 H: 1 W_Pixel: -32 H_Pixel: -95 Texture: 12 RGBA: 255 255 255 128
/top left
[2006] Parent: 2003 Origin: TL HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 512 H_Pixel: 32 Texture: 20 RGBA: 255 255 255 128
/rezisable top
[2007] Parent: 2006 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: -225 Y_Pixel: 0 W: 1 H: 0 W_Pixel: -493 H_Pixel: 32 Texture: 18 RGBA: 255 255 255 128
/top right
[2008] Parent: 2004 Origin: TR HotSpot: TL X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 256 H_Pixel: 32 Texture: 19 RGBA: 255 255 255 128
/ the chat box
[22] Origin: BL HotSpot: TR X: 0 Y: 0 X_Pixel: 5 Y_Pixel: 54 W: 1 H: 1 W_Pixel: -10 H_Pixel: -86 Pen: 6 LeftClickFunction: 30 RightClickFunction: 31 UpTexture: 11 DownTexture: 10 ScrollBarTexture: 28
/ the input control for chat box messages
[23] Origin: BL HotSpot: TR X: 0 Y: 0 X_Pixel: 26 Y_Pixel: 26 W: 1 H: 0 W_Pixel: -31 H_Pixel: 16 Function: 33 Pen: 7
/**** Buttons setting the chat mode (public, team, family...) and the talk mode if in pubic mode (talk(say), shout, whisper).
/ the Whisper button
[24] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -136 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 14 Text: 24 Pen: 7
/ the 'say' button
[25] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -69 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 15 Text: 25 Pen: 7
/ the Shout button
[26] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -4 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 16 Text: 26 Pen: 7
/ the 'Team' button (message sent to teammates)
[58] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -268 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 51 Text: 58 Pen: 7
/ the 'Family' button (message sent to family)
[60] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -202 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 53 Text: 60 Pen: 7
/ the 'clade' button (message sent to clade)
[70] Origin: BR HotSpot: TL X: 0 Y: 0 X_Pixel: -334 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 64 H_Pixel: 16 Function: 70 Text: 70 Pen: 7
/// group these buttons as radio, and init the controller
[64] Buttons: 24 25 26 58 60 70 End
/ the 'UnmuteAll' button
[27] Origin: TL HotSpot: BR X: 0 Y: 0 X_Pixel: 8 Y_Pixel: -2 W: 0 H: 0 W_Pixel: 76 H_Pixel: 16 Function: 13 Text: 27 Pen: 7
/ the record button
[35] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -20 Y_Pixel: -2 W: 0 H: 0 W_Pixel: 48 H_Pixel: 16 Function: 62 Text: 33 Pen: 9
/ sentence 1
[28] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -201 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 27 H_Pixel: 19 Function: 17 Text: 28 Pen: 7
/ sentence 2
[29] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -169 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 27 H_Pixel: 19 Function: 19 Text: 29 Pen: 7
/ sentence 3
[30] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -137 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 27 H_Pixel: 19 Function: 21 Text: 30 Pen: 7
/ sentence 4
[31] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -106 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 27 H_Pixel: 19 Function: 23 Text: 31 Pen: 7
/ sentence 5
[32] Origin: TR HotSpot: BL X: 0 Y: 0 X_Pixel: -73 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 27 H_Pixel: 19 Function: 25 Text: 32 Pen: 7
/ radio controller for the buttons 28 to 32
[33] Buttons: 28 29 30 31 32 End
/ the 'Min' button, minimize/restore chat window
/[36] Origin: BL HotSpot: TL X: 1 Y: 0.85 X_Pixel: 0 Y_Pixel: -20 W: 0 H: 0 W_Pixel: 50 H_Pixel: 20 Function: 28 Text: 36 Pen: 7
/ the Lock/unlock button, to lock/unlock the chat window
[37] Origin: BL HotSpot: TR X: 0 Y: 0 X_Pixel: 2 Y_Pixel: 2 W: 0 H: 0 W_Pixel: 16 H_Pixel: 16 Function: 29 Text: 37 Pen: 7
/ the leave Team Button (only if player allready in a team)
[62] Origin: TL HotSpot: BR X: 0 Y: 0 X_Pixel: 92 Y_Pixel: -1 W: 0 H: 0 W_Pixel: 74 H_Pixel: 19 Function: 56 Text: 62 Pen: 8
/ the create Team Button (only if player not allready in a team)
[61] Origin: TL HotSpot: BR X: 0 Y: 0 X_Pixel: 92 Y_Pixel: -1 W: 0 H: 0 W_Pixel: 74 H_Pixel: 19 Function: 55 Text: 61 Pen: 8
/ clear button
/[66] Parent: 22 Origin: TL HotSpot: TR X: 0 Y: 0 X_Pixel: 100 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 50 H_Pixel: 20 Function: 66 Text: 66 Pen: 7
/ leave clade button
[68] Origin: TL HotSpot: BR X: 0 Y: 0 X_Pixel: 173 Y_Pixel: -2 W: 0 H: 0 W_Pixel: 76 H_Pixel: 16 Function: 68 Text: 68 Pen: 8
/ create clade button
[67] Origin: TL HotSpot: BR X: 0 Y: 0 X_Pixel: 173 Y_Pixel: -2 W: 0 H: 0 W_Pixel: 76 H_Pixel: 16 Function: 67 Text: 67 Pen: 8
/ the vote button (when a vote can be done)
[71] Origin: BL HotSpot: TR X: 0 Y: 0 X_Pixel: 30 Y_Pixel: 0 W: 0 H: 0 W_Pixel: 68 H_Pixel: 20 Function: 71 Text: 71 Pen: 8

View file

@ -0,0 +1,2 @@
[...] BG_Mode: none BG_Bitmap: 1 BG_Color: 255 255 255 255 TB_Mode: plain TB_Bitmap: 0 TB_Color: 0 0 0 192 TB_Pen: 1 HL_Size: 1 HL_Color: 255 255 255 255 RS_Size: 4 RS_Color: 255 255 255 255
/[300] BG_Mode: plain BG_Color: 0 0 0 128 TB_Mode: stretch TB_Bitmap: 1 TB_Color: 255 255 255 255 TB_Pen: 1 HL_Size: 1 HL_Color: 255 255 255 255 RS_Size: 4 RS_Color: 255 255 255 255

View file

@ -0,0 +1,173 @@
// Parameters :
//-------------
// BG_Mode_On: {none, plain, stretch} for the button when On
// BG_Mode_Off: {none, plain, stretch} for the button when Off
// BG_Mode_Dis: {none, plain, stretch} for the button when Disable
// t_On: 'texture number' for the button when On
// t_Off: 'texture number' for the button when Off
// t_Dis: 'texture number' for the button when Disable
// RGBA_On: 4 numbers [0-255] (RGBA) for the button when On
// RGBA_Off: 4 numbers [0-255] (RGBA) for the button when Off
// RGBA_Dis: 4 numbers [0-255] (RGBA) for the button when Disable
// Default
[...] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4 t_Off: 4 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 150 150 255 255 RGBA_Dis: 100 100 100 255
[1] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 993 t_Off: 994 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[2] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 993 t_Off: 994 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[3] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 993 t_Off: 994 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[4] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 995 t_Off: 996 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[6] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 997 t_Off: 998 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[7] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 997 t_Off: 998 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[9] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 997 t_Off: 12 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[102] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4 t_Off: 3 t_Dis: 0 RGBA_On: 55 100 150 255 RGBA_Off: 50 200 150 255 RGBA_Dis: 100 100 100 255
[24] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[25] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[26] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[27] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 23 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[28] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 25 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[29] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 25 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[30] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 25 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[31] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 25 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[32] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 25 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
[35] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 24 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
//lock/unlock (unlock = unselected, lock = selected)
[37] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 26 t_Off: 27 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// team
[58] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
// family
[60] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
//create team
[61] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 21 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
//leave team
[62] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 21 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
// create clade
[67] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 23 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
//leave clade
[68] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 23 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
// clade
[70] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 22 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 255
// the vote button
[71] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 32 t_Off: 31 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
/***********POP-UP***************/
// join team request
[57] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 69 t_Off: 69 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// invite to team
[39] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 39 t_Off: 39 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// invite to clade
[69] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 69 t_Off: 69 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// use preprog
[42] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 42 t_Off: 42 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// preprog1
[43] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 44 t_Off: 43 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
[44] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 44 t_Off: 43 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
[45] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 44 t_Off: 43 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
[46] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 44 t_Off: 43 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
[47] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 48 t_Off: 47 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
//////////// Clade creation interface
/ public
[204]BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 201 t_Off: 202 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
/secret
[205]BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 203 t_Off: 204 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
/ create
[207]BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 205 t_Off: 205 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
/ cancel
[208]BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 206 t_Off: 206 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 255
// Vote button in the election/vote interface
[312] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 312 t_Off: 312 t_Dis: 313 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 255 255 255 128
// Buttons for the inventory
[405] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[406] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[407] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[408] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[409] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[410] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[411] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[412] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[413] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[414] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[415] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[416] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[417] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
[418] BG_Mode_On: none BG_Mode_Off: none RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255
// Login OSD
[703] BG_Mode_On: stretch t_On: 703 RGBA_On: 255 255 255 255 BG_Mode_Off: none RGBA_Off: 255 255 255 255
// Character choice OSD.
[801] BG_Mode_On: stretch t_On: 703 RGBA_On: 255 255 255 255 BG_Mode_Off: none RGBA_Off: 255 255 255 255
[803] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[804] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[805] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[806] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[807] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[808] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
[809] BG_Mode_Off: none BG_Mode_On: stretch t_On: 801 RGBA_On: 255 255 255 128
// the accept buttons
[1001] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 34 t_Off: 34 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[1101] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 34 t_Off: 34 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
// the infos buttons
[1002] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 36 t_Off: 36 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[1102] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 36 t_Off: 36 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
// the reject buttons
[1003] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 35 t_Off: 35 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
[1103] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 35 t_Off: 35 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
///////////////
/ spell list
[4012] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4099 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 128
[4013] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4013 t_Off: 4013 t_Dis: 4014 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 255 255 255 128
[4016] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4013 t_Off: 4013 t_Dis: 4014 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 255 255 255 128
/ scroll left
[4113] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4113 t_Off: 4113 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
/ scroll right
[4114] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4114 t_Off: 4114 t_Dis: 0 RGBA_On: 255 255 255 255 RGBA_Off: 255 255 255 255 RGBA_Dis: 100 100 100 255
/ cancel button
[4050] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4050 t_Off: 4050 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128
/ test
[4051] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4051 t_Off: 4051 t_Dis: 4052 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128
/ validate
[4052] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4051 t_Off: 4051 t_Dis: 4052 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128
/***************** Momorized spell list
/ spell list
[4310] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4099 t_Off: 0 t_Dis: 0 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 0 RGBA_Dis: 100 100 100 128
/ delete
[4311] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4311 t_Off: 4311 t_Dis: 4311 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128
/ close-cancel
[4312] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4311 t_Off: 4311 t_Dis: 4311 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128
/ cast
[4313] BG_Mode_On: stretch BG_Mode_Off: stretch BG_Mode_Dis: stretch t_On: 4311 t_Off: 4311 t_Dis: 4311 RGBA_On: 255 255 255 128 RGBA_Off: 255 255 255 128 RGBA_Dis: 100 100 100 128

View file

@ -0,0 +1,598 @@
[1]RADIO_BUTTON
[2]RADIO_BUTTON
[3]RADIO_BUTTON
[4]RADIO_BUTTON
[5]RADIO_CONTROLLER
[6]RADIO_BUTTON
[7]RADIO_BUTTON
[8]RADIO_CONTROLLER
[9]BUTTON
[10]CAPTURE
[11]CAPTURE
[12]LIST
[13]TEXT
[14]TEXT
[15]BUTTON
[16]BUTTON
[17]TEXT
[18]CAPTURE
[19]CAPTURE
[20]BUTTON
[21]BITMAP
/**************************************************************/
/ The Chat Window
/*************************************************************/
/ the chat control box
[22]CHAT
/ the chat input control
[23]CHAT_INPUT
/ whisper
[24]RADIO_BUTTON
/ say
[25]RADIO_BUTTON
/shout
[26]RADIO_BUTTON
/speech mode
[55]RADIO_BUTTON
/ public mode
[56]RADIO_BUTTON
/ teammate mode
[58]RADIO_BUTTON
/ clade mode
[59]RADIO_BUTTON
/ family mode
[60]RADIO_BUTTON
/clade mode
[70]RADIO_BUTTON
/ the radio controller
[64]RADIO_CONTROLLER
/ unmute all
[27]BUTTON
/1
[28]RADIO_BUTTON
/2
[29]RADIO_BUTTON
/3
[30]RADIO_BUTTON
/4
[31]RADIO_BUTTON
/5
[32]RADIO_BUTTON
/ radio controller for 28 to 32
[33]RADIO_CONTROLLER
/ Speech
[34]BUTTON
/ leave speech
[53]BUTTON
/vote
[35]BUTTON
/create group
[54]BUTTON
/min
[36]BUTTON
/lock-unlock
[37]BUTTON
/Create Teammate button
[61]BUTTON
/leave teammate button
[62]BUTTON
/**************************************************************/
/ The pop-up window displayed with a right-click in public chat
/*************************************************************/
/ surname
[38]TEXT
/ I want to be your teammate
[57]BUTTON
/ do you want to be my teammate
[39]BUTTON
/join clade proposal
[69]BUTTON
/add to contact list
[40]BUTTON
/Propose to join Clad
[41]BUTTON
/ use preprog
[42]BUTTON
/ preprog 1
[43]RADIO_BUTTON
/ preprog 2
[44]RADIO_BUTTON
/ preprog 3
[45]RADIO_BUTTON
/ preprog 4
[46]RADIO_BUTTON
/ preprog 5
[47]RADIO_BUTTON
/ the radio controller for the radio buttons 43 to 47
[65]RADIO_CONTROLLER
/the five possible clades buttons
[48]BUTTON
[49]BUTTON
[50]BUTTON
[51]BUTTON
[52]BUTTON
/[53] already used
/[54] already used
/[55] already used
/[56] already used
/[57] already used
/[58] already used
/[59] already used
/[60] already used
/[61] already used
/[62] already used
/ the capture control used to send message to the selected player
[63]CAPTURE
/[64] already used
/[65] already used
[66]BUTTON
[67]BUTTON
[68]BUTTON
/[69] already used
/[70] already used
/ the Vote button
[71]BUTTON
[75]BITMAP
/ the close button (not in final version)
[99]BUTTON
/**************************************************************/
/ Dialog Box with a Bot (OSD 3).
/*************************************************************/
[100]TEXT
[101]TEXT
[102]LIST
[103]CHOICE_LIST
[104]BITMAP
[105]BITMAP
[106]BITMAP
[107]BITMAP
[108]BITMAP
[109]BITMAP
[110]BITMAP
[111]BITMAP
[112]BITMAP
[113]BITMAP
[114]BITMAP
[115]BITMAP
[116]BITMAP
[117]BITMAP
[118]BITMAP
/***********************************************************/
/ THE CREATE CLADE INTERFACE
/**********************************************************/
// Background
[200]BITMAP
[209]BITMAP
[210]BITMAP
/ clade name
[201]CAPTURE
/ window name
[202]TEXT
/ clade corporate name
[203]CAPTURE
/ public clade
[204]RADIO_BUTTON
/ secret clade
[205]RADIO_BUTTON
/
[206]RADIO_CONTROLLER
[207]BUTTON
[208]BUTTON
/***********************************************************/
/ THE VOTE INTERFACE
/**********************************************************/
/ background bitmaps
[300]BITMAP
[301]BITMAP
[302]BITMAP
[303]BITMAP
[304]BITMAP
[305]BITMAP
[306]BITMAP
[307]BITMAP
[308]BITMAP
[314]BITMAP
[315]BITMAP
/ title (ex: Territory chief election)
[309]TEXT
/ countdown to end of election
[310]TEXT
/ the candidates list
[311]CANDIDATE_LIST
/ vote for current candidate
[312]BUTTON
/ current candidate program
[313]LIST
/**************************************************************/
/ INVENTORY (OSD 400).
/*************************************************************/
// Background
[400]BITMAP
// Money
[401]TEXT
[402]TEXT
[403]TEXT
[404]TEXT
// Slots
[405]BUTTON
[406]BUTTON
[407]BUTTON
[408]BUTTON
[409]BUTTON
[410]BUTTON
[411]BUTTON
[412]BUTTON
[413]BUTTON
[414]BUTTON
[415]BUTTON
[416]BUTTON
[417]BUTTON
[418]BUTTON
/**************************************************************/
/ TROC (me) (OSD 500).
/*************************************************************/
// Background
[500]BITMAP
// Money
[501]TEXT
[502]TEXT
[503]TEXT
[504]TEXT
// Slots
[505]BUTTON
[506]BUTTON
[507]BUTTON
[508]BUTTON
// Rdy
[509]BITMAP
// OK | Cancel
[510]BUTTON
[511]BUTTON
/**************************************************************/
/ TROC (you) (OSD 600).
/*************************************************************/
// Background
[600]BITMAP
// Money
[601]TEXT
[602]TEXT
[603]TEXT
[604]TEXT
// Slots
[605]BUTTON
[606]BUTTON
[607]BUTTON
[608]BUTTON
// Rdy
[609]BITMAP
/**************************************************************/
/ LOGIN (OSD 700).
/*************************************************************/
// Background
[700]BITMAP
// Login
[701]CAPTURE
// Password
[702]CAPTURE
// Button Connect
[703]BUTTON
// Text Connect
[704]TEXT
/**************************************************************/
/ CHARACTER CHOICE (OSD 800).
/*************************************************************/
// Background
[800]BITMAP
// Button Enter
[801]BUTTON
// Text Enter
[802]TEXT
// Character Buttons
[803]RADIO_BUTTON
[804]RADIO_BUTTON
[805]RADIO_BUTTON
[806]RADIO_BUTTON
[807]RADIO_BUTTON
[808]RADIO_BUTTON
[809]RADIO_BUTTON
[810]RADIO_CONTROLLER
/**************************************************************/
/ BUY (OSD 900).
/*************************************************************/
// Background
[900]BITMAP
// Money
[901]TEXT
[902]TEXT
[903]TEXT
[904]TEXT
// Slots
[905]BUTTON
[906]BUTTON
[907]BUTTON
[908]BUTTON
// Rdy
[909]BITMAP
// BUY | Cancel
[910]BUTTON
[911]BUTTON
//Background of the "character creation" interface
[999]BITMAP
[998]TEXT
/***********************************************************/
/ THE WINDOW DISPLAYED WHEN A PLAYER IVITE YOU TO JOIN HIS TEAM
/**********************************************************/
/ the text " 'playerName' Invite you to his team
[1000]TEXT
/ accept
[1001]BUTTON
/ player info
[1002]BUTTON
/ reject
[1003]BUTTON
/background
[1006]BITMAP
/***********************************************************/
/ THE WINDOW DISPLAYED WHEN A PLAYER WANT TO JOIN A TEAM
/**********************************************************/
/ the text " 'playerName' WANTS TO JOIN YOUR TEAM
[1100]TEXT
/ accept
[1101]BUTTON
/ player info
[1102]BUTTON
/ reject
[1103]BUTTON
/ background bitmap
[1106]BITMAP
/***********************************************************/
/ THE WINDOW DISPLAYED to create/join a speech
/**********************************************************/
/join
[1004]BUTTON
/create
[1005]BUTTON
/**********************************************/
/ JOIN CLADE PROPOSAL POP-UP /
/**********************************************/
/ the text
[1170]TEXT
/ accept
[1171]BUTTON
/ infos
[1172]BUTTON
/ reject
[1173]BUTTON
/background
[1176]BITMAP
[2000]BITMAP
[2001]BITMAP
[2002]BITMAP
[2003]BITMAP
[2004]BITMAP
[2005]BITMAP
[2006]BITMAP
[2007]BITMAP
[2008]BITMAP
[3000]SPELL_LIST
[3001]BUTTON
[3002]BUTTON
[3003]HORIZONTAL_LIST
[3004]HORIZONTAL_LIST
/***********************************************************/
/ Spell Creation Interface
/***********************************************************/
[4000]BITMAP
[4001]BITMAP
[4002]TEXT
[4003]CONTROL_LIST
[4004]BITMAP
[4005]BITMAP
[4006]BITMAP
[4007]BITMAP
[4008]BITMAP
[4009]BITMAP
[4010]BITMAP
[4011]TEXT
[4012]SPELL_LIST
[4013]BUTTON
[4014]BITMAP
[4015]BITMAP
[4016]BUTTON
[4020]BITMAP
[4024]BITMAP
[4025]BITMAP
[4026]BITMAP
[4027]BITMAP
[4021]TEXT
[4022]HORIZONTAL_LIST
[4030]BITMAP
[4031]BITMAP
[4032]HORIZONTAL_LIST
[4040]BITMAP
[4041]BITMAP
[4042]HORIZONTAL_LIST
[4050]BUTTON
[4051]BUTTON
[4052]BUTTON
[4053]TEXT
[4054]PROGRESS_BAR
[4055]TEXT
/***********************************************************/
/ Spell Info Pop Up
/***********************************************************/
/background
[4100]BITMAP
[4101]BITMAP
[4102]BITMAP
/ window title
[4103]TEXT
/ spell name
[4110]TEXT
/ spell 'phrase' (syllables)
[4111]TEXT
/ spell formula (bricks)
[4112]HORIZONTAL_LIST
/ scroll formula left
[4113]BITMAP
/ scroll formula right
[4114]BITMAP
/ spell difficulty
[4115]TEXT
/ spell cost
[4116]PROGRESS_BAR
/ edit comment
[4117]CAPTURE
/***********************************************************/
/ Brick Info Pop Up
/***********************************************************/
/background
[4200]BITMAP
/ brick name
[4210]TEXT
/ brick icon
//[4211]BITMAP
[4211]BRICK_CONTROL
/ syllable
[4212]TEXT
/ effect
[4213]TEXT
/***********************************************************/
/ Memorized spells
/***********************************************************/
/background
[4300]BITMAP
[4301]BITMAP
[4302]BITMAP
[4303]BITMAP
[4304]BITMAP
[4305]BITMAP
[4306]BITMAP
[4307]BITMAP
[4308]BITMAP
/ title
[4309]TEXT
/ Spells
[4310]SPELL_LIST
/delete
[4311]BUTTON
/ close
[4312]BUTTON
/ cast
[4313]BUTTON
/***********************************************************/
/ casting bar
/***********************************************************/
[4400]CASTING_BAR
/***********************************************************/
/ Bars
/***********************************************************/
[5000]PROGRESS_BAR // HP
[5100]PROGRESS_BAR // Sap
[5200]PROGRESS_BAR // Stamina
/***********************************************************/
/ Target
/***********************************************************/
[6000]TEXT
[6001]BITMAP

View file

@ -0,0 +1,43 @@
<input_config>
<system name="Keyboard">
<event type="keyDown" details="KeyESCAPE" context="KeySHIFT">
<action name="quit"/>
</event>
<event type="keyDown" details="KeyT" context="KeySHIFT+KeyCONTROL">
<action name="reset_interface"/>
</event>
<event type="keyDown" details="KeyF5" context="none">
<action name="hide_interface"/>
</event>
<event type="keyDown" details="KeyS" context="KeySHIFT+KeyCONTROL">
<action name="save_sentences"/>
</event>
</system>
<system name="mouse">
<event type="buttondown" details="leftbutton">
<action name="capture"/>
<action name="enable_move_window"/>
<action name="enable_resize_window"/>
<action name="select_window"/>
<action name="enable_autoadd"/>
</event>
<event type="buttonreleased" details="leftbutton">
<action name="release_capture"/>
<action name="execute"/>
<action name="disable_move_window"/>
<action name="disable_resize_window"/>
<action name="disable_autoadd"/>
</event>
<event type="buttonreleased" details="rightbutton">
<action name="show_context_menu"/>
<action name="show_info" />
</event>
<event type="move" details="none">
<action name="move_cursor" />
</event>
</system>
</input_config>

View file

@ -0,0 +1,12 @@
[...] 20 255 255 255 255 0
[1] 15 255 255 255 255 1
[2] 10 255 0 0 255 1
[3] 20 50 50 200 255 1
[4] 15 150 240 100 255 1
[5] 30 255 255 255 64 0
[6] 12 200 200 255 255 1
[7] 12 255 255 255 255 0
[8] 10 255 255 255 255 0
[9] 8 255 255 255 255 0
[10] 12 150 240 100 255 1
[11] 17 255 255 255 255 0

View file

@ -0,0 +1,217 @@
Fichier "ctrls.txt" :
---------------------
Définir le type de chaque control.
C'est composé de l'identifiant du control(unique) et du type du control.
ATTENTION : Ne pas utiliser le control
Les types étant :
- TEXT
- CAPTURE
- BUTTON
- RADIO
- BITMAP
- LIST
Ex:
[3] TEXT
[1] BITMAP
Dans l'exemple le bouton 3 sera un texte et le 1 une bitmap.
Rien oblige à ce que les numéros se suivent.
Si le type est mal défini, le control va quand même être inséré dans la liste des controls,
mais comme étant un control indéfini.
Fichier "texts.txt" :
---------------------
Répertorie les textes des interfaces en y associant un ID.
C'est ce fichier que l'on pourra localiser en changeant les textes mais pas les identifiants.
[xxx] ou xxx est 1 identifiant à donner au texte.
Suivi du texte.
Ex:
[1]CREATE
[2]Do you want to quit ?
le texte d'ID 1 sera remplacé par "CREATE".
le texte d'ID 2 sera remplacé par "Do you want to quit ?".
ATTENTION il est important que le texte soit directement après le "]" et qu'ils ne comporte pas de "[" ou "]".
En effet les textes pouvant avoir des espaces cela permet d'en tenir compte facilement.
Fichier "textures.txt" :
------------------------
Répertorie les fichiers de textures utilisées dans les interfaces en y associant un ID.
[xxx] ou xxx est 1 identifiant à donner à la texture.
Suivi du nom de la texture.
Ex:
[1]Bois.tga
[2]Brique.tga
la texture 1 sera ce qu'il y a dans le fichier bois.tga et
la texture 2 sera ce qu'il y a dans le fichier brique.tga.
ATTENTION il est important que le nom de fichier soit directement après le "]".
En effet les nom de fichier pouvant avoir des espaces cela permet d'en tenir compte facilement.
Fichier "pens.txt" :
--------------------
Défini les stylos avec lesquels on écrit les différents textes des interfaces.
Un "pen" est composé d'une taille de texture, d'un RGBA et d'une ombre ou non.
[...] -> permet de définir l'aspect du stylo par défaut.
Sinon pour préciser l'aspect d'un styloen particulier, on met l'ID du stylo entre crochets.
Le premier paramètre est la taille de la Font.
Les 4 suivant sont pour le RGBA(couleur(rouge-vert-bleu) et l'alpha(transparence))
Le suivant défini s'il y a une ombre ou non (0 pour ne pas ombrer).
Fichier "buttons.txt" :
-----------------------
Défini l'aspect des boutons.
A Savoir qu'un bouton est a 3 états : Enfoncé, Relaché, désactivé.
Qu'il y a 1 texture pour les 3 états et d'un RGBA par état.
[...] -> permet de définir l'aspect des boutons par défaut.
Sinon pour préciser l'aspect d'un bouton en particulier on met l'ID du bouton entre crochet.
Les 3 premiers paramètres sont des entiers déterminant les textures à utiliser.
Les suivant sont 3 séries de 4 valeur -> 3 RGBA
1 RGBA est composé d'une valeur pour le rouge, une pour le vert, une pour le bleu et l'alpha.
Ex:
[...] 4 4 0 255 255 255 255 150 150 255 255 100 100 100 255
[2] 4 3 0 55 100 150 255 50 200 150 255 100 100 100 255
Les boutons seront tous avec la texture 4 en mode enfoncé et relaché et 0 en désactivé,
SAUF le bouton d'ID 2 qui sera avec une texture 3 en mode relaché.
Le RGBA respect le même ordre que les texture (enfoncé - relaché - désactivé).
Fichier "backgrounds.txt" :
---------------------------
Défini la texture de background à utiliser dans chaque OSD (fenêtre d'interface).
[...] -> permet de définir le background par défaut.
Sinon pour préciser le background d'un OSD en particulier, on met l'ID de l'OSD entre crochets.
Ex:
[...] 4
[1] 2
[2] 3
Par defaut les OSD auront pour backgroud la texture 4, sauf
l'OSD 1 qui aura la texture 2, et
l'OSD 2 qui aura la texture 3.
Fichiers décrivant les OSD :
----------------------------
Un OSD est composé d'une première parti décrivant la fenêtre de façon général(position-taille)
et d'une partie étant la liste de tous les controls qu'il contient,
les control étant lister par ordre d'affichage.
Ces controls pouvant être des :
1.Textes :
2.Bitmaps :
3.Boutons :
4.Listes :
5.Saisies :
6.Radio Boutons :
Une partie décrivant chaque control est commune :
"Parent:" = Un control peut à avoir c coordonnées relavies à un autre control (père).
Il suffit de mettre l'ID du control devant être le père. 0 ou si on ne précise pas de parent,
étant l'OSD comme parent.
ATTENTION le parent doit être déclaré avant (A CHANGER PLUS TARD).
"Origin:" = Point du parent servant de référence par rapport au père.
9 choix, les même que pour le HotSpot,qui sont : BL BM BR ML MM MR TL TM TR.
Bottom(B) Middle(M) Top(T) Left(L) Right(R).
Si le père esst un bouton, une Orgin: en BR signifierait qu'on prend comme point de repère (0,0);
l'angle en bas à droite du bouton père pour afficher le control.
"HotSpot:" = Défini comment afficher le control par rapport à l'origine.
9 choix, les même que pour l'"Origin:".
BR signifiera qu'on veut afficher le control en bas à droite de ce point.
BM en desous du point également, mais centré en largeur.
"X:" = position X ente 0 et 1 du control.
(dépendant de la taille de l'OSD) (X positif sur la Droite)
"Y:" = position Y ente 0 et 1 du control.
(dépendant de la taille de l'OSD) (Y positif vers le Haut)
"X_Pixel:" = position X en Pixel du control.
(indépendant de la taille de l'OSD) (converti puis ajouté à X:)
"Y_Pixel:" = position Y en Pixel du control.
(indépendant de la taille de l'OSD) (converti puis ajouté à Y:)
"W:" = taille de la fenêtre en largeur entre 0 et 1.
(dépendant de la taille de l'OSD)
"H:" = taille de la fenêtre en hauteur entre 0 et 1.
(dépendant de la taille de l'OSD)
"W_Pixel:" = taille de la fenêtre en largeur en pixel.
(independant de la taille de l'OSD)
"H_Pixel:" = taille de la fenêtre en hauteur en pixel.
(independant de la taille de l'OSD)
REMARQUE : L'ordre des clefs n'importe pas !
Mais chaque type de control a également une partie de script qui lui est propre :
1.Textes :
Déjà il faut savoir que la Largeur et Hauteur (W: H: W_Pixel: H_Pixel:) ne servent pas pour les textes.
Les textes ont 2 clefs en plus ; l'ID du texte et le stylo à appliquer.
"Text:" = ID du text à afficher (voir "texts.txt").
"Pen:" = Stylo à utiliser pour écrire le texte (voir "pens.txt").
2.Bitmaps :
"Texture:" = Numéro de la texture à afficher (voir "texture.txt").
"RGBA:" = 4 champs rouge vert bleu alpha (entre 0 et 255).
3.Boutons :
"Function:" = Numéro de la fonction à appeler lors de l'appui sur le bouton.
"Text:" = ID du text du bouton à afficher.
"Pen:" = Stylo à appliquer pour le texte du bouton.
4.Listes :
"Pen:" = Stylo pour les textes de la liste à utiliser.
5.Saisies :
"Function:" = Numéro de la fonction à appeler lors de l'appuie de la touche ENTER.
"Pen:" = Stylo à utiliser pour écrire.
6.Radio Boutons :
Pour les radios boutons la partie commune de clef ne sert à rien !
"Buttons" = Indique le départ de la liste des boutons qui vont être regroupés.
Mettre des numéros de control (Boutons seulement) après et qui sont déjà défini avant.
Les boutons vont devenir en quelque sorte des fils du radio bouton.
"End" = Indique la fin de la liste.
Mettre cette clef une fois que tous les boutons à regrouper ont étaient listés.
REMARQUE : Pour chaque control (ligne), l'ordre des clefs n'a aucune importance !
Ex:
Type: 1 X: 0.1 Y: 0.1 Width: 500 Height: 500 MoveX: 0 MoveY: 400 MoveWidth: 400 MoveHeight: 50
[0] Origin: TL HotSpot: BR X: 0.1 Y: -0.1 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Texture: 2 RGBA: 255 128 128 255
[1] Origin: TL HotSpot: BR X: 0 Y: -0.5 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 1 Text: 1 Pen: 1
[2] Parent: 1 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 2 Text: 2 Pen: 1
[3] Parent: 2 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 3 Text: 3 Pen: 1
[4] Parent: 3 Origin: BR HotSpot: TR X: 0 Y: 0 X_Pixel: 0 Y_Pixel: 0 W: 0.25 H: 0 W_Pixel: 0 H_Pixel: 64 Function: 4 Text: 4 Pen: 1
[5] Buttons: 1 2 3 4 End

View file

@ -0,0 +1,526 @@
[0]!!! BAD TEXT !!!
[1]Fyros
[2]Tryker
[3]Kalab
[4]Matis
[5]Male
[6]Female
[7]Create
[8]Name
[9]Character Creation
[10]Character
[11]Enter
[12]Delete
[13]Login
[14]Connect
// Empty desc
[50000]
/*************************************************/
// TEXT for the OSD 111.txt
/*************************************************/
[15]Live Chat
[16]Add
[24]W
[25]S
[26]SH
[27]Unmute All
[28]1
[29]2
[30]3
[31]4
[32]5
[33]Rec.
//[34]Speech
//[35]Vote
[36]Min
/lock, unlock : empty string
[37]
[39]Invite to Team
//[40]add to contact list
//[41]propose to join clade
[42]use preprog
//[48]Clade 1
//[49]Clade 2
//[50]Clade 3
//[51]Clade 4
//[52]Clade 5
//[53]Leave Speech
//[54]Create Group
/ to speech
//[55]S
/ to public chat
//[56]P
[57]Join Team Request
/ to team
[58]Team
/ to clade
[59]C
/ to family
[60]Family
/ the create team button
[61]Create Team
/ the leave team button
[62]Leave Team
[66]Clear
[67]Create Clade
[68]Leave Clade
[69]Join Clade Proposal
[70]Clade
[71]Vote
/***********************************************/
/ CREATE CLADE INTERFACE (OSD 200) /
/***********************************************/
[201]Clade Creation
[204]Public
[205]Secret
[207]CREATE
[208]CANCEL
/***********************************************/
/ VOTE INTERFACE /
/***********************************************/
[300]Vote
[309]Territory Chief Election
[310]Countdown
[312]Vote
/**************************************************************/
/ TRADE (YOU) (OSD 500).
/*************************************************************/
[500]Trade
[501]Cancel
/**************************************************************/
/ LOGIN (OSD 700).
/*************************************************************/
[700]Ok
/**************************************************************/
/ CHARACTER CHOICE (OSD 800).
/*************************************************************/
[800]NEW CHARACTER
/**************************************************************/
/ TRADE (YOU) (OSD 900).
/*************************************************************/
[900]Buy
[901]Cancel
/***********************************************/
[99]close
[1000]Join Team Proposition
[1001]ACCEPT
[1002]View Player Infos
[1003]REJECT
[1004]Join
[1005]Create
[1100]Join Team Request
/**********************************************/
/ JOIN CLADE PROPOSAL POP-UP /
/**********************************************/
[1170]Join Clade Proposal
/***********************************************************/
/ Spell Creation Interface (4000)
/***********************************************************/
[4000]Spell Creation
[4002]Bricks
[4011]Known Spells
[4013]Memorize
[4021]Spell creation
[4050]CLOSE
[4051]TEST
[4052]VALIDATE
[4053]Cost :
/***********************************************************/
/ Spell Information (Pop Up) (4100)
/***********************************************************/
[4100]Spell Information
[4110]Spell Name
[4111]Syllables
[4115]Difficulty :
[4117]Comment :
/***********************************************************/
/ Brick Information (Pop Up) (4200)
/***********************************************************/
[4200]Brick Information
[4210]Brick Name
[4213]Syllable
[4214]Effect...
/***********************************************************/
/ Memorized Spell List (4300)
/***********************************************************/
[4300]Memorized Spells
[4311]Delete
[4312]Close
[4313]Cast
/***********************************************************/
/ casting bar
/***********************************************************/
[4400]Casting Time
/***********************************************************/
/ Bars
/***********************************************************/
[5000]HP
[5100]SAP
[5200]STAMINA
[6000]Target
/***********************************************************/
/ Carac /
/***********************************************************/
[30000]Intelligence
[30001]Agility
[30002]Well Balanced
[30003]Constitution
[30004]Strenght
[30005]Will
[30006]Perception
[30007]Charisme
[30008]Empathie
[30009]Caracteristiques
/ Description
[31000]Intelligence
[31001]Agility
[31002]Well Balanced
[31003]Constitution
[31004]Strenght
[31005]Will
[31006]Perception
[31007]Charisme
[31008]Empathie
[31009]Caracteristiques
//
[32009]Left points
[32010]Validate name
[32011]Generate random name
[32012]Enter your name here
[32013]Guilde name
//
[32014]Name
[32015]Left points
/***********************************************************/
/ Race /
/***********************************************************/
[30010]Race
[30011]Fyros
[30012]Matis
[30013]Tryker
[30014]Zorai
/ Description
[31010]Race
[31011]Fyros
[31012]Matis
[31013]Tryker
[31014]Zorai
/***********************************************************/
/ Sex /
/***********************************************************/
[30090] Sex
[30091] Male
[30092] Female
[31090] Sex
[31091] Male
[31092] Female
/***********************************************************/
/ Carriere /
/***********************************************************/
[30020]Carriere
[30021]Buffer caster
[30022]Healer caster
[30023]Attack caster
[30024]Melee attack
[30025]Range attack
[30026]Harvester
[30027]Shopkeeper
[31020]Carriere
[31021]Buffer caster
[31022]Healer caster
[31023]Attack caster
[31024]Melee attack
[31025]Range attack
[31026]Harvester
[31027]Shopkeeper
/*****************************************/
/ Skills categories /
/*****************************************/
[80000]Harvest Competences
[80001]Surviving Knowledges
[80002]Civilization Knowledges
[80003]Training Characteristics
[80004]Training Resists
[80005]Ryzom Knowledge
[80006]Melee Fight
[80007]Melee Fight Specializations
[80008]Range Fight
[80009]Range Fight Specializations
[80010]Magic Knowledge
[80011]Magic Specializations
[80012]Moves
[80013]Animals
[80014]Faber
/*****************************************/
/ Skills /
/*****************************************/
[70000]Harvest
[70001]Quartering
[70002]Fishing
[70003]Diving
[70004]Digging
//survivingknowledges
[70005]Desert
[70006]Jungle
[70007]Lake
[70008]Forest
[70009]PrimaryRoots
[70010]FirstAid
[70011]HominOpponentConsider
[70012]Camouflage
//civilizationsknowledges
[70013]Fyros
[70014]Tryker
[70015]Matis
[70016]Zorai
[70017]Kitin
[70018]Dragon
//trainingcaracteristics
[70019]TrainingStrength
[70020]TrainingConstitution
[70021]TrainingAgility
[70022]TrainingPerception
[70023]TrainingWill
[70024]TrainingWellBalanced
[70025]TrainingIntelligence
[70026]TrainingCharisme
[70027]TrainingEmpathie
[70028]TrainingHp
[70029]TrainingSeve
[70030]TrainingStamina
//trainingresist
[70031]TrainingMagicResist
[70032]TrainingImpactResist
[70033]TrainingDiseaseResist
[70034]TrainingTechnoResist
[70035]TrainingFearResist
//ryzomknowledges
[70036]Caravan
[70037]Rocktabou
[70038]Goo
[70039]Kami
[70040]TrykerMystery
[70041]MatisMystery
[70042]ZoraiMystery
//meleefight
[70043]Dagger
[70044]Sword
[70045]TwoHandsSword
[70046]Axe
[70047]Mass
[70048]Stick
[70059]GreatAxe
[70050]GreatMass
[70051]Pike
[70052]HandToHand
[70053]BersekAttack
[70054]Kick
[70055]OnHorseBackMelee
[70056]Rondache
[70057]Shield
[70058]DualWield
[70059]Dodging
[70060]HeavyArmourWear
[70061]MediumArmourWear
[70062]LightArmourWear
//meleefightspecializations
[70063]FyrosSword
[70064]FyrosLongSword
[70065]FyrosTwoHandsSword
[70066]FyrosSaber
[70067]FyrosDagger
[70068]FyrosHeavyArmourWear
[70069]FyrosMediumArmourWear
[70070]FyrosLightArmourWear
[70071]FyrosShield
[70072]FyrosRondache
//rangefight
[70073]BowPistol
[70074]BowRifle
[70075]Pistol
[70076]Rifle
[70077]HeavyWeapon
[70078]Rocket
[70079]Grenade
[70080]HarpoonGun
[70081]OnHorseBackShoot
// range_fight_specializations,
[70082]FyrosBowPistol
[70083]FyrosRifle
[70084]FyrosPistol
[70085]MatisBowPistol
[70086]MatisRifle
[70087]MatisPistol
[70088]TrykerBow_Pistol
[70089]TrykerRifle
[70090]TrykerPistol
[70091]ZoraiBow_Pistol
[70092]ZoraiRifle
[70093]ZoraiPistol
//magicknowledge
[70094]Mandragore
[70095]Dryade
[70096]Sylve
[70097]MajorMandragore
[70098]MajorDryade
[70099]MajorSylve
[70100]MagicTransfert
[70101]MagicObjects
//magicspecializations
[70102]MandragoreSpring
[70103]MandragoreSummer
[70104]MandragoreAutomn
[70105]MandragoreWinter
[70106]SylveSpring
[70107]SylveSummer
[70108]SylveAutomn
[70109]SylveWinter
[70110]DryadeSpring
[70111]DryadeSummer
[70112]DryadeAutomn
[70113]DryadeWinter
[70115]MajorMandragoreSpring
[70116]MajorMandragoreSummer
[70117]MajorMandragoreAutomn
[70118]MajorMandragoreWinter
[70119]MajorSylveSpring
[70120]MajorSylveSummer
[70121]MajorSylveAutomn
[70122]MajorSylveWinter
[70123]MajorDryadeSpring
[70124]MajorDryadeSummer
[70125]MajorDryadeAutomn
[70126]MajorDryadeWinter
//moves
[70127]Running
[70128]Swimming
[70129]Riding
//animals
[70130]TrainAnimal
[70131]LeadAnimal
//faber
[70132]WeaponsCutting
[70133]MakeThrowingWeapons
[70134]Blacksmithing
[70135]ClothTailoring
[70136]LeatherTailoring
[70137]Jewellery
[70138]Cooking
[70139]Mechanic
[70140]Building
[70141]Apothecary
[70142]MakeShiftRepair
[70143]ArmorAndWeaponSmithing
/***********************************************/
/ SELECT CHARACTER INTERFACE /
/***********************************************/
[90000]Create new character
[90001]NEW CHARACTER
[90002]Select/Create character
/***********************************************/
/ MISC /
/***********************************************/
[100000] Gabarits
[100001] Hair model
[100002] Morphology
[100003] Tattoo
[100004] Please enter a name without whitespaces!
[100005] Erase
[100006] OK
[100007] CANCEL
[100008] Are you sure you want to erase this character ?

View file

@ -32,13 +32,15 @@ function SceneEditor:init(scene_id, form_url, translations, icons_url)
self.T = translations self.T = translations
end end
function SceneEditor:reset() function SceneEditor:reset(no_get_html)
self.Shapes = {} self.Shapes = {}
self.Groups = {} self.Groups = {}
self.LastEditedGroup = nil self.LastEditedGroup = nil
self.HaveUpdate = nil self.HaveUpdate = nil
runAH(nil, "remove_shapes", "") runAH(nil, "remove_shapes", "")
self:get_html("Reseted") if no_get_html == true then
self:get_html("Reseted")
end
end end
function SceneEditor:show_menu() function SceneEditor:show_menu()
@ -364,24 +366,24 @@ end
function SceneEditor:editGroup(group) function SceneEditor:editGroup(group)
if self.LastEditedGroup then if self.LastEditedGroup then
self:removeGroup(self.LastEditedGroup) self:removeGroup(self.LastEditedGroup, true)
self:addGroup(self.LastEditedGroup, 0, true, false) self:addGroup(self.LastEditedGroup, 0, true, false)
end end
self:removeGroup(group); self:removeGroup(group, true);
self:addGroup(group, 0, true, true) self:addGroup(group, 0, true, true)
self.LastEditedGroup = group self.LastEditedGroup = group
end end
function SceneEditor:addFromDb(group, db_id, json_shape) function SceneEditor:addFromDb(group, db_id, json_shape, edit)
shape = Json.decode(json_shape) shape = Json.decode(json_shape)
shape.db_id = db_id shape.db_id = db_id
shape.group = group shape.group = group
shape.modified = "" shape.modified = ""
if hide then if edit then
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, false, "", "")
else
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "SceneEditor:show_menu()") shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "SceneEditor:show_menu()")
else
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "")
end end
rotateShape(shape_id, tostring(shape.rot[1]), tostring(shape.rot[2]), tostring(shape.rot[3])) rotateShape(shape_id, tostring(shape.rot[1]), tostring(shape.rot[2]), tostring(shape.rot[3]))
setupShape(shape_id, shape.setup) setupShape(shape_id, shape.setup)
@ -393,7 +395,7 @@ function SceneEditor:addFromDb(group, db_id, json_shape)
end end
function SceneEditor:removeGroup(group) function SceneEditor:removeGroup(group, no_get_html)
if self.Groups[group] == nil then if self.Groups[group] == nil then
return return
end end
@ -404,6 +406,7 @@ function SceneEditor:removeGroup(group)
deleteShape(shape_id) deleteShape(shape_id)
end end
end end
self.Groups[group] = nil self.Groups[group] = nil
if self.LastEditedGroup == group then if self.LastEditedGroup == group then
self.LastEditedGroup = nil self.LastEditedGroup = nil
@ -412,7 +415,9 @@ function SceneEditor:removeGroup(group)
ui.active=false ui.active=false
end end
end end
self:get_html("Group Removed") if no_get_html == nil then
self:get_html("Group Removed")
end
end end
function SceneEditor:enc64(data) function SceneEditor:enc64(data)
@ -479,20 +484,7 @@ function SceneEditor:show_shape_list()
end end
end end
function SceneEditor:getShapesByGroups()
function SceneEditor:get_html_section(message, color)
return '<table width="100%" cellspacing="0" cellpadding="0"><tr bgcolor="'..color..'"><td align="center" valign="middle"><font color="#FFFFFF" size="12">'..message..'</font></td></tr></table>'
end
function SceneEditor:get_html(message, message_bg)
local new_group = '&nbsp;&nbsp;<a class="ryzom-ui-button" href="'..self.baseUrl..'_AddGroup&amp;add_new_group=1&amp;scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/chart_organisation_add.png" alt="'..self.T["add_new_group"]..'" /></a>'
local show_hide_cols = '&nbsp;&nbsp;<a class="ryzom-ui-button" href="ah:ark_pacs_borders"><img src="'..self.iconsUrl..'/32/show_hide_cols.png" alt="'..self.T["show_hide_cols"]..'" /></a>'
local reset_scene = '</td><td align="center" bgcolor="#502020" width="40px"><a class="ryzom-ui-button" href="'..self.baseUrl..'_SaveShapes&amp;reset_scene=1&amp;scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/bin.png" alt="'..self.T["reset_scene"]..'" /></a>'
local html = '<header><title>'..self.T["sceno_editor"]..'</title></header>'..self:get_html_section(message..'</td><td bgcolor="#202020" align="center" height="40px" width="140px" valign="middle">'..new_group..show_hide_cols..reset_scene, (message_bg or SceneEditor:get_random_color()))
html = html .. '<form action="'..self.baseUrl..'_SaveShapes" method="POST"><input type="hidden" name="group" value="'..(self.LastEditedGroup or "")..'" /><input type="hidden" name="scene_id" value="'..self.sceneId..'" />\
<table width="100%" cellspacing="0" cellpadding="0">'
local groups = {} local groups = {}
for shape_id, shape in pairs(self.Shapes) do for shape_id, shape in pairs(self.Shapes) do
if shape.group == nil then if shape.group == nil then
@ -504,13 +496,35 @@ function SceneEditor:get_html(message, message_bg)
end end
table.insert(groups[shape.group], shape_id) table.insert(groups[shape.group], shape_id)
end end
return groups
end
function SceneEditor:get_html_section(message, color)
return '<table width="100%" cellspacing="0" cellpadding="0"><tr bgcolor="'..color..'"><td align="center" valign="middle"><font color="#FFFFFF" size="12">'..message..'</font></td></tr></table>'
end
function SceneEditor:get_html(message, message_bg)
debug("get_html :"..message)
local new_group = '&nbsp;&nbsp;<a class="ryzom-ui-button" href="'..self.baseUrl..'_AddGroup&amp;add_new_group=1&amp;scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/chart_organisation_add.png" alt="'..self.T["add_new_group"]..'" /></a>'
local show_hide_cols = '&nbsp;&nbsp;<a class="ryzom-ui-button" href="ah:ark_pacs_borders"><img src="'..self.iconsUrl..'/32/show_hide_cols.png" alt="'..self.T["show_hide_cols"]..'" /></a>'
local reset_scene = '</td><td align="center" bgcolor="#502020" width="40px"><a class="ryzom-ui-button" href="'..self.baseUrl..'_SaveShapes&amp;reset_scene=1&amp;scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/bin.png" alt="'..self.T["reset_scene"]..'" /></a>'
local html = '<header><title>'..self.T["sceno_editor"]..'</title></header>'..self:get_html_section(message..'</td><td bgcolor="#202020" align="center" height="40px" width="140px" valign="middle">'..new_group..show_hide_cols..reset_scene, (message_bg or SceneEditor:get_random_color()))
html = html .. '<form action="'..self.baseUrl..'_SaveShapes" method="POST"><input type="hidden" name="group" value="'..(self.LastEditedGroup or "")..'" /><input type="hidden" name="scene_id" value="'..self.sceneId..'" />\
<table width="100%" cellspacing="0" cellpadding="0">'
local groups = self:getShapesByGroups()
for group, shapes in pairsByKeys(self.Groups) do for group, shapes in pairsByKeys(self.Groups) do
debug("Group : "..group)
local groupname = group local groupname = group
html = html .. '<tr bgcolor="#444444"><td height="20px"><table width="100%"><tr><td>&nbsp;'..groupname..' ('..(self.Groups[group].props.count or '0')..') </td><td align="right"><input type="hidden" name="shape[]", value="#"/>' html = html .. '<tr bgcolor="#444444"><td height="20px"><table width="100%"><tr><td>&nbsp;'..groupname..' ('..(self.Groups[group].props.count or '0')..') </td><td align="right"><input type="hidden" name="shape[]", value="#"/>'
if self.Groups[group].props.show then if self.Groups[group].props.show then
debug("Group : show")
if self.Groups[group].props.edit then if self.Groups[group].props.edit then
html = html .. '<a href="ah:lua:SceneEditor:show_shape_list()"><img src="'..self.iconsUrl..'/16/box_add.png" alt="'..self.T["add_shape"]..'"/></a></td><td align="right">' html = html .. '<a href="ah:lua:SceneEditor:show_shape_list()"><img src="'..self.iconsUrl..'/16/box_add.png" alt="'..self.T["add_shape"]..'"/></a></td><td align="right">'
if self.HaveUpdate then if self.HaveUpdate then

View file

@ -0,0 +1,24 @@
db SERVER:CHARACTER_INFO:CAREER0:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER0:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER0:JOB1:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER0:JOB1:STATUS 1
db SERVER:CHARACTER_INFO:CAREER1:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER1:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER1:JOB1:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER1:JOB1:STATUS 1
db SERVER:CHARACTER_INFO:CAREER2:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER2:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER2:JOB1:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER2:JOB1:STATUS 1
db SERVER:CHARACTER_INFO:CAREER3:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER3:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER3:JOB1:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER3:JOB1:STATUS 1
db SERVER:CHARACTER_INFO:CAREER4:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER4:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER5:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER5:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER6:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER6:JOB0:STATUS 1
db SERVER:CHARACTER_INFO:CAREER7:JOB0:JOB_CAP 10
db SERVER:CHARACTER_INFO:CAREER7:JOB0:STATUS 1

View file

@ -0,0 +1,257 @@
altLook 1 0 2 0 0 100 4 0
altLook 2 0 2 0 0 100 4 0
altLook 3 0 2 0 0 100 4 0
altLook 4 0 2 0 0 100 4 0
altLook 5 0 2 0 0 100 4 0
altLook 6 0 2 0 0 100 4 0
altLook 7 0 2 0 0 100 4 0
altLook 8 0 2 0 0 100 4 0
altLook 9 0 2 0 0 100 4 0
altLook 10 0 2 0 0 100 4 0
altLook 11 0 2 0 0 100 4 0
altLook 12 0 2 0 0 100 4 0
altLook 13 0 2 0 0 100 4 0
altLook 14 0 2 0 0 100 4 0
altLook 15 0 2 0 0 100 4 0
altLook 16 0 2 0 0 100 4 0
altLook 17 0 2 0 0 100 4 0
altLook 18 0 2 0 0 100 4 0
altLook 19 0 2 0 0 100 4 0
altLook 20 0 2 0 0 100 4 0
altLook 21 0 2 0 0 100 4 0
altLook 22 0 2 0 0 100 4 0
altLook 23 0 2 0 0 100 4 0
altLook 24 0 2 0 0 100 4 0
altLook 25 0 2 0 0 100 4 0
altLook 26 0 2 0 0 100 4 0
altLook 27 0 2 0 0 100 4 0
altLook 28 0 2 0 0 100 4 0
altLook 29 0 2 0 0 100 4 0
altLook 30 0 2 0 0 100 4 0
altLook 31 0 2 0 0 100 4 0
altLook 32 0 2 0 0 100 4 0
altLook 33 0 2 0 0 100 4 0
altLook 34 0 2 0 0 100 4 0
altLook 35 0 2 0 0 100 4 0
altLook 36 0 2 0 0 100 4 0
altLook 37 0 2 0 0 100 4 0
altLook 38 0 2 0 0 100 4 0
altLook 39 0 2 0 0 100 4 0
altLook 40 0 2 0 0 100 4 0
altLook 41 0 2 0 0 100 4 0
altLook 42 0 2 0 0 100 4 0
altLook 43 0 2 0 0 100 4 0
altLook 44 0 2 0 0 100 4 0
altLook 45 0 2 0 0 100 4 0
altLook 46 0 2 0 0 100 4 0
altLook 47 0 2 0 0 100 4 0
altLook 48 0 2 0 0 100 4 0
altLook 49 0 2 0 0 100 4 0
altLook 50 0 2 0 0 100 4 0
altLook 51 0 2 0 0 100 4 0
altLook 52 0 2 0 0 100 4 0
altLook 53 0 2 0 0 100 4 0
altLook 54 0 2 0 0 100 4 0
altLook 55 0 2 0 0 100 4 0
altLook 56 0 2 0 0 100 4 0
altLook 57 1 2 0 0 100 4 0
altLook 58 1 2 0 0 100 4 0
altLook 59 1 2 0 0 100 4 0
altLook 60 1 2 0 0 100 4 0
altLook 61 1 2 0 0 100 4 0
altLook 62 1 2 0 0 100 4 0
altLook 63 1 2 0 0 100 4 0
altLook 64 1 2 0 0 100 4 0
altLook 65 1 2 0 0 100 4 0
altLook 66 1 2 0 0 100 4 0
altLook 67 1 2 0 0 100 4 0
altLook 68 1 2 0 0 100 4 0
altLook 69 1 2 0 0 100 4 0
altLook 70 1 2 0 0 100 4 0
altLook 71 1 2 0 0 100 4 0
altLook 72 1 2 0 0 100 4 0
altLook 73 1 2 0 0 100 4 0
altLook 74 1 2 0 0 100 4 0
altLook 75 1 2 0 0 100 4 0
altLook 76 1 2 0 0 100 4 0
altLook 77 1 2 0 0 100 4 0
altLook 78 1 2 0 0 100 4 0
altLook 79 1 2 0 0 100 4 0
altLook 80 1 2 0 0 100 4 0
altLook 81 1 2 0 0 100 4 0
altLook 82 1 2 0 0 100 4 0
altLook 83 1 2 0 0 100 4 0
altLook 84 1 2 0 0 100 4 0
altLook 85 1 2 0 0 100 4 0
altLook 86 1 2 0 0 100 4 0
altLook 87 1 2 0 0 100 4 0
altLook 88 1 2 0 0 100 4 0
altLook 89 1 2 0 0 100 4 0
altLook 90 1 2 0 0 100 4 0
altLook 91 1 2 0 0 100 4 0
altLook 92 1 2 0 0 100 4 0
altLook 93 1 2 0 0 100 4 0
altLook 94 1 2 0 0 100 4 0
altLook 95 1 2 0 0 100 4 0
altLook 96 1 2 0 0 100 4 0
altLook 97 1 2 0 0 100 4 0
altLook 98 1 2 0 0 100 4 0
altLook 99 1 2 0 0 100 4 0
altLook 100 1 2 0 0 100 4 0
altLook 101 1 2 0 0 100 4 0
altLook 102 1 2 0 0 100 4 0
altLook 103 1 2 0 0 100 4 0
altLook 104 1 2 0 0 100 4 0
altLook 105 1 2 0 0 100 4 0
altLook 106 1 2 0 0 100 4 0
altLook 107 1 2 0 0 100 4 0
altLook 108 1 2 0 0 100 4 0
altLook 109 1 2 0 0 100 4 0
altLook 110 1 2 0 0 100 4 0
altLook 111 1 2 0 0 100 4 0
altLook 112 1 2 0 0 100 4 0
altLook 113 2 2 0 0 100 4 0
altLook 114 2 2 0 0 100 4 0
altLook 115 2 2 0 0 100 4 0
altLook 116 2 2 0 0 100 4 0
altLook 117 2 2 0 0 100 4 0
altLook 118 2 2 0 0 100 4 0
altLook 119 2 2 0 0 100 4 0
altLook 120 2 2 0 0 100 4 0
altLook 121 2 2 0 0 100 4 0
altLook 122 2 2 0 0 100 4 0
altLook 123 2 2 0 0 100 4 0
altLook 124 2 2 0 0 100 4 0
altLook 125 2 2 0 0 100 4 0
altLook 126 2 2 0 0 100 4 0
altLook 127 2 2 0 0 100 4 0
altLook 128 2 2 0 0 100 4 0
altLook 129 2 2 0 0 100 4 0
altLook 130 2 2 0 0 100 4 0
altLook 131 2 2 0 0 100 4 0
altLook 132 2 2 0 0 100 4 0
altLook 133 2 2 0 0 100 4 0
altLook 134 2 2 0 0 100 4 0
altLook 135 2 2 0 0 100 4 0
altLook 136 2 2 0 0 100 4 0
altLook 137 2 2 0 0 100 4 0
altLook 138 2 2 0 0 100 4 0
altLook 139 2 2 0 0 100 4 0
altLook 140 2 2 0 0 100 4 0
altLook 141 2 2 0 0 100 4 0
altLook 142 2 2 0 0 100 4 0
altLook 143 2 2 0 0 100 4 0
altLook 144 2 2 0 0 100 4 0
altLook 145 2 2 0 0 100 4 0
altLook 146 2 2 0 0 100 4 0
altLook 147 2 2 0 0 100 4 0
altLook 148 2 2 0 0 100 4 0
altLook 149 2 2 0 0 100 4 0
altLook 150 2 2 0 0 100 4 0
altLook 151 2 2 0 0 100 4 0
altLook 152 2 2 0 0 100 4 0
altLook 153 2 2 0 0 100 4 0
altLook 154 2 2 0 0 100 4 0
altLook 155 2 2 0 0 100 4 0
altLook 156 2 2 0 0 100 4 0
altLook 157 2 2 0 0 100 4 0
altLook 158 2 2 0 0 100 4 0
altLook 159 2 2 0 0 100 4 0
altLook 160 2 2 0 0 100 4 0
altLook 161 2 2 0 0 100 4 0
altLook 162 2 2 0 0 100 4 0
altLook 163 2 2 0 0 100 4 0
altLook 164 2 2 0 0 100 4 0
altLook 165 2 2 0 0 100 4 0
altLook 166 2 2 0 0 100 4 0
altLook 167 2 2 0 0 100 4 0
altLook 168 2 2 0 0 100 4 0
altLook 169 3 2 0 0 100 4 0
altLook 170 3 2 0 0 100 4 0
altLook 171 3 2 0 0 100 4 0
altLook 172 3 2 0 0 100 4 0
altLook 173 3 2 0 0 100 4 0
altLook 174 3 2 0 0 100 4 0
altLook 175 3 2 0 0 100 4 0
altLook 176 3 2 0 0 100 4 0
altLook 177 3 2 0 0 100 4 0
altLook 178 3 2 0 0 100 4 0
altLook 179 3 2 0 0 100 4 0
altLook 180 3 2 0 0 100 4 0
altLook 181 3 2 0 0 100 4 0
altLook 182 3 2 0 0 100 4 0
altLook 183 3 2 0 0 100 4 0
altLook 184 3 2 0 0 100 4 0
altLook 185 3 2 0 0 100 4 0
altLook 186 3 2 0 0 100 4 0
altLook 187 3 2 0 0 100 4 0
altLook 188 3 2 0 0 100 4 0
altLook 189 3 2 0 0 100 4 0
altLook 190 3 2 0 0 100 4 0
altLook 191 3 2 0 0 100 4 0
altLook 192 3 2 0 0 100 4 0
altLook 193 3 2 0 0 100 4 0
altLook 194 3 2 0 0 100 4 0
altLook 195 3 2 0 0 100 4 0
altLook 196 3 2 0 0 100 4 0
altLook 197 3 2 0 0 100 4 0
altLook 198 3 2 0 0 100 4 0
altLook 199 3 2 0 0 100 4 0
altLook 200 3 2 0 0 100 4 0
altLook 201 3 2 0 0 100 4 0
altLook 202 3 2 0 0 100 4 0
altLook 203 3 2 0 0 100 4 0
altLook 204 3 2 0 0 100 4 0
altLook 205 3 2 0 0 100 4 0
altLook 206 3 2 0 0 100 4 0
altLook 207 3 2 0 0 100 4 0
altLook 208 3 2 0 0 100 4 0
altLook 209 3 2 0 0 100 4 0
altLook 210 3 2 0 0 100 4 0
altLook 211 3 2 0 0 100 4 0
altLook 212 3 2 0 0 100 4 0
altLook 213 3 2 0 0 100 4 0
altLook 214 3 2 0 0 100 4 0
altLook 215 3 2 0 0 100 4 0
altLook 216 3 2 0 0 100 4 0
altLook 217 3 2 0 0 100 4 0
altLook 218 3 2 0 0 100 4 0
altLook 219 3 2 0 0 100 4 0
altLook 220 3 2 0 0 100 4 0
altLook 221 3 2 0 0 100 4 0
altLook 222 3 2 0 0 100 4 0
altLook 223 3 2 0 0 100 4 0
altLook 224 3 2 0 0 100 4 0
altLook 225 4 2 0 0 100 4 0
altLook 226 4 2 0 0 100 4 0
altLook 227 4 2 0 0 100 4 0
altLook 228 4 2 0 0 100 4 0
altLook 229 4 2 0 0 100 4 0
altLook 230 4 2 0 0 100 4 0
altLook 231 4 2 0 0 100 4 0
altLook 232 4 2 0 0 100 4 0
altLook 233 4 2 0 0 100 4 0
altLook 234 4 2 0 0 100 4 0
altLook 235 4 2 0 0 100 4 0
altLook 236 4 2 0 0 100 4 0
altLook 237 4 2 0 0 100 4 0
altLook 238 4 2 0 0 100 4 0
altLook 239 4 2 0 0 100 4 0
altLook 240 4 2 0 0 100 4 0
altLook 241 4 2 0 0 100 4 0
altLook 242 4 2 0 0 100 4 0
altLook 243 4 2 0 0 100 4 0
altLook 244 4 2 0 0 100 4 0
altLook 245 4 2 0 0 100 4 0
altLook 246 4 2 0 0 100 4 0
altLook 247 4 2 0 0 100 4 0
altLook 248 4 2 0 0 100 4 0
altLook 249 4 2 0 0 100 4 0
altLook 250 4 2 0 0 100 4 0
altLook 251 4 2 0 0 100 4 0
altLook 252 4 2 0 0 100 4 0
altLook 253 4 2 0 0 100 4 0
altLook 254 4 2 0 0 100 4 0
altLook 255 4 2 0 0 100 4 0

View file

@ -0,0 +1,230 @@
db SERVER:GUILD:NAME 654
db SERVER:GUILD:DESCRIPTION 2
db SERVER:GUILD:ICON 2
db SERVER:GUILD:XP 250
db SERVER:GUILD:VILLAGE 3
db SERVER:GUILD:PEOPLE 199
db SERVER:GUILD:CREATION_DATE 365
db SERVER:GUILD:MEMBERS:0:NAME 100
db SERVER:GUILD:MEMBERS:0:GRADE 0
db SERVER:GUILD:MEMBERS:0:ONLINE 1
db SERVER:GUILD:MEMBERS:0:ENTER_DATE 1680
db SERVER:GUILD:MEMBERS:1:NAME 1
db SERVER:GUILD:MEMBERS:1:GRADE 1
db SERVER:GUILD:MEMBERS:1:ONLINE 0
db SERVER:GUILD:MEMBERS:1:ENTER_DATE 150
db SERVER:GUILD:MEMBERS:2:NAME 2
db SERVER:GUILD:MEMBERS:2:GRADE 2
db SERVER:GUILD:MEMBERS:2:ONLINE 1
db SERVER:GUILD:MEMBERS:2:ENTER_DATE 120
db SERVER:GUILD:MEMBERS:3:NAME 3
db SERVER:GUILD:MEMBERS:3:GRADE 3
db SERVER:GUILD:MEMBERS:3:ONLINE 1
db SERVER:GUILD:MEMBERS:3:ENTER_DATE 100
db SERVER:USER:OUTPOST_ADMIN 1
db SERVER:GUILD:OUTPOST:O0:SHEET fyros_outpost_01.outpost
db SERVER:GUILD:OUTPOST:O1:SHEET fyros_outpost_02.outpost
db SERVER:GUILD:OUTPOST:O2:SHEET fyros_outpost_03.outpost
db SERVER:GUILD:OUTPOST:O3:SHEET fyros_outpost_04.outpost
db SERVER:GUILD:OUTPOST:O4:SHEET fyros_outpost_05.outpost
db SERVER:GUILD:OUTPOST:O5:SHEET fyros_outpost_06.outpost
db SERVER:GUILD:OUTPOST:O6:SHEET fyros_outpost_07.outpost
db SERVER:GUILD:OUTPOST:O7:SHEET fyros_outpost_08.outpost
db SERVER:GUILD:OUTPOST:O8:SHEET fyros_outpost_09.outpost
db SERVER:GUILD:OUTPOST:O9:SHEET fyros_outpost_10.outpost
db SERVER:GUILD:OUTPOST:O10:SHEET fyros_outpost_11.outpost
db SERVER:GUILD:OUTPOST:O11:SHEET fyros_outpost_12.outpost
db SERVER:GUILD:OUTPOST:O12:SHEET fyros_outpost_13.outpost
db SERVER:GUILD:OUTPOST:O13:SHEET fyros_outpost_14.outpost
db SERVER:GUILD:OUTPOST:O14:SHEET fyros_outpost_15.outpost
db SERVER:GUILD:OUTPOST:O0:OWNED 1
db SERVER:GUILD:OUTPOST:O1:OWNED 1
db SERVER:GUILD:OUTPOST:O2:OWNED 1
db SERVER:GUILD:OUTPOST:O3:OWNED 1
db SERVER:GUILD:OUTPOST:O4:OWNED 1
db SERVER:GUILD:OUTPOST:O0:STATUS 0
db SERVER:GUILD:OUTPOST:O1:STATUS 1
db SERVER:GUILD:OUTPOST:O2:STATUS 2
db SERVER:GUILD:OUTPOST:O3:STATUS 3
db SERVER:GUILD:OUTPOST:O4:STATUS 4
db SERVER:GUILD:OUTPOST:O5:STATUS 5
db SERVER:GUILD:OUTPOST:O6:STATUS 6
db SERVER:GUILD:OUTPOST:O7:STATUS 7
db SERVER:GUILD:OUTPOST:O8:STATUS 8
db SERVER:GUILD:OUTPOST:O9:STATUS 4
db SERVER:GUILD:OUTPOST:O10:STATUS 0
db SERVER:GUILD:OUTPOST:O11:STATUS 1
db SERVER:GUILD:OUTPOST:O12:STATUS 2
db SERVER:GUILD:OUTPOST:O13:STATUS 3
db SERVER:GUILD:OUTPOST:O14:STATUS 4
// ***************** FROM GUILD *************************
db SERVER:GUILD:OUTPOST:O0:LEVEL 83
db SERVER:GUILD:OUTPOST:O0:GUILD:NAME 513
db SERVER:GUILD:OUTPOST:O0:GUILD:ICON 97984679
db SERVER:GUILD:OUTPOST:O0:GUILD:TRIBE 0
db SERVER:GUILD:OUTPOST:O0:GUILD:NAME_ATT 666
db SERVER:GUILD:OUTPOST:O0:STATUS 2
db SERVER:GUILD:OUTPOST:O0:OWNED 1
db SERVER:GUILD:OUTPOST:O0:STATE_END_DATE 400000
db SERVER:GUILD:OUTPOST:O0:DISPLAY_CRASH 0
db SERVER:GUILD:OUTPOST:O0:WARCOST 0
db SERVER:GUILD:OUTPOST:O0:ROUND_LVL_THRESHOLD 8
db SERVER:GUILD:OUTPOST:O0:ROUND_LVL_MAX_ATT 3
db SERVER:GUILD:OUTPOST:O0:ROUND_LVL_MAX_DEF 2
db SERVER:GUILD:OUTPOST:O0:ROUND_LVL_CUR 18
db SERVER:GUILD:OUTPOST:O0:ROUND_ID_CUR 4
db SERVER:GUILD:OUTPOST:O0:ROUND_ID_MAX 12
db SERVER:GUILD:OUTPOST:O0:TIME_RANGE_DEF_WANTED 24
db SERVER:GUILD:OUTPOST:O0:TIME_RANGE_ATT 946180000
db SERVER:GUILD:OUTPOST:O0:TIME_RANGE_DEF 946280000
db SERVER:GUILD:OUTPOST:O0:TIME_RANGE_LENGTH 120
// /db UI:SAVE:OUTPOST:TIME_ZONE
// ***************** SELECTED *************************
db SERVER:OUTPOST_SELECTED:SHEET fyros_outpost_09.outpost
db SERVER:OUTPOST_SELECTED:LEVEL 23
db SERVER:OUTPOST_SELECTED:GUILD:NAME 257
db SERVER:OUTPOST_SELECTED:GUILD:ICON 98983679
db SERVER:OUTPOST_SELECTED:GUILD:TRIBE 0
db SERVER:OUTPOST_SELECTED:GUILD:NAME_ATT 93
db SERVER:OUTPOST_SELECTED:STATUS 1
db SERVER:OUTPOST_SELECTED:STATE_END_DATE 0
db SERVER:OUTPOST_SELECTED:DISPLAY_CRASH 0
db SERVER:OUTPOST_SELECTED:WARCOST 123456
db SERVER:OUTPOST_SELECTED:ROUND_LVL_THRESHOLD 8
db SERVER:OUTPOST_SELECTED:ROUND_LVL_MAX_ATT 3
db SERVER:OUTPOST_SELECTED:ROUND_LVL_MAX_DEF 2
db SERVER:OUTPOST_SELECTED:ROUND_LVL_CUR 18
db SERVER:OUTPOST_SELECTED:ROUND_ID_CUR 4
db SERVER:OUTPOST_SELECTED:ROUND_ID_MAX 12
db SERVER:OUTPOST_SELECTED:TIME_RANGE_DEF_WANTED 24
db SERVER:OUTPOST_SELECTED:TIME_RANGE_DEF 946080000
db SERVER:OUTPOST_SELECTED:TIME_RANGE_ATT 946180000
db SERVER:OUTPOST_SELECTED:TIME_RANGE_LENGTH 120
db UI:TEMP:OUTPOST:DECLARE_WAR_ACK_RECEIVED 1
db UI:TEMP:OUTPOST:DECLARE_WAR_ACK_OK 1
db UI:TEMP:OUTPOST:DECLARE_WAR_ACK_TEXTID 6123
db UI:TEMP:OUTPOST:DECLARE_WAR_ACK_TIME_RANGE_ATT 98983500
entity 1 fyhu1.creature
db SERVER:TARGET:CONTEXT_MENU:PROGRAMMES 262144
db SERVER:TARGET:CONTEXT_MENU:OUTPOST fyros_outpost_09.outpost
// ***************** SQUADS *************************
db SERVER:GUILD:OUTPOST:O0:S:S0:SHEET defenders_light_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:S1:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:S2:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T0:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T1:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T2:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T3:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T4:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T5:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T6:SHEET defenders_magical_bombers_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T7:SHEET defenders_heavy_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T8:SHEET defenders_light_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T9:SHEET defenders_light_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T10:SHEET defenders_light_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T11:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T12:SHEET defenders_medium_range_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T13:SHEET defenders_medium_range_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T14:SHEET defenders_medium_range_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T0:SPAWN 0
db SERVER:GUILD:OUTPOST:O0:S:T1:SPAWN 1
db SERVER:GUILD:OUTPOST:O0:S:T2:SPAWN 2
db SERVER:GUILD:OUTPOST:O0:S:T3:SPAWN 3
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:0:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:1:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:2:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:3:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:4:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:5:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:6:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:7:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:8:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:9:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:10:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:11:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:12:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:13:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:14:SHEET defenders_medium_range_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:S0:SHEET defenders_medium_melee_fighters_06_10_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:S1:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:T0:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:T1:SHEET defenders_medium_melee_fighters_01_05_fyros.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:0:X 18279
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:0:Y -24446
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:1:X 18240
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:1:Y -24450
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:2:X 18233
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:2:Y -24420
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:3:X 18279
db SERVER:GUILD:OUTPOST:O0:SQUAD_SPAWN_ZONE:3:Y -24430
db SERVER:GUILD:OUTPOST:O0:SQUAD_CAPITAL 1000
db SERVER:GUILD:OUTPOST:O1:SQUAD_CAPITAL 1100
db SERVER:GUILD:OUTPOST:O2:SQUAD_CAPITAL 1200
db SERVER:GUILD:OUTPOST:O3:SQUAD_CAPITAL 1300
db SERVER:GUILD:OUTPOST:O4:SQUAD_CAPITAL 1400
db SERVER:GUILD:OUTPOST:O5:SQUAD_CAPITAL 1500
db SERVER:GUILD:OUTPOST:O6:SQUAD_CAPITAL 1600
db SERVER:GUILD:OUTPOST:O7:SQUAD_CAPITAL 1700
db SERVER:GUILD:OUTPOST:O8:SQUAD_CAPITAL 1800
db SERVER:GUILD:OUTPOST:O9:SQUAD_CAPITAL 1900
db SERVER:GUILD:OUTPOST:O10:SQUAD_CAPITAL 2000
db SERVER:GUILD:OUTPOST:O11:SQUAD_CAPITAL 2100
db SERVER:GUILD:OUTPOST:O12:SQUAD_CAPITAL 2200
db SERVER:GUILD:OUTPOST:O13:SQUAD_CAPITAL 2300
db SERVER:GUILD:OUTPOST:O14:SQUAD_CAPITAL 2400
// ***************** PVP OUTPOST *************************
db SERVER:CHARACTER_INFO:PVP_OUTPOST:FLAG_PVP 1
db SERVER:CHARACTER_INFO:PVP_OUTPOST:ROUND_LVL_CUR 6
db SERVER:CHARACTER_INFO:PVP_OUTPOST:ROUND_END_DATE 12000
db SERVER:CHARACTER_INFO:PVP_OUTPOST:FLAG_PVP_TIME_END 0
db SERVER:CHARACTER_INFO:PVP_OUTPOST:RIGHT_TO_BANISH 1
// ***************** BUILDINGS *************************
db SERVER:GUILD:OUTPOST:O0:BUILDINGS:0:SHEET driller_bountybeaches_kami_u4_100a.outpost_building
db SERVER:GUILD:OUTPOST:O0:BUILDINGS:1:SHEET 0
db SERVER:GUILD:OUTPOST:O0:BUILDINGS:2:SHEET driller_thevoid_kami_u2_250b.outpost_building
db SERVER:GUILD:OUTPOST:O0:BUILDINGS:3:SHEET 0
ah show guild

View file

@ -0,0 +1,12 @@
db SERVER:PACK_ANIMAL:NbBeast 3
db SERVER:PACK_ANIMAL:BEAST:0:HP 32
db SERVER:PACK_ANIMAL:BEAST:0:SAP 32
db SERVER:PACK_ANIMAL:BEAST:0:STA 32
db SERVER:PACK_ANIMAL:BEAST:1:HP 64
db SERVER:PACK_ANIMAL:BEAST:1:SAP 64
db SERVER:PACK_ANIMAL:BEAST:1:STA 64
db SERVER:PACK_ANIMAL:BEAST:2:HP 128
db SERVER:PACK_ANIMAL:BEAST:2:SAP 128
db SERVER:PACK_ANIMAL:BEAST:2:STA 128

View file

@ -0,0 +1,4 @@
db SERVER:INVENTORY:16:0:SHEET 0
db SERVER:INVENTORY:16:1:SHEET 0
db SERVER:INVENTORY:16:2:SHEET 0
db SERVER:INVENTORY:16:3:SHEET 0

View file

@ -0,0 +1,4 @@
db SERVER:INVENTORY:7:0:SHEET 0
db SERVER:INVENTORY:7:1:SHEET 0
db SERVER:INVENTORY:7:2:SHEET 0
db SERVER:INVENTORY:7:3:SHEET 0

View file

@ -0,0 +1 @@
db SERVER:INVENTORY:EXCHANGE:BEGUN 0

View file

@ -0,0 +1,9 @@
ah show team_share
bcPage 5
db LOCAL:SHARE:0:SHEET 2519598
db LOCAL:SHARE:0:QUANTITY 1
db LOCAL:SHARE:0:QUALITY 1
db LOCAL:SHARE:1:SHEET 2520110
db LOCAL:SHARE:1:QUANTITY 1
db LOCAL:SHARE:1:QUALITY 1

View file

@ -5,6 +5,20 @@ Use = 0;
// first string is the name of the computer where the **frontend** service is // first string is the name of the computer where the **frontend** service is
// second string is the base path where to find the source file // second string is the base path where to find the source file
Shards = { Shards = {
"shard1a", "\\Shard1a\ryzom\data_common",
"vianneyl", "\\vianneyl\r\code\ryzom\data_common",
"danielm", "\\danielm\r\versions\lastest\ryzom\data_common",
"ldserver01", "\\Ldserver01\ryzom\data_common",
"127.0.0.1", "r:\code\ryzom\data_common",
"gamedev", "\\gamedev\ryzom\code\ryzom\data_common",
"nevrax-01", "\\nevrax-01\ryzom\code\ryzom\data_common",
"gamedev4", "\\gamedev4\ryzom\code\ryzom\data_common",
"gamedev05", "\\gamedev05\ryzom\code\ryzom\data_common",
"client2", "\\client2\ryzom\code\ryzom\data_common",
"davidf", "\\davidf\ryzom\code\ryzom\data_common",
"alains", "\\alains\ryzom\code\ryzom\data_common",
"guillaumep", "\\guillaumep\ryzom\code\ryzom\data_common",
"nicolasb", "\\nicolasb\ryzom\code\ryzom\data_common",
}; };
// files to copy, relative to the data_common directory // files to copy, relative to the data_common directory

View file

@ -0,0 +1,53 @@
-----BEGIN CERTIFICATE-----
MIIEsTCCA5mgAwIBAgIQFtJJbfjBfHu0hPEjpDUISzANBgkqhkiG9w0BAQsFADBB
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3RlLCBJbmMuMRswGQYDVQQDExJ0
aGF3dGUgU1NMIENBIC0gRzIwHhcNMTUwODA2MDAwMDAwWhcNMTcwODMxMjM1OTU5
WjByMQswCQYDVQQGEwJDWTEPMA0GA1UECAwGQ3lwcnVzMREwDwYDVQQHDAhMaW1h
c3NvbDEkMCIGA1UECgwbV2luY2ggR2F0ZSBQcm9wZXJ0eSBMaW1pdGVkMRkwFwYD
VQQDDBBzZWN1cmUucnl6b20uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA5gKQ6EQdfBmGuLC0+bSHCEztqEoJ/FN3xCHCSt8IjJCXaC7BO1RMrcDF
CqZZaSmuFg+ePTJ4c7igVZ83yQEvkRH5FycWwL9vvF2xTfRdASZogzdn1K9C1Erl
jF2Gmqg80HPDSe36XpWjlOFBaj5AlGrPYnTe1HqKslnPdREL1/I12eIdMv2Nfup3
55X/rDKuQFYBRpzznIg95acveKLVCM+UY+AAtdMjJFS/Xb/MBSZBX1psss32DMcr
UaxdOIaiPublBwWMBmeRYzAvA9QQK2zZkElJUu5gz0vRM380CNKSWmXUOLF6U+qS
WV9CgQuk6ivL+ydu6IFDiZtTjblcswIDAQABo4IBcjCCAW4wGwYDVR0RBBQwEoIQ
c2VjdXJlLnJ5em9tLmNvbTAJBgNVHRMEAjAAMG4GA1UdIARnMGUwYwYGZ4EMAQIC
MFkwJgYIKwYBBQUHAgEWGmh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vY3BzMC8GCCsG
AQUFBwICMCMMIWh0dHBzOi8vd3d3LnRoYXd0ZS5jb20vcmVwb3NpdG9yeTAOBgNV
HQ8BAf8EBAMCBaAwHwYDVR0jBBgwFoAUwk9IV/zRT5rAXTh9DgXb2S61UmAwKwYD
VR0fBCQwIjAgoB6gHIYaaHR0cDovL3RqLnN5bWNiLmNvbS90ai5jcmwwHQYDVR0l
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFcGCCsGAQUFBwEBBEswSTAfBggrBgEF
BQcwAYYTaHR0cDovL3RqLnN5bWNkLmNvbTAmBggrBgEFBQcwAoYaaHR0cDovL3Rq
LnN5bWNiLmNvbS90ai5jcnQwDQYJKoZIhvcNAQELBQADggEBAGB8DQaxTtEX06uf
krmZegXJOO3SucxhYqdVjGdx3CXm+t22St6ynS0vtLZN3i/fAhYEcGemV/gJNui0
qtvx6wjtQ0oYg4FyuMbBtwFYHJhAAI5NLRIthYLJGIKTxqLAmxXKy64HlOP6MS8q
SCbmm295/KCag2STwmJ5ASqCper59044q7JAZUNfOFe47PWYeu85g9njiTLdMlkb
GMtlOsA9A2FcrNPzok2Bgs6ya+GAg2jH5dABHlEp8P5qxB5IoPI+TS+lxTzLJYRq
HznhUjEwtAvD8FR6PY+2xi1PatMVZKZ1gs+kOBaAp4pZ9MuwDJTo7Bn5aS26/Lpl
N2Vq1gY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
jVaMaA==
-----END CERTIFICATE-----

View file

@ -0,0 +1,4 @@
db SERVER:PACK_ANIMAL:STEED:Present 1
db SERVER:PACK_ANIMAL:STEED:HP 32
db SERVER:PACK_ANIMAL:STEED:SAP 32
db SERVER:PACK_ANIMAL:STEED:STA 32

View file

@ -0,0 +1,21 @@
db SERVER:GROUP:0:PRESENT 1
db SERVER:GROUP:0:NAME 0
db SERVER:GROUP:0:STA 32
db SERVER:GROUP:0:SAP 32
db SERVER:GROUP:0:HP -32
db SERVER:GROUP:1:PRESENT 1
db SERVER:GROUP:1:NAME 1
db SERVER:GROUP:1:STA 64
db SERVER:GROUP:1:SAP 64
db SERVER:GROUP:1:HP 64
db SERVER:GROUP:2:PRESENT 1
db SERVER:GROUP:2:NAME 2
db SERVER:GROUP:2:STA 127
db SERVER:GROUP:2:SAP 127
db SERVER:GROUP:2:HP 127
db SERVER:GROUP:LEADER_INDEX 0
db SERVER:GROUP:SUCCESSOR_INDEX 1

View file

@ -0,0 +1,3 @@
entity 1 fyhu1.creature
db SERVER:Entities:E1:P4 94489280512
testDynChatOpen

View file

@ -0,0 +1,4 @@
db SERVER:INVENTORY:TEMP:0:SHEET 2487342
db SERVER:INVENTORY:TEMP:1:SHEET 2489390
db SERVER:INVENTORY:TEMP:2:SHEET 2455854
db SERVER:INVENTORY:TEMP:3:SHEET 2488366

View file

@ -0,0 +1,4 @@
db SERVER:INVENTORY:7:0:SHEET 392193
db SERVER:INVENTORY:7:1:SHEET 392193
db LOCAL:INVENTORY:7:2:SHEET 392193
db SERVER:INVENTORY:7:3:SHEET 392193

View file

@ -0,0 +1,123 @@
ah show outpost_manager
db SERVER:USER:OUTPOST_ADMIN 1
db SERVER:GUILD:OUTPOST:O0:SHEET fyros_outpost_01.outpost
db SERVER:GUILD:OUTPOST:O1:SHEET fyros_outpost_02.outpost
db SERVER:GUILD:OUTPOST:O2:SHEET fyros_outpost_03.outpost
db SERVER:GUILD:OUTPOST:O3:SHEET fyros_outpost_04.outpost
db SERVER:GUILD:OUTPOST:O4:SHEET fyros_outpost_05.outpost
db SERVER:GUILD:OUTPOST:O5:SHEET fyros_outpost_06.outpost
db SERVER:GUILD:OUTPOST:O6:SHEET fyros_outpost_07.outpost
db SERVER:GUILD:OUTPOST:O7:SHEET fyros_outpost_08.outpost
db SERVER:GUILD:OUTPOST:O8:SHEET fyros_outpost_09.outpost
db SERVER:GUILD:OUTPOST:O9:SHEET fyros_outpost_10.outpost
db SERVER:GUILD:OUTPOST:O10:SHEET fyros_outpost_11.outpost
db SERVER:GUILD:OUTPOST:O11:SHEET fyros_outpost_12.outpost
db SERVER:GUILD:OUTPOST:O12:SHEET fyros_outpost_13.outpost
db SERVER:GUILD:OUTPOST:O13:SHEET fyros_outpost_14.outpost
db SERVER:GUILD:OUTPOST:O14:SHEET fyros_outpost_15.outpost
db SERVER:GUILD:OUTPOST:O1:OWNED 1
db SERVER:GUILD:OUTPOST:O2:OWNED 1
db SERVER:GUILD:OUTPOST:O3:OWNED 1
db SERVER:GUILD:OUTPOST:O4:OWNED 1
db SERVER:GUILD:OUTPOST:O0:STATUS 0
db SERVER:GUILD:OUTPOST:O1:STATUS 1
db SERVER:GUILD:OUTPOST:O2:STATUS 2
db SERVER:GUILD:OUTPOST:O3:STATUS 3
db SERVER:GUILD:OUTPOST:O4:STATUS 4
db SERVER:GUILD:OUTPOST:O5:STATUS 5
db SERVER:GUILD:OUTPOST:O6:STATUS 6
db SERVER:GUILD:OUTPOST:O7:STATUS 7
db SERVER:GUILD:OUTPOST:O8:STATUS 8
db SERVER:GUILD:OUTPOST:O9:STATUS 4
db SERVER:GUILD:OUTPOST:O10:STATUS 0
db SERVER:GUILD:OUTPOST:O11:STATUS 1
db SERVER:GUILD:OUTPOST:O12:STATUS 2
db SERVER:GUILD:OUTPOST:O13:STATUS 3
db SERVER:GUILD:OUTPOST:O14:STATUS 4
db SERVER:GUILD:OUTPOST:O0:S:S0:SHEET defenders_medium_melee_fighters_11_15.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:S1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:S2:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T0:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T2:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T3:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T4:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T5:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T6:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T7:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T8:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T9:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T10:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T11:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T12:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T13:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T14:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:T0:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T1:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T2:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T3:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T4:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T5:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T6:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T7:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T8:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T9:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T10:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:T11:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T12:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T13:GROUP 1
db SERVER:GUILD:OUTPOST:O0:S:T14:GROUP 0
db SERVER:GUILD:OUTPOST:O0:S:W0:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W2:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W3:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W4:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W5:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W6:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W7:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W8:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W9:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:S:W0:IN_DATE 321654
db SERVER:GUILD:OUTPOST:O0:S:W1:IN_DATE 543215
db SERVER:GUILD:OUTPOST:O0:S:W2:IN_DATE 735651
db SERVER:GUILD:OUTPOST:O0:S:W3:IN_DATE 195983
db SERVER:GUILD:OUTPOST:O0:S:W4:IN_DATE 321978
db SERVER:GUILD:OUTPOST:O0:S:W5:IN_DATE 328718
db SERVER:GUILD:OUTPOST:O0:S:W6:IN_DATE 198732
db SERVER:GUILD:OUTPOST:O0:S:W7:IN_DATE 625789
db SERVER:GUILD:OUTPOST:O0:S:W8:IN_DATE 135478
db SERVER:GUILD:OUTPOST:O0:S:W9:IN_DATE 973787
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:0:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:1:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:2:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:3:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:4:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:5:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:6:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:7:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:8:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:9:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:10:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:11:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:12:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:13:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O0:SQUAD_SHOP:14:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:S0:SHEET defenders_medium_melee_fighters_06_10.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:S1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:T0:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:T1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:W0:SHEET defenders_medium_melee_fighters_01_05.outpost_squad
db SERVER:GUILD:OUTPOST:O1:S:W1:SHEET defenders_medium_melee_fighters_01_05.outpost_squad

View file

@ -0,0 +1 @@
db LOCAL:INVENTORY:EXCHANGE:BEGUN 1

View file

@ -0,0 +1,2 @@
db SERVER:EXCHANGE:BEGUN 0
db SERVER:EXCHANGE:BEGUN 1

File diff suppressed because it is too large Load diff

0
code/ryzom/client/macosx/upgd_nl.sh Normal file → Executable file
View file

View file

@ -13,7 +13,11 @@ IF(WITH_RYZOM_CLIENT)
MESSAGE(FATAL_ERROR "The client cannot be built without the NeL GUI Library (WITH_GUI)") MESSAGE(FATAL_ERROR "The client cannot be built without the NeL GUI Library (WITH_GUI)")
ENDIF() ENDIF()
IF(WITH_RYZOM_PATCH) # Patch should never be enabled on Steam
IF(WITH_RYZOM_STEAM)
ADD_DEFINITIONS(-DRZ_USE_STEAM)
FIND_PACKAGE(Steam)
ELSEIF(WITH_RYZOM_PATCH)
ADD_DEFINITIONS(-DRZ_USE_PATCH) ADD_DEFINITIONS(-DRZ_USE_PATCH)
IF(WITH_RYZOM_CUSTOM_PATCH_SERVER) IF(WITH_RYZOM_CUSTOM_PATCH_SERVER)
@ -61,11 +65,11 @@ IF(WITH_RYZOM_CLIENT)
SET(RYZOM_BUILD ${RYZOM_VERSION_SHORT}) SET(RYZOM_BUILD ${RYZOM_VERSION_SHORT})
ENDIF() ENDIF()
SET(MACOSX_BUNDLE_INFO_STRING "Ryzom Core Client") SET(MACOSX_BUNDLE_INFO_STRING "Ryzom")
SET(MACOSX_BUNDLE_ICON_FILE "ryzom.icns") SET(MACOSX_BUNDLE_ICON_FILE "ryzom.icns")
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "") SET(MACOSX_BUNDLE_GUI_IDENTIFIER "com.winchgate.Ryzom")
SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${RYZOM_VERSION}) SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${RYZOM_VERSION})
SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom Core Client") SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom")
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING ${RYZOM_VERSION_SHORT}) SET(MACOSX_BUNDLE_SHORT_VERSION_STRING ${RYZOM_VERSION_SHORT})
SET(MACOSX_BUNDLE_BUNDLE_VERSION ${RYZOM_BUILD}) SET(MACOSX_BUNDLE_BUNDLE_VERSION ${RYZOM_BUILD})
SET(MACOSX_BUNDLE_COPYRIGHT ${COPYRIGHT}) SET(MACOSX_BUNDLE_COPYRIGHT ${COPYRIGHT})
@ -131,6 +135,15 @@ IF(WITH_RYZOM_CLIENT)
ENDIF() ENDIF()
ENDIF() ENDIF()
IF(WITH_RYZOM_STEAM AND STEAM_RUNTIME)
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND cp -p ${STEAM_RUNTIME} ${RYZOM_CONTENTS_DIR}/MacOS)
IF(CODESIGN_ALLOCATE AND APPLE_CERTIFICATE)
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign --no-strict -fs "${APPLE_CERTIFICATE}" "${RYZOM_CONTENTS_DIR}/MacOS/${STEAM_RUNTIMENAME}" COMMENT "Signing Steam client runtime...")
ENDIF()
ENDIF()
IF(CODESIGN_ALLOCATE AND APPLE_CERTIFICATE) IF(CODESIGN_ALLOCATE AND APPLE_CERTIFICATE)
ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign ${ENTITLEMENTS} -fs "${APPLE_CERTIFICATE}" "${RYZOM_OUTPUT_DIR}" COMMENT "Signing Ryzom bundle...") ADD_CUSTOM_COMMAND(TARGET ryzom_client POST_BUILD COMMAND CODESIGN_ALLOCATE=${CODESIGN_ALLOCATE} codesign ${ENTITLEMENTS} -fs "${APPLE_CERTIFICATE}" "${RYZOM_OUTPUT_DIR}" COMMENT "Signing Ryzom bundle...")
ENDIF() ENDIF()
@ -146,6 +159,10 @@ IF(WITH_RYZOM_CLIENT)
${OPENSSL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR}
) )
IF(STEAM_FOUND)
INCLUDE_DIRECTORIES(${STEAM_INCLUDE_DIRS})
ENDIF()
TARGET_LINK_LIBRARIES(ryzom_client TARGET_LINK_LIBRARIES(ryzom_client
nelmisc nelmisc
nelnet nelnet
@ -175,7 +192,7 @@ IF(WITH_RYZOM_CLIENT)
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${CURL_DEFINITIONS} ${LUABIND_DEFINITIONS}) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${CURL_DEFINITIONS} ${LUABIND_DEFINITIONS})
NL_DEFAULT_PROPS(ryzom_client "Ryzom, Client: Ryzom Core Client") NL_DEFAULT_PROPS(ryzom_client "Ryzom, Client: Ryzom Client")
NL_ADD_RUNTIME_FLAGS(ryzom_client) NL_ADD_RUNTIME_FLAGS(ryzom_client)
IF(FINAL_VERSION) IF(FINAL_VERSION)

View file

@ -54,6 +54,10 @@
#include "far_tp.h" #include "far_tp.h"
#include "user_agent.h" #include "user_agent.h"
#ifdef RZ_USE_STEAM
#include "steam_client.h"
#endif
/////////// ///////////
// USING // // USING //
/////////// ///////////
@ -193,13 +197,17 @@ int main(int argc, char **argv)
// no shard id in ring mode // no shard id in ring mode
std::string sLoginShardId; std::string sLoginShardId;
if (Args.haveAdditionalArg("login") && Args.haveAdditionalArg("password")) if (Args.haveAdditionalArg("login"))
{ {
LoginLogin = Args.getAdditionalArg("login").front(); LoginLogin = Args.getAdditionalArg("login").front();
LoginPassword = Args.getAdditionalArg("password").front();
if (Args.haveAdditionalArg("shard_id")) if (Args.haveAdditionalArg("password"))
sLoginShardId = Args.getAdditionalArg("shard_id").front(); {
LoginPassword = Args.getAdditionalArg("password").front();
if (Args.haveAdditionalArg("shard_id"))
sLoginShardId = Args.getAdditionalArg("shard_id").front();
}
} }
if (sLoginShardId.empty() || !fromString(sLoginShardId, LoginShardId)) if (sLoginShardId.empty() || !fromString(sLoginShardId, LoginShardId))
@ -282,6 +290,12 @@ int main(int argc, char **argv)
// initialize log // initialize log
initLog(); initLog();
#ifdef RZ_USE_STEAM
CSteamClient steamClient;
if (steamClient.init())
LoginCustomParameters = "&steam_auth_session_ticket=" + steamClient.getAuthSessionTicket();
#endif
// initialize patch manager and set the ryzom full path, before it's used // initialize patch manager and set the ryzom full path, before it's used
CPatchManager *pPM = CPatchManager::getInstance(); CPatchManager *pPM = CPatchManager::getInstance();

View file

@ -324,13 +324,9 @@ CClientConfig::CClientConfig()
TexturesLoginInterface.push_back("texture_interfaces_v3_login"); TexturesLoginInterface.push_back("texture_interfaces_v3_login");
DisplayAccountButtons = true; DisplayAccountButtons = true;
CreateAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=register"; CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php";
ConditionsTermsURL = "http://www.gnu.org/licenses/agpl-3.0.html"; EditAccountURL = "https://secure.ryzom.com/payment_profile/index.php";
EditAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=settings"; ForgetPwdURL = "https://secure.ryzom.com/payment_profile/lost_secure_password.php";
BetaAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=settings";
ForgetPwdURL = "http://shard.ryzomcore.org/ams/index.php?page=forgot_password";
FreeTrialURL = "http://shard.ryzomcore.org/ams/index.php?page=register";
LoginSupportURL = "http://shard.ryzomcore.org/ams/index.php";
Position = CVector(0.f, 0.f, 0.f); // Default Position. Position = CVector(0.f, 0.f, 0.f); // Default Position.
Heading = CVector(0.f, 1.f, 0.f); // Default Heading. Heading = CVector(0.f, 1.f, 0.f); // Default Heading.
EyesHeight = 1.5f; // Default User Eyes Height. EyesHeight = 1.5f; // Default User Eyes Height.
@ -426,7 +422,7 @@ CClientConfig::CClientConfig()
PatchletUrl.clear(); PatchletUrl.clear();
PatchVersion.clear(); PatchVersion.clear();
WebIgMainDomain = "shard.ryzomcore.org"; WebIgMainDomain = "atys.ryzom.com";
WebIgTrustedDomains.push_back(WebIgMainDomain); WebIgTrustedDomains.push_back(WebIgMainDomain);
CurlMaxConnections = 2; CurlMaxConnections = 2;
@ -877,19 +873,13 @@ void CClientConfig::setValues()
READ_BOOL_DEV(DisplayAccountButtons) READ_BOOL_DEV(DisplayAccountButtons)
READ_STRING_DEV(CreateAccountURL) READ_STRING_DEV(CreateAccountURL)
READ_STRING_DEV(EditAccountURL) READ_STRING_DEV(EditAccountURL)
READ_STRING_DEV(ConditionsTermsURL)
READ_STRING_DEV(BetaAccountURL)
READ_STRING_DEV(ForgetPwdURL) READ_STRING_DEV(ForgetPwdURL)
READ_STRING_DEV(BetaAccountURL)
READ_STRING_DEV(FreeTrialURL) READ_STRING_DEV(FreeTrialURL)
READ_STRING_DEV(LoginSupportURL)
READ_STRING_FV(CreateAccountURL) // defined in client_default.cfg
READ_STRING_FV(EditAccountURL)
READ_STRING_FV(ConditionsTermsURL) READ_STRING_FV(ConditionsTermsURL)
READ_STRING_FV(NamingPolicyURL) READ_STRING_FV(NamingPolicyURL)
READ_STRING_FV(BetaAccountURL)
READ_STRING_FV(ForgetPwdURL)
READ_STRING_FV(FreeTrialURL)
READ_STRING_FV(LoginSupportURL) READ_STRING_FV(LoginSupportURL)
#ifndef RZ_NO_CLIENT #ifndef RZ_NO_CLIENT

View file

@ -60,8 +60,7 @@ CLFECOMMON::TCLEntityId SlotUnderCursor;
uint32 MissionId = 0; uint32 MissionId = 0;
uint32 MissionRingId = 0; uint32 MissionRingId = 0;
sint32 InstanceId = 0; sint32 InstanceId = 0;
UInstance selectedInstance; sint32 selectedInstance = -1;
const UInstance noSelectedInstance;
string selectedInstanceURL; string selectedInstanceURL;
static NLMISC::CRefPtr<NLMISC::CCDBNodeLeaf> s_UserCharFade; static NLMISC::CRefPtr<NLMISC::CCDBNodeLeaf> s_UserCharFade;
@ -129,7 +128,7 @@ void initContextualCursor()
ContextCur.add(true, "MISSION", string(""), 0.0f, checkUnderCursor, contextMission); ContextCur.add(true, "MISSION", string(""), 0.0f, checkUnderCursor, contextMission);
ContextCur.add(true, "WEB PAGE", string(""), 0.0f, checkUnderCursor, contextWebPage); ContextCur.add(true, "WEB PAGE", string(""), 0.0f, checkUnderCursor, contextWebPage);
ContextCur.add(true, "WEBIG", string(""), 0.0f, checkUnderCursor, contextWebIG); ContextCur.add(true, "WEBIG", string(""), 0.0f, checkUnderCursor, contextWebIG);
ContextCur.add(false, "ARKITECT", string("curs_pick.tga"), 0.0f, checkUnderCursor, contextARKitect); ContextCur.add(false, "ARKITECT", string("curs_create.tga"), 0.0f, checkUnderCursor, contextARKitect);
ContextCur.add(true, "OUTPOST", string(""), 0.0f, checkUnderCursor, contextOutpost); ContextCur.add(true, "OUTPOST", string(""), 0.0f, checkUnderCursor, contextOutpost);
ContextCur.add(true, "RING MISSION", string(""), 0.0f, checkUnderCursor, contextRingMission); ContextCur.add(true, "RING MISSION", string(""), 0.0f, checkUnderCursor, contextRingMission);
ContextCur.add(true, "BUILD_TOTEM", string("uimGcmChooseBuilding"), 0.0f, checkUnderCursor, contextBuildTotem); ContextCur.add(true, "BUILD_TOTEM", string("uimGcmChooseBuilding"), 0.0f, checkUnderCursor, contextBuildTotem);
@ -346,7 +345,6 @@ void checkUnderCursor()
// Entity Under the cursor is the entity selected. // Entity Under the cursor is the entity selected.
else else
{ {
// Wait for the target is up to date. Do not display context cursor if the user is mounted. // Wait for the target is up to date. Do not display context cursor if the user is mounted.
if( (UserEntity->selection() == UserEntity->targetSlot()) && if( (UserEntity->selection() == UserEntity->targetSlot()) &&
(! UserEntity->isRiding()) ) (! UserEntity->isRiding()) )
@ -536,59 +534,49 @@ void checkUnderCursor()
sint32 instance_idx; sint32 instance_idx;
CShapeInstanceReference instref = EntitiesMngr.getShapeInstanceUnderPos(cursX, cursY, instance_idx); CShapeInstanceReference instref = EntitiesMngr.getShapeInstanceUnderPos(cursX, cursY, instance_idx);
if (EntitiesMngr.instancesRemoved()) std::vector<string> keys;
selectedInstance = noSelectedInstance; keys.push_back("colorize");
if (instance_idx != selectedInstance && selectedInstance != -1) {
std::vector<string> values;
values.push_back("0");
EntitiesMngr.setupInstance((uint32)selectedInstance, keys, values);
}
UInstance instance = instref.Instance; UInstance instance = instref.Instance;
if (!instance.empty()) if (!instance.empty() && !instref.ContextURL.empty())
{ {
if (instance.getObjectPtr() != selectedInstance.getObjectPtr())
{
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
{
// unhighlight
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
selectedInstance.getMaterial(j).setShininess( 10.0f );
}
selectedInstance = instance;
// For all materials
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
{
// highlight
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,0,0,255));
selectedInstance.getMaterial(j).setShininess( 1000.0f );
}
}
selectedInstanceURL = instref.ContextURL; selectedInstanceURL = instref.ContextURL;
if (instref.ContextText.empty()) if (instref.ContextText.empty())
{ {
if (instance_idx != -1) {
std::vector<string> values;
values.push_back("#FF0000FF");
EntitiesMngr.setupInstance((uint32)instance_idx, keys, values);
selectedInstance = instance_idx;
}
cursor->setCursor("r2ed_tool_select_move_over.tga");
InstanceId = instance_idx; InstanceId = instance_idx;
if(ContextCur.context("ARKITECT", 0.f, ucstring())) if (ContextCur.context("ARKITECT", 0.f, ucstring("Edit")))
return; return;
} }
else else
{ {
cursor->setCursor("curs_pick.tga");
ucstring contextText; ucstring contextText;
contextText.fromUtf8(instref.ContextText); contextText.fromUtf8(instref.ContextText);
if(ContextCur.context("WEBIG", 0.f, contextText)) if (ContextCur.context("WEBIG", 0.f, contextText))
return; return;
} }
} } else {
else if (!selectedInstanceURL.empty()) {
{ cursor->setCursor("curs_default.tga");
if (!selectedInstance.empty())
{
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
{
//unhighlight
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
selectedInstance.getMaterial(j).setShininess( 10.0f );
}
selectedInstance = noSelectedInstance;
selectedInstanceURL.clear(); selectedInstanceURL.clear();
} }
} }
SlotUnderCursor = CLFECOMMON::INVALID_SLOT; SlotUnderCursor = CLFECOMMON::INVALID_SLOT;
} }
} }
@ -896,7 +884,8 @@ void contextWebIG(bool rightClick, bool dblClick)
CInterface3DShape *el= dynamic_cast<CInterface3DShape*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:bot_chat_object:scene3d:object_1")); CInterface3DShape *el= dynamic_cast<CInterface3DShape*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:bot_chat_object:scene3d:object_1"));
if (el != NULL) if (el != NULL)
{ {
el->setName(selectedInstance.getShapeName()); //TODO: Fix that
//el->setName(selectedInstance.getShapeName());
el->setPosX(0.0f); el->setPosX(0.0f);
} }
if (selectedInstanceURL.empty()) if (selectedInstanceURL.empty())

View file

@ -703,6 +703,57 @@ double CEntityManager::getInstanceColOrient(uint32 idx)
return primitive->getOrientation(dynamicWI); return primitive->getOrientation(dynamicWI);
} }
CVector CEntityManager::getInstanceBBoxMin(uint32 idx)
{
if (!Scene || idx >= _ShapeInstances.size() || _ShapeInstances[idx].Deleted)
return CVector(0,0,0);
UInstance instance = _ShapeInstances[idx].Instance;
if (instance.empty())
return CVector(0,0,0);
NLMISC::CAABBox bbox;
_ShapeInstances[idx].Instance.getShapeAABBox(bbox);
CVector bbox_min;
if (bbox.getCenter() == CVector::Null)
bbox_min = CVector(-0.5f, -0.5f, -0.5f);
else
bbox_min = bbox.getMin();
bbox_min.x *= _ShapeInstances[idx].Instance.getScale().x;
bbox_min.y *= _ShapeInstances[idx].Instance.getScale().y;
bbox_min.z *= _ShapeInstances[idx].Instance.getScale().z;
return bbox_min+_ShapeInstances[idx].Instance.getPos();
}
CVector CEntityManager::getInstanceBBoxMax(uint32 idx)
{
if (!Scene || idx >= _ShapeInstances.size() || _ShapeInstances[idx].Deleted)
return CVector(0,0,0);
UInstance instance = _ShapeInstances[idx].Instance;
if(instance.empty())
return CVector(0,0,0);
NLMISC::CAABBox bbox;
_ShapeInstances[idx].Instance.getShapeAABBox(bbox);
CVector bbox_max;
if (bbox.getCenter() == CVector::Null)
bbox_max = CVector(-0.5f, -0.5f, -0.5f);
else
bbox_max = bbox.getMax();
bbox_max.x *= _ShapeInstances[idx].Instance.getScale().x;
bbox_max.y *= _ShapeInstances[idx].Instance.getScale().y;
bbox_max.z *= _ShapeInstances[idx].Instance.getScale().z;
return bbox_max+_ShapeInstances[idx].Instance.getPos();
}
bool CEntityManager::removeInstances() bool CEntityManager::removeInstances()
{ {
@ -756,14 +807,28 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
} }
else if (param == "colorize") else if (param == "colorize")
{ {
CRGBA c; if (values[i] == "0")
if( fromString( values[i], c ) )
{ {
for(uint j=0;j<instance.getNumMaterials();j++) for(uint j=0;j<instance.getNumMaterials();j++)
{ {
instance.getMaterial(j).setShininess( 1000.0f ); instance.getMaterial(j).setShininess( 10.0f );
instance.getMaterial(j).setEmissive(c); instance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
instance.getMaterial(j).setDiffuse(c); instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
instance.getMaterial(j).setDiffuse(CRGBA(255,255,255,255));
}
}
else
{
CRGBA c;
if( fromString( values[i], c ) )
{
for(uint j=0;j<instance.getNumMaterials();j++)
{
instance.getMaterial(j).setShininess( 1000.0f );
instance.getMaterial(j).setEmissive(c);
instance.getMaterial(j).setAmbient(c);
instance.getMaterial(j).setDiffuse(c);
}
} }
} }
} }
@ -782,6 +847,43 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
} }
} }
} }
else if (param == "skeleton")
{
// TODO
}
else if (param == "context")
{
_ShapeInstances[idx].ContextText = values[i];
}
else if (param == "url")
{
_ShapeInstances[idx].ContextURL = values[i];
}
else if (param == "move x" || param == "move y" || param == "move z")
{
float v;
CVector pos = getInstancePos(idx);
if( getRelativeFloatFromString( values[i], v ) ) {
updateVector(param, pos, v, true);
} else {
updateVector(param, pos, v, false);
}
setInstancePos(idx, pos);
}
else if (param == "rot x" || param == "rot y" || param == "rot z")
{
float v;
CVector rot = getInstanceRot(idx);
if( getRelativeFloatFromString( values[i], v ) ) {
updateVector(param, rot, v, true);
} else {
updateVector(param, rot, v, false);
}
setInstanceRot(idx, rot);
}
else if (param == "scale x" || param == "scale y" || param == "scale z") else if (param == "scale x" || param == "scale y" || param == "scale z")
{ {
float v; float v;
@ -879,6 +981,10 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
fromString(values[i], active); fromString(values[i], active);
primitive->setObstacle(active); primitive->setObstacle(active);
} }
else if (param == "col obstacle")
{
}
} }
return true; return true;
@ -933,7 +1039,16 @@ CShapeInstanceReference CEntityManager::getShapeInstanceUnderPos(float x, float
bbox_max = bbox.getMax(); bbox_max = bbox.getMax();
} }
bbox.setMinMax((bbox_min*_ShapeInstances[i].Instance.getScale().x)+_ShapeInstances[i].Instance.getPos(), (bbox_max*_ShapeInstances[i].Instance.getScale().x)+_ShapeInstances[i].Instance.getPos()); bbox_min.x *= _ShapeInstances[i].Instance.getScale().x;
bbox_min.y *= _ShapeInstances[i].Instance.getScale().y;
bbox_min.z *= _ShapeInstances[i].Instance.getScale().z;
bbox_max.x *= _ShapeInstances[i].Instance.getScale().x;
bbox_max.y *= _ShapeInstances[i].Instance.getScale().y;
bbox_max.z *= _ShapeInstances[i].Instance.getScale().z;
bbox.setMinMax(bbox_min+_ShapeInstances[i].Instance.getPos(), bbox_max+_ShapeInstances[i].Instance.getPos());
if(bbox.intersect(pos, pos+dir*100.0f)) if(bbox.intersect(pos, pos+dir*100.0f))
{ {

View file

@ -236,6 +236,8 @@ public:
CVector getInstanceColPos(uint32 idx); CVector getInstanceColPos(uint32 idx);
CVector getInstanceColScale(uint32 idx); CVector getInstanceColScale(uint32 idx);
double getInstanceColOrient(uint32 idx); double getInstanceColOrient(uint32 idx);
CVector getInstanceBBoxMin(uint32 idx);
CVector getInstanceBBoxMax(uint32 idx);
bool setInstanceRot(uint32 idx, CVector pos); bool setInstanceRot(uint32 idx, CVector pos);
bool instancesRemoved(); bool instancesRemoved();
bool setupInstance(uint32 idx, const std::vector<std::string> &keys, const std::vector<std::string> &values); bool setupInstance(uint32 idx, const std::vector<std::string> &keys, const std::vector<std::string> &values);

View file

@ -189,7 +189,7 @@ const std::string& CLoginStateMachine::toString(CLoginStateMachine::TEvent event
break; \ break; \
} \ } \
extern std::string LoginLogin, LoginPassword; extern std::string LoginLogin, LoginPassword, LoginCustomParameters;
extern bool noUserChar; extern bool noUserChar;
extern bool userChar; extern bool userChar;
extern bool serverReceivedReady; extern bool serverReceivedReady;
@ -246,14 +246,26 @@ void CLoginStateMachine::run()
if (!ClientCfg.TestBrowser) if (!ClientCfg.TestBrowser)
{ {
if (LoginLogin.empty()) if (LoginPassword.empty())
{ {
// standard procedure if (!LoginCustomParameters.empty() && LoginLogin.empty())
SM_BEGIN_EVENT_TABLE {
SM_EVENT(ev_init_done, st_login); // alternate login procedure
SM_EVENT(ev_skip_all_login, st_ingame); SM_BEGIN_EVENT_TABLE
SM_EVENT(ev_quit, st_end); SM_EVENT(ev_init_done, st_alt_login);
SM_END_EVENT_TABLE SM_EVENT(ev_skip_all_login, st_ingame);
SM_EVENT(ev_quit, st_end);
SM_END_EVENT_TABLE
}
else
{
// standard procedure
SM_BEGIN_EVENT_TABLE
SM_EVENT(ev_init_done, st_login);
SM_EVENT(ev_skip_all_login, st_ingame);
SM_EVENT(ev_quit, st_end);
SM_END_EVENT_TABLE
}
} }
else else
{ {
@ -325,6 +337,27 @@ void CLoginStateMachine::run()
// SM_EVENT(ev_login_ok, st_check_patch); // SM_EVENT(ev_login_ok, st_check_patch);
// SM_EVENT(ev_quit, st_end); // SM_EVENT(ev_quit, st_end);
// SM_END_EVENT_TABLE // SM_END_EVENT_TABLE
// }
break;
case st_alt_login:
initAltLogin();
// if (ClientCfg.R2Mode)
{
// r2 mode
SM_BEGIN_EVENT_TABLE
SM_EVENT(ev_login_not_alt, st_login);
SM_EVENT(ev_login_ok, st_check_patch);
SM_EVENT(ev_quit, st_end);
SM_END_EVENT_TABLE
}
// else
// {
// // legacy mode
// SM_BEGIN_EVENT_TABLE
// SM_EVENT(ev_login_ok, st_check_patch);
// SM_EVENT(ev_quit, st_end);
// SM_END_EVENT_TABLE
// } // }
break; break;
case st_shard_list: case st_shard_list:

View file

@ -81,6 +81,8 @@ public:
st_rate_session, st_rate_session,
/// create account /// create account
st_create_account, st_create_account,
/// try to login with alternate login system
st_alt_login,
/// pseudo state to leave the state machine /// pseudo state to leave the state machine
st_end, st_end,
/// ///
@ -156,6 +158,8 @@ public:
ev_create_account, ev_create_account,
/// the client push the 'create account' button /// the client push the 'create account' button
ev_close_create_account, ev_close_create_account,
/// the client want to use alternate login system
ev_login_not_alt,
/// ///
ev_unknown ev_unknown
}; };
@ -203,6 +207,7 @@ void initEula();
void initPatchCheck(); void initPatchCheck();
void initCatDisplay(); void initCatDisplay();
void initAutoLogin(); void initAutoLogin();
void initAltLogin();
void initPatch(); void initPatch();
//void initWebBrowser(); //void initWebBrowser();
void initReboot(); void initReboot();

View file

@ -184,8 +184,8 @@ struct CStatThread : public NLMISC::IRunnable
CURL *curl = curl_easy_init(); CURL *curl = curl_easy_init();
if(!curl) return; if(!curl) return;
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)"); // FIXME curl_easy_setopt(curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)");
curl_easy_setopt(curl, CURLOPT_REFERER, string("http://www.ryzomcore.org/" + referer).c_str()); curl_easy_setopt(curl, CURLOPT_REFERER, string("http://www.ryzom.com/" + referer).c_str());
curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
CURLcode res = curl_easy_perform(curl); CURLcode res = curl_easy_perform(curl);
curl_easy_cleanup(curl); curl_easy_cleanup(curl);
@ -240,7 +240,7 @@ struct CStatThread : public NLMISC::IRunnable
addParam(params, "page", ""); addParam(params, "page", "");
addParam(params, "pagetitle", referer); addParam(params, "pagetitle", referer);
addParam(params, "screen", toString("%dx%d", ClientCfg.ConfigFile.getVar("Width").asInt(), ClientCfg.ConfigFile.getVar("Height").asInt())); addParam(params, "screen", toString("%dx%d", ClientCfg.ConfigFile.getVar("Width").asInt(), ClientCfg.ConfigFile.getVar("Height").asInt()));
addParam(params, "referer", "http%3A%2F%2Fwww.ryzomcore.org%2F" + referer); addParam(params, "referer", "http%3A%2F%2Fwww.ryzom.com%2F" + referer);
time_t rawtime; time_t rawtime;
struct tm * timeinfo; struct tm * timeinfo;
char buffer [80]; char buffer [80];
@ -263,7 +263,7 @@ struct CStatThread : public NLMISC::IRunnable
default: shard= "unknown"; break; default: shard= "unknown"; break;
} }
addParam(params, "cv_Shard", shard); addParam(params, "cv_Shard", shard);
/* get("http://ryzom.com.woopra-ns.com/visit/" + params); */// FIXME get("http://ryzom.com.woopra-ns.com/visit/"+params);
return true; return true;
} }
@ -273,7 +273,7 @@ struct CStatThread : public NLMISC::IRunnable
std::string params; std::string params;
addParam(params, "cookie", cookie()); addParam(params, "cookie", cookie());
addParam(params, "ra", randomString()); addParam(params, "ra", randomString());
/* get("http://ryzom.com.woopra-ns.com/ping/" + params); */// FIXME get("http://ryzom.com.woopra-ns.com/ping/"+params);
} }
void run() void run()

View file

@ -81,7 +81,7 @@ extern bool SetMousePosFirstTime;
vector<CShard> Shards; vector<CShard> Shards;
string LoginLogin, LoginPassword, ClientApp, Salt; string LoginLogin, LoginPassword, ClientApp, Salt, LoginCustomParameters;
uint32 LoginShardId = 0xFFFFFFFF; uint32 LoginShardId = 0xFFFFFFFF;
@ -847,6 +847,55 @@ void initAutoLogin()
} }
} }
void initAltLogin()
{
// Check the alt param
if (!LoginCustomParameters.empty())
{
// don't use login and password for alternate login
string res = checkLogin("", "", ClientApp, LoginCustomParameters);
if (res.empty())
{
if (ClientCfg.R2Mode)
{
LoginSM.pushEvent(CLoginStateMachine::ev_login_ok);
}
else
{
// Select good shard
ShardSelected = -1;
for (uint32 i = 0; i < Shards.size(); ++i)
{
if (Shards[i].ShardId == LoginShardId)
{
ShardSelected = i;
break;
}
}
if (ShardSelected == -1)
{
CInterfaceManager *pIM = CInterfaceManager::getInstance();
pIM->messageBoxWithHelp(CI18N::get("uiErrServerLost"), "ui:login");
LoginSM.pushEvent(CLoginStateMachine::ev_quit);
}
else
{
LoginSM.pushEvent(CLoginStateMachine::ev_login_ok);
}
}
return;
}
}
// close the socket in case of error
HttpClient.disconnect();
// ignore error
LoginSM.pushEvent(CLoginStateMachine::ev_login_not_alt);
}
// *************************************************************************** // ***************************************************************************
// Called from client.cpp // Called from client.cpp
@ -1097,7 +1146,7 @@ void initShardDisplay()
for (uint fff = 0; fff < 20; ++fff) for (uint fff = 0; fff < 20; ++fff)
{ {
CShard s ( toString("%05d",fff), fff%3, fff+32, toString("%s%d","pipo",fff), CShard s ( toString("%05d",fff), fff%3, fff+32, toString("%s%d","pipo",fff),
32*fff%46546, "32.32.32.32", "http://www.ryzomcore.org" ); 32*fff%46546, "32.32.32.32", "http://www.ryzom.com" );
Shards.push_back(s); Shards.push_back(s);
}*/ }*/
@ -1174,7 +1223,7 @@ void onlogin(bool vanishScreen = true)
// Check the login/pass // Check the login/pass
// main menu page for r2mode // main menu page for r2mode
string res = checkLogin(LoginLogin, LoginPassword, ClientApp); string res = checkLogin(LoginLogin, LoginPassword, ClientApp, LoginCustomParameters);
if (res.empty()) if (res.empty())
{ {
// if not in auto login, push login ok event // if not in auto login, push login ok event
@ -1224,7 +1273,7 @@ void onlogin(bool vanishScreen = true)
// for (uint fff = 0; fff < 20; ++fff) // for (uint fff = 0; fff < 20; ++fff)
// { // {
// CShard s ( toString("%05d",fff), fff%3, fff+32, toString("%s%d","pipo",fff), // CShard s ( toString("%05d",fff), fff%3, fff+32, toString("%s%d","pipo",fff),
// 32*fff%46546, "32.32.32.32", "http://www.ryzomcore.org" ); // 32*fff%46546, "32.32.32.32", "http://www.ryzom.com" );
// Shards.push_back(s); // Shards.push_back(s);
// }*/ // }*/
// //
@ -1901,16 +1950,33 @@ class CAHOpenURL : public IActionHandler
return; return;
} }
// modify existing languages
// old site
string::size_type pos_lang = url.find("/en/"); string::size_type pos_lang = url.find("/en/");
if(pos_lang!=string::npos) // or new forums
url.replace(pos_lang+1, 2, ClientCfg.getHtmlLanguageCode()); if (pos_lang == string::npos)
pos_lang = url.find("=en#");
if(url.find('?')!=string::npos) if (pos_lang != string::npos)
url += "&"; {
url.replace(pos_lang + 1, 2, ClientCfg.getHtmlLanguageCode());
}
else else
url += "?"; {
url += "language=" + ClientCfg.LanguageCode; // append language
if (url.find('?') != string::npos)
url += "&";
else
url += "?";
url += "language=" + ClientCfg.LanguageCode;
if (!LoginCustomParameters.empty())
url += LoginCustomParameters;
}
openURL(url); openURL(url);
nlinfo("openURL %s", url.c_str()); nlinfo("openURL %s", url.c_str());
@ -2333,6 +2399,10 @@ bool initCreateAccount()
CurlHttpClient.verifyServer(true); // set this to false if you need to connect to the test environment CurlHttpClient.verifyServer(true); // set this to false if you need to connect to the test environment
std::string params = "language=" + lang; std::string params = "language=" + lang;
if (!LoginCustomParameters.empty())
params += LoginCustomParameters;
if(!CurlHttpClient.sendGet(url, params, pPM->isVerboseLog())) if(!CurlHttpClient.sendGet(url, params, pPM->isVerboseLog()))
{ {
ucstring errorMessage("Can't send (error code 60)"); ucstring errorMessage("Can't send (error code 60)");
@ -2523,6 +2593,9 @@ class CAHOnCreateAccountSubmit : public IActionHandler
if(conditionsPushed) if(conditionsPushed)
params += "&TaC=1"; params += "&TaC=1";
if (!LoginCustomParameters.empty())
params += LoginCustomParameters;
std::string md5 = results[0] + results[1] + "" + results[3]; std::string md5 = results[0] + results[1] + "" + results[3];
md5 = NLMISC::getMD5((uint8*)md5.data(), (uint32)md5.size()).toString(); md5 = NLMISC::getMD5((uint8*)md5.data(), (uint32)md5.size()).toString();
@ -2707,7 +2780,7 @@ REGISTER_ACTION_HANDLER (CAHOnBackToLogin, "on_back_to_login");
// *************************************************************************** // ***************************************************************************
string checkLogin(const string &login, const string &password, const string &clientApp) string checkLogin(const string &login, const string &password, const string &clientApp, const std::string &customParameters)
{ {
CPatchManager *pPM = CPatchManager::getInstance(); CPatchManager *pPM = CPatchManager::getInstance();
Shards.clear(); Shards.clear();
@ -2725,50 +2798,64 @@ string checkLogin(const string &login, const string &password, const string &cli
std::string url = ClientCfg.ConfigFile.getVar("StartupHost").asString() + ClientCfg.ConfigFile.getVar("StartupPage").asString(); std::string url = ClientCfg.ConfigFile.getVar("StartupHost").asString() + ClientCfg.ConfigFile.getVar("StartupPage").asString();
// ask server for salt // don't use login with alt method
if(!HttpClient.sendGet(url + "?cmd=ask&cp=2&login=" + login + "&lg=" + ClientCfg.LanguageCode, "", pPM->isVerboseLog())) if (!login.empty())
return "Can't send (error code 60)";
if(pPM->isVerboseLog()) nlinfo("Sent request for password salt");
if(!HttpClient.receive(res, pPM->isVerboseLog()))
return "Can't receive (error code 61)";
if(pPM->isVerboseLog()) nlinfo("Received request login check");
if(res.empty())
return "Empty answer from server (error code 62)";
if(res[0] == '0')
{ {
// server returns an error // ask server for salt
nlwarning("server error: %s", res.substr(2).c_str()); if(!HttpClient.sendGet(url + "?cmd=ask&cp=2&login=" + login + "&lg=" + ClientCfg.LanguageCode, "", pPM->isVerboseLog()))
return res.substr(2); return "Can't send (error code 60)";
}
else if(res[0] == '1')
{
Salt = res.substr(2);
}
else
{
// server returns ???
nlwarning("%s", res.c_str());
return res;
}
// send login + crypted password + client app and cp=2 (as crypted password) if(pPM->isVerboseLog()) nlinfo("Sent request for password salt");
if(!HttpClient.connectToLogin())
return "Can't connect (error code 63)";
if(pPM->isVerboseLog()) nlinfo("Connected"); if(!HttpClient.receive(res, pPM->isVerboseLog()))
return "Can't receive (error code 61)";
if(pPM->isVerboseLog()) nlinfo("Received request login check");
if(res.empty())
return "Empty answer from server (error code 62)";
if(res[0] == '0')
{
// server returns an error
nlwarning("server error: %s", res.substr(2).c_str());
return res.substr(2);
}
else if(res[0] == '1')
{
Salt = res.substr(2);
}
else
{
// server returns ???
nlwarning("%s", res.c_str());
return res;
}
// send login + crypted password + client app and cp=2 (as crypted password)
if(!HttpClient.connectToLogin())
return "Can't connect (error code 63)";
if(pPM->isVerboseLog()) nlinfo("Connected");
}
if (ClientCfg.R2Mode) if (ClientCfg.R2Mode)
{ {
// R2 login sequence // R2 login sequence
std::string cryptedPassword = CCrypt::crypt(password, Salt);
if(!HttpClient.sendGet(url + "?cmd=login&login=" + login + "&password=" + cryptedPassword + "&clientApplication=" + clientApp + "&cp=2" + "&lg=" + ClientCfg.LanguageCode)) if (!login.empty())
return "Can't send (error code 2)"; {
std::string cryptedPassword = CCrypt::crypt(password, Salt);
if(!HttpClient.sendGet(url + "?cmd=login&login=" + login + "&password=" + cryptedPassword + "&clientApplication=" + clientApp + "&cp=2" + "&lg=" + ClientCfg.LanguageCode + customParameters))
return "Can't send (error code 2)";
}
else
{
// don't send login and password if empty
if(!HttpClient.sendGet(url + "?cmd=login&clientApplication=" + clientApp + "&cp=2" + "&lg=" + ClientCfg.LanguageCode + customParameters))
return "Can't send (error code 2)";
}
// the response should contains the result code and the cookie value // the response should contains the result code and the cookie value
if(pPM->isVerboseLog()) nlinfo("Sent request login check"); if(pPM->isVerboseLog()) nlinfo("Sent request login check");

View file

@ -46,7 +46,7 @@ struct CShard
std::string EmergencyPatchURL; std::string EmergencyPatchURL;
}; };
extern std::string LoginLogin, LoginPassword; extern std::string LoginLogin, LoginPassword, LoginCustomParameters;
extern uint32 LoginShardId; extern uint32 LoginShardId;
@ -54,7 +54,7 @@ extern uint32 AvailablePatchs;
std::string checkLogin(const std::string &login, const std::string &password, const std::string &clientApp); std::string checkLogin(const std::string &login, const std::string &password, const std::string &clientApp, const std::string &customParameters = "");
std::string selectShard(uint32 shardId, std::string &cookie, std::string &addr); std::string selectShard(uint32 shardId, std::string &cookie, std::string &addr);
std::string getBGDownloaderCommandLine(); std::string getBGDownloaderCommandLine();

View file

@ -687,7 +687,7 @@ void release()
CIXml::releaseLibXml(); CIXml::releaseLibXml();
#if FINAL_VERSION #if FINAL_VERSION
// openURL ("http://www.ryzomcore.org/exit/"); // openURL ("http://ryzom.com/exit/");
#endif #endif
}// release // }// release //

View file

@ -0,0 +1,439 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "stdpch.h"
#ifdef RZ_USE_STEAM
#include "steam_client.h"
#include "nel/misc/cmd_args.h"
#include <steam_api.h>
// prototypes definitions for Steam API functions we'll call
typedef bool (__cdecl *SteamAPI_InitFuncPtr)();
typedef void (__cdecl *SteamAPI_ShutdownFuncPtr)();
typedef HSteamUser (__cdecl *SteamAPI_GetHSteamUserFuncPtr)();
typedef HSteamPipe (__cdecl *SteamAPI_GetHSteamPipeFuncPtr)();
typedef void* (__cdecl *SteamInternal_CreateInterfaceFuncPtr)(const char *ver);
typedef void (__cdecl *SteamAPI_RegisterCallbackFuncPtr)(class CCallbackBase *pCallback, int iCallback);
typedef void (__cdecl *SteamAPI_UnregisterCallbackFuncPtr)(class CCallbackBase *pCallback);
typedef void (__cdecl *SteamAPI_RunCallbacksFuncPtr)();
// macros to simplify dynamic functions loading
#define NL_DECLARE_SYMBOL(symbol) symbol##FuncPtr nl##symbol = NULL
#define NL_LOAD_SYMBOL(symbol) \
nl##symbol = (symbol##FuncPtr)NLMISC::nlGetSymbolAddress(_Handle, #symbol); \
if (nl##symbol == NULL) return false
NL_DECLARE_SYMBOL(SteamAPI_Init);
NL_DECLARE_SYMBOL(SteamAPI_Shutdown);
NL_DECLARE_SYMBOL(SteamAPI_GetHSteamUser);
NL_DECLARE_SYMBOL(SteamAPI_GetHSteamPipe);
NL_DECLARE_SYMBOL(SteamInternal_CreateInterface);
NL_DECLARE_SYMBOL(SteamAPI_RegisterCallback);
NL_DECLARE_SYMBOL(SteamAPI_UnregisterCallback);
NL_DECLARE_SYMBOL(SteamAPI_RunCallbacks);
// instances of classes
static ISteamClient *s_SteamClient = NULL;
static ISteamUser *s_SteamUser = NULL;
static ISteamApps *s_SteamApps = NULL;
static ISteamFriends *s_SteamFriends = NULL;
static ISteamUtils *s_SteamUtils = NULL;
// taken from steam_api.h, we needed to change it to use our dynamically loaded functions
// Declares a callback member function plus a helper member variable which
// registers the callback on object creation and unregisters on destruction.
// The optional fourth 'var' param exists only for backwards-compatibility
// and can be ignored.
#define NL_STEAM_CALLBACK( thisclass, func, .../*callback_type, [deprecated] var*/ ) \
_NL_STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) )
//-----------------------------------------------------------------------------
// The following macros are implementation details, not intended for public use
//-----------------------------------------------------------------------------
#define _NL_STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param )
#define _NL_STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... ) _NL_STEAM_CALLBACK_##SELECTED
#define _NL_STEAM_CALLBACK_SELECT( X, Y ) _NL_STEAM_CALLBACK_HELPER X Y
#define _NL_STEAM_CALLBACK_3( extra_code, thisclass, func, param ) \
struct CCallbackInternal_ ## func : private CSteamCallbackImpl< sizeof( param ) > { \
CCallbackInternal_ ## func () { extra_code nlSteamAPI_RegisterCallback( this, param::k_iCallback ); } \
CCallbackInternal_ ## func ( const CCallbackInternal_ ## func & ) { extra_code nlSteamAPI_RegisterCallback( this, param::k_iCallback ); } \
CCallbackInternal_ ## func & operator=( const CCallbackInternal_ ## func & ) { return *this; } \
private: virtual void Run( void *pvParam ) { _NL_STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) \
thisclass *pOuter = reinterpret_cast<thisclass*>( reinterpret_cast<char*>(this) - offsetof( thisclass, m_steamcallback_ ## func ) ); \
pOuter->func( reinterpret_cast<param*>( pvParam ) ); \
} \
} m_steamcallback_ ## func ; void func( param *pParam )
#define _NL_STEAM_CALLBACK_4( _, thisclass, func, param, var ) \
CSteamCallback< thisclass, param > var; void func( param *pParam )
//-----------------------------------------------------------------------------
// Purpose: templated base for callbacks - internal implementation detail
//-----------------------------------------------------------------------------
template< int sizeof_P >
class CSteamCallbackImpl : protected CCallbackBase
{
public:
~CSteamCallbackImpl() { if ( m_nCallbackFlags & k_ECallbackFlagsRegistered ) nlSteamAPI_UnregisterCallback( this ); }
void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; }
protected:
virtual void Run( void *pvParam ) = 0;
virtual void Run( void *pvParam, bool /*bIOFailure*/, SteamAPICall_t /*hSteamAPICall*/ ) { Run( pvParam ); }
virtual int GetCallbackSizeBytes() { return sizeof_P; }
};
//-----------------------------------------------------------------------------
// Purpose: maps a steam callback to a class member function
// template params: T = local class, P = parameter struct,
// bGameserver = listen for gameserver callbacks instead of client callbacks
//-----------------------------------------------------------------------------
template< class T, class P, bool bGameserver = false >
class CSteamCallback : public CSteamCallbackImpl< sizeof( P ) >
{
public:
typedef void (T::*func_t)(P*);
// NOTE: If you can't provide the correct parameters at construction time, you should
// use the CCallbackManual callback object (STEAM_CALLBACK_MANUAL macro) instead.
CSteamCallback( T *pObj, func_t func ) : m_pObj( NULL ), m_Func( NULL )
{
if ( bGameserver )
{
this->SetGameserverFlag();
}
Register( pObj, func );
}
// manual registration of the callback
void Register( T *pObj, func_t func )
{
if ( !pObj || !func )
return;
if ( this->m_nCallbackFlags & CCallbackBase::k_ECallbackFlagsRegistered )
Unregister();
m_pObj = pObj;
m_Func = func;
// SteamAPI_RegisterCallback sets k_ECallbackFlagsRegistered
nlSteamAPI_RegisterCallback( this, P::k_iCallback );
}
void Unregister()
{
// SteamAPI_UnregisterCallback removes k_ECallbackFlagsRegistered
nlSteamAPI_UnregisterCallback( this );
}
protected:
virtual void Run( void *pvParam )
{
(m_pObj->*m_Func)( (P *)pvParam );
}
T *m_pObj;
func_t m_Func;
};
extern NLMISC::CCmdArgs Args;
// listener called by Steam when AuthSessionTicket is available
class CAuthSessionTicketListener
{
public:
CAuthSessionTicketListener():_AuthSessionTicketResponse(this, &CAuthSessionTicketListener::OnAuthSessionTicketResponse)
{
_AuthSessionTicketHandle = 0;
_AuthSessionTicketSize = 0;
_AuthSessionTicketCallbackCalled = false;
_AuthSessionTicketCallbackError = false;;
_AuthSessionTicketCallbackTimeout = false;
}
// wait until a ticket is available or return if no ticket received after specified ms
bool waitTicket(uint32 ms)
{
// call Steam method
_AuthSessionTicketHandle = s_SteamUser->GetAuthSessionTicket(_AuthSessionTicketData, sizeof(_AuthSessionTicketData), &_AuthSessionTicketSize);
nldebug("GetAuthSessionTicket returned %u bytes, handle %u", _AuthSessionTicketSize, _AuthSessionTicketHandle);
nlinfo("Waiting for Steam GetAuthSessionTicket callback...");
// define expiration time
NLMISC::TTime expirationTime = NLMISC::CTime::getLocalTime() + ms;
// wait until callback method is called or expiration
while(!_AuthSessionTicketCallbackCalled && !_AuthSessionTicketCallbackTimeout)
{
// call registered callbacks
nlSteamAPI_RunCallbacks();
// check if expired
if (NLMISC::CTime::getLocalTime() > expirationTime)
_AuthSessionTicketCallbackTimeout = true;
}
// expired
if (_AuthSessionTicketCallbackTimeout)
{
nlwarning("GetAuthSessionTicket callback never called");
return false;
}
nlinfo("GetAuthSessionTicket called");
// got an error
if (_AuthSessionTicketCallbackError)
{
nlwarning("GetAuthSessionTicket callback returned error");
return false;
}
return true;
}
// return ticket if available in hexadecimal
std::string getTicket() const
{
// if expired or error, ticket is not available
if (!_AuthSessionTicketCallbackCalled || _AuthSessionTicketCallbackError || _AuthSessionTicketCallbackTimeout) return "";
std::string authSessionTicket;
// optimize string by allocating the final string size
authSessionTicket.reserve(_AuthSessionTicketSize*2);
// convert buffer to hexadecimal string
for (uint32 i = 0; i < _AuthSessionTicketSize; ++i)
{
authSessionTicket += NLMISC::toString("%02x", _AuthSessionTicketData[i]);
}
return authSessionTicket;
}
private:
// ticket handle
HAuthTicket _AuthSessionTicketHandle;
// buffer of ticket data
uint8 _AuthSessionTicketData[1024];
// size of buffer
uint32 _AuthSessionTicketSize;
// different states of callback
bool _AuthSessionTicketCallbackCalled;
bool _AuthSessionTicketCallbackError;
bool _AuthSessionTicketCallbackTimeout;
// callback declaration
NL_STEAM_CALLBACK(CAuthSessionTicketListener, OnAuthSessionTicketResponse, GetAuthSessionTicketResponse_t, _AuthSessionTicketResponse);
};
// method called by Steam
void CAuthSessionTicketListener::OnAuthSessionTicketResponse(GetAuthSessionTicketResponse_t *inCallback)
{
_AuthSessionTicketCallbackCalled = true;
if (inCallback->m_eResult != k_EResultOK)
{
_AuthSessionTicketCallbackError = true;
}
}
CSteamClient::CSteamClient():_Handle(NULL), _Initialized(false)
{
}
CSteamClient::~CSteamClient()
{
release();
}
static void SteamWarningMessageHook(int severity, const char *message)
{
switch(severity)
{
case 1: // warning
nlwarning("%s", message);
break;
case 0: // message
nlinfo("%s", message);
break;
default: // unknown
nlwarning("Unknown severity %d: %s", severity, message);
break;
}
}
bool CSteamClient::init()
{
std::string filename;
#if defined(NL_OS_WIN64)
filename = "steam_api64.dll";
#elif defined(NL_OS_WINDOWS)
filename = "steam_api.dll";
#elif defined(NL_OS_MAC)
filename = "libsteam_api.dylib";
#else
filename = "libsteam_api.so";
#endif
// try to load library with absolute path
_Handle = NLMISC::nlLoadLibrary(Args.getProgramPath() + filename);
if (!_Handle)
{
// try to load library with relative path (will search in system paths)
_Handle = NLMISC::nlLoadLibrary(filename);
if (!_Handle)
{
nlwarning("Unable to load Steam client");
return false;
}
}
// load Steam functions
NL_LOAD_SYMBOL(SteamAPI_Init);
NL_LOAD_SYMBOL(SteamAPI_Shutdown);
// check if function was found
if (!nlSteamAPI_Init)
{
nlwarning("Unable to get a pointer on SteamAPI_Init");
return false;
}
// initialize Steam API
if (!nlSteamAPI_Init())
{
nlwarning("Unable to initialize Steam client");
return false;
}
_Initialized = true;
// load more Steam functions
NL_LOAD_SYMBOL(SteamAPI_GetHSteamUser);
NL_LOAD_SYMBOL(SteamAPI_GetHSteamPipe);
NL_LOAD_SYMBOL(SteamInternal_CreateInterface);
HSteamUser hSteamUser = nlSteamAPI_GetHSteamUser();
HSteamPipe hSteamPipe = nlSteamAPI_GetHSteamPipe();
if (!hSteamPipe)
{
nlwarning("Unable to get Steam pipe");
return false;
}
// instanciate all used Steam classes
s_SteamClient = (ISteamClient*)nlSteamInternal_CreateInterface(STEAMCLIENT_INTERFACE_VERSION);
if (!s_SteamClient)
return false;
s_SteamUser = s_SteamClient->GetISteamUser(hSteamUser, hSteamPipe, STEAMUSER_INTERFACE_VERSION);
if (!s_SteamUser)
return false;
s_SteamApps = s_SteamClient->GetISteamApps(hSteamUser, hSteamPipe, STEAMAPPS_INTERFACE_VERSION);
if (!s_SteamApps)
return false;
s_SteamFriends = s_SteamClient->GetISteamFriends(hSteamUser, hSteamPipe, STEAMFRIENDS_INTERFACE_VERSION);
if (!s_SteamFriends)
return false;
s_SteamUtils = s_SteamClient->GetISteamUtils(hSteamPipe, STEAMUTILS_INTERFACE_VERSION);
if (!s_SteamUtils)
return false;
// set warning messages hook
s_SteamClient->SetWarningMessageHook(SteamWarningMessageHook);
bool loggedOn = s_SteamUser->BLoggedOn();
nlinfo("Steam AppID: %u", s_SteamUtils->GetAppID());
nlinfo("Steam login: %s", s_SteamFriends->GetPersonaName());
nlinfo("Steam user logged: %s", loggedOn ? "yes":"no");
const char *lang = s_SteamApps->GetCurrentGameLanguage();
if (lang && strlen(lang) > 0)
{
nlinfo("Steam language: %s", lang);
NLMISC::CI18N::setSystemLanguageCode(lang);
}
// don't need to continue, if not connected
if (!loggedOn) return false;
// load symbols used by AuthSessionTicket
NL_LOAD_SYMBOL(SteamAPI_RegisterCallback);
NL_LOAD_SYMBOL(SteamAPI_UnregisterCallback);
NL_LOAD_SYMBOL(SteamAPI_RunCallbacks);
CAuthSessionTicketListener listener;
// wait 5 seconds to get ticket
if (!listener.waitTicket(5000)) return false;
// save ticket
_AuthSessionTicket = listener.getTicket();
nldebug("Auth ticket: %s", _AuthSessionTicket.c_str());
return true;
}
bool CSteamClient::release()
{
if (!_Handle) return false;
if (_Initialized)
{
// only shutdown Steam if initialized
nlSteamAPI_Shutdown();
_Initialized = false;
}
// free Steam library from memory
bool res = NLMISC::nlFreeLibrary(_Handle);
_Handle = NULL;
return res;
}
#endif

View file

@ -0,0 +1,65 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef CL_STEAM_CLIENT_H
#define CL_STEAM_CLIENT_H
#include "nel/misc/types_nl.h"
#include "nel/misc/dynloadlib.h"
/**
* Steam API helper to be able to call Steam functions/methods without linking to any library.
* The library is dynamically loaded and is optional.
*
* \author Cedric 'Kervala' OCHS
* \date 2016
*/
class CSteamClient
{
public:
CSteamClient();
~CSteamClient();
/**
* Dynamically load Steam client library and functions pointers.
* Also retrieve authentication session ticket if available.
* If no authentication session ticket retrieved, returns false.
*/
bool init();
/**
* Shutdown Steam client and unload library.
*/
bool release();
/**
* Return the authentication session ticket if available.
*/
std::string getAuthSessionTicket() const { return _AuthSessionTicket; }
private:
// handle on Steam DLL
NLMISC::NL_LIB_HANDLE _Handle;
// true if succeeded to initialize (must call shutdown)
bool _Initialized;
// the retrieved authentication session ticket
std::string _AuthSessionTicket;
};
#endif

0
code/ryzom/client/unix/upgd_nl.sh Normal file → Executable file
View file

View file

@ -1512,8 +1512,6 @@
type="I5" /> type="I5" />
<leaf name="DESPAWN" <leaf name="DESPAWN"
type="I7" /> type="I7" />
<leaf name="NAME"
type="I32" />
</branch> </branch>
</branch> </branch>
<branch name="DEBUG_INFO" <branch name="DEBUG_INFO"

View file

@ -0,0 +1,493 @@
FY_S1_baobab_A.pacs_prim
FY_S1_baobab_B.pacs_prim
FY_S1_baobab_C.pacs_prim
FY_S1_burnedtree_A.pacs_prim
FY_S1_burnedtree_B.pacs_prim
FY_S2_coconuts_A.pacs_prim
FY_S2_coconuts_B.pacs_prim
FY_S2_palmtree_A.pacs_prim
FY_S2_palmtree_B.pacs_prim
FY_S2_palmtree_C.pacs_prim
FY_S2_palmtree_D.pacs_prim
FY_S2_palmtree_E.pacs_prim
FY_S3_Termitiere_A.pacs_prim
FY_S3_Termitiere_B.pacs_prim
FY_S3_Termitiere_C.pacs_prim
FY_S3_Termitiere_D.pacs_prim
fy_acc_asc_appart_joueur.pacs_prim
fy_acc_asc_hall_conseil.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_rdc_1.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_rdc_2.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_ss_1.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_ss_2.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_ss_3.pacs_prim
fy_acc_asc_hall_vitrine_hall_reunion_ss_4.pacs_prim
fy_acc_asc_oasis_1er.pacs_prim
fy_acc_asc_oasis_rdc.pacs_prim
fy_acc_asc_salle_npc.pacs_prim
fy_acc_ascenseur_01_city.pacs_prim
fy_acc_ascenseur_01_war.pacs_prim
fy_acc_ascenseur_02_city.pacs_prim
fy_acc_ascenseur_02_war.pacs_prim
fy_acc_ascenseur_03_city.pacs_prim
fy_acc_ascenseur_04_city.pacs_prim
fy_acc_ascenseur_05_city.pacs_prim
fy_acc_ascenseur_06_city.pacs_prim
fy_acc_ascenseur_07_city.pacs_prim
fy_acc_ascenseur_08_city.pacs_prim
fy_acc_ascenseur_09_city.pacs_prim
fy_acc_ascenseur_10_city.pacs_prim
fy_acc_ascenseur_11_city.pacs_prim
fy_acc_ascenseur_12_city.pacs_prim
fy_asc_151_dy.pacs_prim
fy_asc_161_dy.pacs_prim
fy_asc_164_eg.pacs_prim
fy_asc_168_ew.pacs_prim
fy_asc_1porte.pacs_prim
fy_asc_fortress_1er.pacs_prim
fy_asc_fortress_rdc.pacs_prim
fy_asc_village_nb01.pacs_prim
fy_asc_village_nb02.pacs_prim
fy_asc_village_nb03.pacs_prim
fy_asc_village_nb04.pacs_prim
fy_asc_village_nb05.pacs_prim
fy_bt_sheriff_ok_ascen_1er.pacs_prim
fy_bt_sheriff_ok_ascen_rdc.pacs_prim
fy_bt_sheriff_ok_elevator_armurie_1er.pacs_prim
fy_bt_sheriff_ok_elevator_armurie_rdc.pacs_prim
fy_ecorce_collision.pacs_prim
fy_s1_burnedtree_c.pacs_prim
fy_s1_burnedtree_d.pacs_prim
fy_s1_burnedtree_growth_a.pacs_prim
fy_s1_burnedtree_growth_b.pacs_prim
fy_s2_lovejail_a.pacs_prim
fy_s2_lovejail_b.pacs_prim
fy_s2_lovejail_c.pacs_prim
fy_s2_papaleaf_a.pacs_prim
fy_s2_papaleaf_b.pacs_prim
fy_s2_savantree_a.pacs_prim
fy_s2_savantree_b.pacs_prim
fy_s2_savantree_c.pacs_prim
fy_s2_savantree_d.pacs_prim
fy_smoke_elevateur_1er.pacs_prim
fy_smoke_elevateur_rdc.pacs_prim
FO_S1_giant_tree.pacs_prim
FO_S1_giant_trunk.pacs_prim
FO_S2_arbragrelot.pacs_prim
FO_S2_big_tree.pacs_prim
FO_S2_bigroot_A.pacs_prim
FO_S2_bigroot_B.pacs_prim
FO_S2_bigroot_C.pacs_prim
FO_S2_birch.pacs_prim
FO_S2_spiketree.pacs_prim
FO_S3_birch.pacs_prim
FO_S3_buissonaepine.pacs_prim
FO_S3_champignou_A.pacs_prim
FO_S3_champignou_B.pacs_prim
FO_S3_fougere.pacs_prim
JU_S1_bamboo.pacs_prim
JU_S1_canopy_tree.pacs_prim
JU_S2_big_tree.pacs_prim
JU_S2_young_tree.pacs_prim
JU_S3_Banana_tree.pacs_prim
JU_S3_Bush_tree.pacs_prim
JU_S3_bamboo.pacs_prim
JU_S3_dead_tree.pacs_prim
JU_S3_fantree.pacs_prim
JU_S3_plante.pacs_prim
JU_S3_plantegrasse.pacs_prim
JU_S3_tree.pacs_prim
Ma_barriere_A_02.pacs_prim
Ma_barriere_B_02.pacs_prim
fo_s1_arbragrelot.pacs_prim
gen_bt_col_ext.pacs_prim
ma_asc_17_portal_trykers.pacs_prim
ma_asc_3portes.pacs_prim
ma_asc_3portes_bourgeons.pacs_prim
ma_asc_6_portal_prime_racine.pacs_prim
ma_asc_appart_joueur.pacs_prim
ma_asc_hall_du_conseil.pacs_prim
ma_asc_hall_vitrine_hall_reunion_1ss_d.pacs_prim
ma_asc_hall_vitrine_hall_reunion_1ss_g.pacs_prim
ma_asc_hall_vitrine_hall_reunion_rdc_d.pacs_prim
ma_asc_hall_vitrine_hall_reunion_rdc_g.pacs_prim
ma_asc_hall_vitrine_hall_reunion_ss_d.pacs_prim
ma_asc_hall_vitrine_hall_reunion_ss_g.pacs_prim
ma_asc_nb_01_a.pacs_prim
ma_asc_nb_01_b.pacs_prim
ma_asc_nb_01_c.pacs_prim
ma_asc_nb_02_a.pacs_prim
ma_asc_nb_02_b.pacs_prim
ma_asc_nb_02_c.pacs_prim
ma_asc_nb_03_a.pacs_prim
ma_asc_nb_03_b.pacs_prim
ma_asc_nb_03_c.pacs_prim
ma_asc_nb_04_a.pacs_prim
ma_asc_nb_04_b.pacs_prim
ma_asc_nb_04_c.pacs_prim
ma_asc_nb_05_a.pacs_prim
ma_asc_nb_05_b.pacs_prim
ma_asc_nb_05_c.pacs_prim
ma_asc_plateau-frontiere-2.pacs_prim
ma_asc_salle_npc.pacs_prim
ma_asc_village_a_bar_ext_1.pacs_prim
ma_asc_village_a_bar_ext_2.pacs_prim
ma_asc_village_a_bar_int_1.pacs_prim
ma_asc_village_a_bar_int_2.pacs_prim
ma_asc_village_a_imm1_a.pacs_prim
ma_asc_village_a_imm1_b.pacs_prim
ma_asc_village_a_imm1_c.pacs_prim
ma_asc_village_a_imm2_a.pacs_prim
ma_asc_village_a_imm2_b.pacs_prim
ma_asc_village_a_imm2_c.pacs_prim
ma_asc_village_a_imm3_a.pacs_prim
ma_asc_village_a_imm3_b.pacs_prim
ma_asc_village_a_imm3_c.pacs_prim
ma_asc_village_a_imm4_a.pacs_prim
ma_asc_village_a_imm4_b.pacs_prim
ma_asc_village_a_imm4_c.pacs_prim
ma_asc_village_a_mairie_1er.pacs_prim
ma_asc_village_a_mairie_rdc.pacs_prim
ma_asc_village_a_serre_1.pacs_prim
ma_asc_village_a_serre_2.pacs_prim
ma_asc_village_a_serre_npc1.pacs_prim
ma_asc_village_a_serre_npc2.pacs_prim
ma_asc_village_b_bar_ext_1.pacs_prim
ma_asc_village_b_bar_ext_2.pacs_prim
ma_asc_village_b_bar_int_1.pacs_prim
ma_asc_village_b_bar_int_2.pacs_prim
ma_asc_village_b_imm1_a.pacs_prim
ma_asc_village_b_imm1_b.pacs_prim
ma_asc_village_b_imm1_c.pacs_prim
ma_asc_village_b_imm2_a.pacs_prim
ma_asc_village_b_imm2_b.pacs_prim
ma_asc_village_b_imm2_c.pacs_prim
ma_asc_village_b_mairie_1er.pacs_prim
ma_asc_village_b_mairie_rdc.pacs_prim
ma_asc_village_c_bar_ext_1.pacs_prim
ma_asc_village_c_bar_ext_2.pacs_prim
ma_asc_village_c_bar_int_1.pacs_prim
ma_asc_village_c_bar_int_2.pacs_prim
ma_asc_village_c_imm1_a.pacs_prim
ma_asc_village_c_imm1_b.pacs_prim
ma_asc_village_c_imm1_c.pacs_prim
ma_asc_village_c_imm2_a.pacs_prim
ma_asc_village_c_imm2_b.pacs_prim
ma_asc_village_c_imm2_c.pacs_prim
ma_asc_village_c_mairie_1er.pacs_prim
ma_asc_village_c_mairie_rdc.pacs_prim
ma_asc_village_d_bar_ext_1.pacs_prim
ma_asc_village_d_bar_ext_2.pacs_prim
ma_asc_village_d_bar_int_1.pacs_prim
ma_asc_village_d_bar_int_2.pacs_prim
ma_asc_village_d_imm1_a.pacs_prim
ma_asc_village_d_imm1_b.pacs_prim
ma_asc_village_d_imm1_c.pacs_prim
ma_asc_village_d_imm2_a.pacs_prim
ma_asc_village_d_imm2_b.pacs_prim
ma_asc_village_d_imm2_c.pacs_prim
ma_asc_village_d_mairie_1er.pacs_prim
ma_asc_village_d_mairie_rdc.pacs_prim
ma_lampadaire_blue.pacs_prim
ma_lampadaire_red.pacs_prim
ma_lampadaire_white.pacs_prim
ma_lampadaire_yellow.pacs_prim
ma_milestone.pacs_prim
ma_paneau_armure.pacs_prim
ma_paneau_melee.pacs_prim
ma_paneau_object.pacs_prim
ma_paneau_range.pacs_prim
ma_paneau_tool.pacs_prim
nx_asc_40_cg.pacs_prim
nx_asc_44_by.pacs_prim
nx_asc_51_cd.pacs_prim
zo_acc_asc-01_hall_reunion.pacs_prim
zo_acc_asc-02_hall_reunion.pacs_prim
zo_acc_asc-03_hall_reunion.pacs_prim
zo_acc_asc-04_hall_reunion.pacs_prim
zo_acc_asc-05_hall_reunion.pacs_prim
zo_acc_asc-06_hall_reunion.pacs_prim
zo_acc_asc_appart_joueur.pacs_prim
zo_acc_asc_hall_du_conseil.pacs_prim
zo_acc_asc_salle_npc.pacs_prim
zo_acc_rdc_mairie_village_c.pacs_prim
zo_acc_ss_mairie_village_c.pacs_prim
zo_acc_village_a_imm1_a.pacs_prim
zo_acc_village_a_imm1_b.pacs_prim
zo_acc_village_a_imm1_c.pacs_prim
zo_acc_village_a_imm2_a.pacs_prim
zo_acc_village_a_imm2_b.pacs_prim
zo_acc_village_a_imm2_c.pacs_prim
zo_acc_village_a_imm3_a.pacs_prim
zo_acc_village_a_imm3_b.pacs_prim
zo_acc_village_a_imm3_c.pacs_prim
zo_acc_village_a_imm4_a.pacs_prim
zo_acc_village_a_imm4_b.pacs_prim
zo_acc_village_a_imm4_c.pacs_prim
zo_acc_village_b_imm1_a.pacs_prim
zo_acc_village_b_imm1_b.pacs_prim
zo_acc_village_b_imm1_c.pacs_prim
zo_acc_village_b_imm2_a.pacs_prim
zo_acc_village_b_imm2_b.pacs_prim
zo_acc_village_b_imm2_c.pacs_prim
zo_acc_village_c_imm1_a.pacs_prim
zo_acc_village_c_imm1_b.pacs_prim
zo_acc_village_c_imm1_c.pacs_prim
zo_acc_village_c_imm2_a.pacs_prim
zo_acc_village_c_imm2_b.pacs_prim
zo_acc_village_c_imm2_c.pacs_prim
zo_acc_village_d_imm1_a.pacs_prim
zo_acc_village_d_imm1_b.pacs_prim
zo_acc_village_d_imm1_c.pacs_prim
zo_acc_village_d_imm2_a.pacs_prim
zo_acc_village_d_imm2_b.pacs_prim
zo_acc_village_d_imm2_c.pacs_prim
zo_asc_13_cp.pacs_prim
zo_asc_15_by.pacs_prim
zo_asc_29_cq.pacs_prim
zo_asc_2portes.pacs_prim
zo_asc_nb_01_a.pacs_prim
zo_asc_nb_01_b.pacs_prim
zo_asc_nb_01_c.pacs_prim
zo_asc_nb_02_a.pacs_prim
zo_asc_nb_02_b.pacs_prim
zo_asc_nb_02_c.pacs_prim
zo_asc_nb_03_a.pacs_prim
zo_asc_nb_03_b.pacs_prim
zo_asc_nb_03_c.pacs_prim
zo_asc_nb_04_a.pacs_prim
zo_asc_nb_04_b.pacs_prim
zo_asc_nb_04_c.pacs_prim
zo_asc_nb_05_a.pacs_prim
zo_asc_nb_05_b.pacs_prim
zo_asc_nb_05_c.pacs_prim
zo_asc_plateau-frontiere-13_br.pacs_prim
zo_asc_village_a_rdc.pacs_prim
zo_asc_village_a_ss.pacs_prim
zo_asc_village_b_rdc.pacs_prim
zo_asc_village_b_ss.pacs_prim
zo_asc_village_d_rdc.pacs_prim
zo_asc_village_d_ss.pacs_prim
zo_lampadaire_black.pacs_prim
zo_lampadaire_blue.pacs_prim
zo_lampadaire_green.pacs_prim
zo_lampadaire_yellow.pacs_prim
zo_paneau_armure.pacs_prim
zo_paneau_melee.pacs_prim
zo_paneau_object.pacs_prim
zo_paneau_range.pacs_prim
zo_paneau_tool.pacs_prim
tr_asc_186_ep.pacs_prim
tr_asc_187_ea.pacs_prim
tr_asc_188_ed.pacs_prim
tr_asc_192_ea.pacs_prim
tr_asc_193_ec.pacs_prim
tr_asc_194_dy.pacs_prim
tr_asc_194_el.pacs_prim
tr_asc_194_eo.pacs_prim
tr_asc_196_ea.pacs_prim
tr_asc_197_ds.pacs_prim
tr_asc_198_dq.pacs_prim
tr_asc_1porte.pacs_prim
tr_asc_201_dq.pacs_prim
tr_asc_201_dt.pacs_prim
tr_asc_203_di.pacs_prim
tr_asc_208_dl.pacs_prim
tr_asc_208_ek.pacs_prim
tr_asc_210_el.pacs_prim
tr_asc_212_dm.pacs_prim
tr_asc_214_dw.pacs_prim
tr_asc_214_ea.pacs_prim
tr_asc_215_du.pacs_prim
tr_asc_217_ec.pacs_prim
tr_asc_appart_joueur.pacs_prim
tr_asc_hall_conseil.pacs_prim
tr_asc_hall_vitrine_hall_reunion_rdc_1.pacs_prim
tr_asc_hall_vitrine_hall_reunion_rdc_2.pacs_prim
tr_asc_hall_vitrine_hall_reunion_ss_1.pacs_prim
tr_asc_hall_vitrine_hall_reunion_ss_2.pacs_prim
tr_asc_hall_vitrine_hall_reunion_ss_3.pacs_prim
tr_asc_salle_npc.pacs_prim
tr_asc_saucisse_fond_ilot_4_a.pacs_prim
tr_asc_saucisse_fond_ilot_4_b.pacs_prim
tr_asc_saucisse_fond_ilot_4_c.pacs_prim
tr_asc_saucisse_fond_ilot_4_d.pacs_prim
tr_asc_saucisse_fond_ilot_4_e.pacs_prim
tr_asc_saucisse_fond_ilot_4_f.pacs_prim
tr_asc_saucisse_village_nb01_a.pacs_prim
tr_asc_saucisse_village_nb01_b.pacs_prim
tr_asc_saucisse_village_nb01_c.pacs_prim
tr_asc_saucisse_village_nb01_d.pacs_prim
tr_asc_saucisse_village_nb01_e.pacs_prim
tr_asc_saucisse_village_nb01_f.pacs_prim
tr_asc_saucisse_village_nb02_a.pacs_prim
tr_asc_saucisse_village_nb02_b.pacs_prim
tr_asc_saucisse_village_nb02_c.pacs_prim
tr_asc_saucisse_village_nb02_d.pacs_prim
tr_asc_saucisse_village_nb02_e.pacs_prim
tr_asc_saucisse_village_nb02_f.pacs_prim
tr_asc_saucisse_village_nb03_a.pacs_prim
tr_asc_saucisse_village_nb03_b.pacs_prim
tr_asc_saucisse_village_nb03_c.pacs_prim
tr_asc_saucisse_village_nb03_d.pacs_prim
tr_asc_saucisse_village_nb03_e.pacs_prim
tr_asc_saucisse_village_nb03_f.pacs_prim
tr_asc_saucisse_village_nb04_a.pacs_prim
tr_asc_saucisse_village_nb04_b.pacs_prim
tr_asc_saucisse_village_nb04_c.pacs_prim
tr_asc_saucisse_village_nb04_d.pacs_prim
tr_asc_saucisse_village_nb04_e.pacs_prim
tr_asc_saucisse_village_nb04_f.pacs_prim
tr_asc_saucisse_village_nb05_a.pacs_prim
tr_asc_saucisse_village_nb05_b.pacs_prim
tr_asc_saucisse_village_nb05_c.pacs_prim
tr_asc_saucisse_village_nb05_d.pacs_prim
tr_asc_saucisse_village_nb05_e.pacs_prim
tr_asc_saucisse_village_nb05_f.pacs_prim
tr_mairie_asc_00_village_a.pacs_prim
tr_mairie_asc_01_village_a.pacs_prim
tr_mairie_asc_01_village_b.pacs_prim
tr_mairie_asc_01_village_d.pacs_prim
tr_mairie_asc_02_village_a.pacs_prim
tr_mairie_asc_02_village_b.pacs_prim
tr_mairie_asc_02_village_d.pacs_prim
tr_mairie_asc_03_village_a.pacs_prim
tr_mairie_asc_03_village_b.pacs_prim
tr_mairie_asc_03_village_d.pacs_prim
tr_mairie_asc_04_village_a.pacs_prim
tr_mairie_asc_04_village_b.pacs_prim
tr_mairie_asc_04_village_d.pacs_prim
tr_mairie_asc_05_village_a.pacs_prim
tr_mairie_asc_05_village_b.pacs_prim
tr_mairie_asc_05_village_d.pacs_prim
tr_mairie_asc_06_village_a.pacs_prim
tr_mairie_asc_06_village_b.pacs_prim
tr_mairie_asc_06_village_d.pacs_prim
tr_mairie_asc_07_village_a.pacs_prim
tr_mairie_asc_07_village_b.pacs_prim
tr_mairie_asc_07_village_d.pacs_prim
tr_mairie_asc_08_village_b.pacs_prim
tr_mairie_asc_08_village_d.pacs_prim
tr_mairie_ascr_01_village_c.pacs_prim
tr_mairie_ascr_02_village_c.pacs_prim
tr_mairie_ascr_03_village_c.pacs_prim
tr_mairie_ascr_04_village_c.pacs_prim
tr_mairie_ascr_05_village_c.pacs_prim
tr_mairie_ascr_06_village_c.pacs_prim
tr_mairie_ascr_07_village_c.pacs_prim
tr_mairie_ascr_08_village_c.pacs_prim
tr_s1_bambo_a.pacs_prim
tr_s1_bamboo_a.pacs_prim
tr_s2_bamboo_a.pacs_prim
tr_s2_champiflot_a.pacs_prim
tr_s2_lokness_a.pacs_prim
tr_s2_lokness_b.pacs_prim
tr_s2_lokness_c.pacs_prim
tr_s2_mangrove_a.pacs_prim
tr_s2_mangrove_b.pacs_prim
tr_s2_nenufly_a.pacs_prim
tr_s2_palmtree_a.pacs_prim
tr_s2_palmtree_b.pacs_prim
tr_s2_palmtree_c.pacs_prim
tr_s2_palmtree_d.pacs_prim
tr_s2_palmtree_e.pacs_prim
tr_s2_palmtree_f.pacs_prim
tr_s2_sailtree_a.pacs_prim
tr_s2_wigweed_a.pacs_prim
tr_s3_aquabole_a.pacs_prim
tr_s3_aquabole_b.pacs_prim
tr_s3_nenufly_b.pacs_prim
tr_saucisse_asc01_01_village_a.pacs_prim
tr_saucisse_asc01_01_village_d.pacs_prim
tr_saucisse_asc01_02_village_a.pacs_prim
tr_saucisse_asc01_02_village_d.pacs_prim
tr_saucisse_asc01_03_village_a.pacs_prim
tr_saucisse_asc01_04_village_a.pacs_prim
tr_saucisse_asc01_village_a.pacs_prim
tr_saucisse_asc01_village_b.pacs_prim
tr_saucisse_asc02_01_village_d.pacs_prim
tr_saucisse_asc02_02_village_a.pacs_prim
tr_saucisse_asc02_02_village_d.pacs_prim
tr_saucisse_asc02_03_village_a.pacs_prim
tr_saucisse_asc02_04_village_a.pacs_prim
tr_saucisse_asc02_village_a.pacs_prim
tr_saucisse_asc02_village_b.pacs_prim
tr_saucisse_asc03_01_village_d.pacs_prim
tr_saucisse_asc03_02_village_a.pacs_prim
tr_saucisse_asc03_02_village_d.pacs_prim
tr_saucisse_asc03_03_village_a.pacs_prim
tr_saucisse_asc03_04_village_a.pacs_prim
tr_saucisse_asc03_village_a.pacs_prim
tr_saucisse_asc03_village_b.pacs_prim
tr_saucisse_asc04_01_village_d.pacs_prim
tr_saucisse_asc04_02_village_a.pacs_prim
tr_saucisse_asc04_02_village_d.pacs_prim
tr_saucisse_asc04_03_village_a.pacs_prim
tr_saucisse_asc04_04_village_a.pacs_prim
tr_saucisse_asc04_village_a.pacs_prim
tr_saucisse_asc04_village_b.pacs_prim
tr_saucisse_asc05_01_village_d.pacs_prim
tr_saucisse_asc05_02_village_a.pacs_prim
tr_saucisse_asc05_02_village_d.pacs_prim
tr_saucisse_asc05_03_village_a.pacs_prim
tr_saucisse_asc05_04_village_a.pacs_prim
tr_saucisse_asc05_village_a.pacs_prim
tr_saucisse_asc05_village_b.pacs_prim
tr_saucisse_asc06_01_village_d.pacs_prim
tr_saucisse_asc06_02_village_a.pacs_prim
tr_saucisse_asc06_02_village_d.pacs_prim
tr_saucisse_asc06_03_village_a.pacs_prim
tr_saucisse_asc06_04_village_a.pacs_prim
tr_saucisse_asc06_village_b.pacs_prim
tr_saucisse_asc_01_app_02_village_c.pacs_prim
tr_saucisse_asc_02_app_02_village_c.pacs_prim
tr_saucisse_asc_03_app_02_village_c.pacs_prim
tr_saucisse_asc_04_app_02_village_c.pacs_prim
tr_saucisse_asc_05_app_02_village_c.pacs_prim
tr_saucisse_asc_06_app_02_village_c.pacs_prim
tr_saucisse_asr01_02_village_b.pacs_prim
tr_saucisse_asr02_02_village_b.pacs_prim
tr_saucisse_asr03_02_village_b.pacs_prim
tr_saucisse_asr04_02_village_b.pacs_prim
tr_saucisse_asr05_02_village_b.pacs_prim
tr_saucisse_asr06_02_village_b.pacs_prim
tr_saucisse_asr_01_app_01_village_c.pacs_prim
tr_saucisse_asr_02_app_01_village_c.pacs_prim
tr_saucisse_asr_03_app_01_village_c.pacs_prim
tr_saucisse_asr_04_app_01_village_c.pacs_prim
tr_saucisse_asr_05_app_01_village_c.pacs_prim
tr_saucisse_asr_06_app_01_village_c.pacs_prim
PR_S1_rotaflore_A.pacs_prim
PR_S1_rotaflore_B.pacs_prim
PR_S1_rotaflore_C.pacs_prim
PR_S2_Mycotree_A.pacs_prim
PR_S2_Mycotree_B.pacs_prim
PR_S2_Toopetz_A.pacs_prim
PR_S2_Toopetz_B.pacs_prim
PR_S2_Toopetz_C.pacs_prim
PR_S3_cokamool_A.pacs_prim
PR_S3_cokamool_B.pacs_prim
PR_S3_cokamool_C.pacs_prim
PR_S3_ploomweed_A.pacs_prim
PR_S3_ploomweed_B.pacs_prim
pr_asc_104_bi.pacs_prim
pr_asc_105_bs.pacs_prim
pr_asc_61_bj.pacs_prim
pr_asc_62_ai.pacs_prim
pr_asc_62_av.pacs_prim
pr_asc_70_ae.pacs_prim
pr_asc_71_au.pacs_prim
pr_asc_77_bp.pacs_prim
pr_asc_89_ar.pacs_prim
pr_asc_91_ad.pacs_prim
pr_s1_lumiseed_a.pacs_prim
pr_s1_lumiseed_b.pacs_prim
pr_s1_lumiseed_c.pacs_prim
pr_s1_lumiseed_d.pacs_prim
pr_s3_amoeba_a.pacs_prim
pr_s3_amoeba_b.pacs_prim
pr_s3_amoeba_c.pacs_prim
pr_s3_small_lumiseed_a.pacs_prim
pr_s3_small_lumiseed_b.pacs_prim
ma_asc_to_kitiniere.pacs_prim
pr_asc_kitiniere.pacs_prim

View file

@ -355,11 +355,11 @@
<leaf name="EQUIP" <leaf name="EQUIP"
sendto="EGS" sendto="EGS"
format="u16 u16 u16" format="u16 u16 u16"
description="the client equip character (equipped inventory, equipped inventory slot, bag slot)" /> description="the client equip character (equiped inventory, equiped inventory slot, bag slot)" />
<leaf name="UNEQUIP" <leaf name="UNEQUIP"
sendto="EGS" sendto="EGS"
format="u16 u16" format="u16 u16"
description="the client unequip character (equipped inventory, equipped inventory slot)" /> description="the client unequip character (equiped inventory, equiped inventory slot)" />
<leaf name="TEMP_TO_BAG" <leaf name="TEMP_TO_BAG"
sendto="EGS" sendto="EGS"
format="u16" format="u16"

View file

@ -0,0 +1,27 @@
SearchPaths =
{
"r:/code/ryzom/data_common/r2", // entry points file
"R:/code/ryzom/data_shard/collisions",
"F:/r2 daily",
};
Continents = {"r2_jungle", "r2_forest", "r2_lakes", "r2_desert","r2_roots"};
SeasonSuffixes = { "_sp"}; //{ "_sp", "_su", "_au", "_wi" };
MeterPixelSize = 2;
OutDir = "F:/perso/code/HelloWorld/Affichage/Final";
CompleteIslandsFile= "r2_islands.xml";
EntryPointsFile= "r2_entry_points.txt";
Vegetation = true;
InverseZTest = true;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -0,0 +1,14 @@
///////////////////////////
///////////////////////////
/// Weather CONFIG FILE ///
///////////////////////////
///////////////////////////
RealDayLength = 3000.0; // real length of the day, in seconds (3000 = 50mn)
NumHours = 24.0; // number of ryzom hours in a day
NightTransitionStartHour = 19.0; // start of night transition
NightTransitionEndHour = 21.0; // end of night transition
DawnTransitionStartHour = 5.0; // start of dawn transition
DawnTransitionEndHour = 7.0; // end of dawn transition
MaxNumColorSteps = 25; // the max number of color steps

View file

@ -17,10 +17,7 @@
#ifndef RYZOM_VERSION_H #ifndef RYZOM_VERSION_H
#define RYZOM_VERSION_H #define RYZOM_VERSION_H
#define RYZOM_VERSION "ryzomcore" \ #define RYZOM_VERSION "3.0.0"
"/" \
"v0.12.0" \
"-dev"
#endif // RYZOM_VERSION_H #endif // RYZOM_VERSION_H

View file

@ -1,5 +1,8 @@
IF(WITH_RYZOM_CLIENT) IF(WITH_RYZOM_CLIENT)
ADD_SUBDIRECTORY(client_patcher) # Don't need ryzom_client_patcher if using Steam
IF(NOT WITH_RYZOM_STEAM)
ADD_SUBDIRECTORY(client_patcher)
ENDIF()
IF(WITH_QT OR WITH_QT5) IF(WITH_QT OR WITH_QT5)
ADD_SUBDIRECTORY(client_config_qt) ADD_SUBDIRECTORY(client_config_qt)

View file

@ -29,6 +29,10 @@ ELSE()
QT5_WRAP_UI(CLIENT_CONFIG_UI_HDRS ${CLIENT_CONFIG_UIS}) QT5_WRAP_UI(CLIENT_CONFIG_UI_HDRS ${CLIENT_CONFIG_UIS})
ENDIF() ENDIF()
IF(WITH_RYZOM_STEAM)
ADD_DEFINITIONS(-DRZ_USE_STEAM)
ENDIF()
SOURCE_GROUP("Resources" FILES ${CLIENT_CONFIG_RCS}) SOURCE_GROUP("Resources" FILES ${CLIENT_CONFIG_RCS})
SOURCE_GROUP("Forms" FILES ${CLIENT_CONFIG_UIS}) SOURCE_GROUP("Forms" FILES ${CLIENT_CONFIG_UIS})
SOURCE_GROUP("Generated Files" FILES ${CLIENT_CONFIG_UI_HDRS} ${CLIENT_CONFIG_MOC_SRC}) SOURCE_GROUP("Generated Files" FILES ${CLIENT_CONFIG_UI_HDRS} ${CLIENT_CONFIG_MOC_SRC})

View file

@ -86,6 +86,11 @@ CClientConfigDialog::CClientConfigDialog( QWidget *parent ) :
item->setHidden(true); item->setHidden(true);
#endif #endif
#ifdef RZ_USE_STEAM
// Hide Play Ryzom button if using Steam because we need to launch it from Steam
playButton->setHidden(true);
#endif
CategoryStackedWidget->addWidget( new CGeneralSettingsWidget( CategoryStackedWidget ) ); CategoryStackedWidget->addWidget( new CGeneralSettingsWidget( CategoryStackedWidget ) );
CategoryStackedWidget->addWidget( new CDisplaySettingsWidget( CategoryStackedWidget ) ); CategoryStackedWidget->addWidget( new CDisplaySettingsWidget( CategoryStackedWidget ) );
CategoryStackedWidget->addWidget( new CDisplaySettingsDetailsWidget( CategoryStackedWidget ) ); CategoryStackedWidget->addWidget( new CDisplaySettingsDetailsWidget( CategoryStackedWidget ) );

View file

@ -14,7 +14,7 @@ url_help=http://app.ryzom.com/app_forum/index.php?page=topic/view/22047/1&post14
comments=Science-fantasy MMORPG comments=Science-fantasy MMORPG
[servers] [servers]
size=2 size=1
[server_0] [server_0]
id=ryzom_live id=ryzom_live
@ -36,25 +36,5 @@ configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration
configuration_filename_linux=ryzom_configuration_qt configuration_filename_linux=ryzom_configuration_qt
comments= comments=
[server_1]
id=ryzom_dev
name=Yubo
display_url="http://app.ryzom.com/app_releasenotes/index.php?lang=$LANG"
files_list_url="https://sourceforge.net/projects/ryzom/rss?path=/installer"
data_download_url="http://downloads.sourceforge.net/project/ryzom/installer/ryzom_live_data.7z?r=&ts=$TIMESTAMP"
data_download_filename=ryzom_live_data.7z
data_compressed_size=1500000000
data_uncompressed_size=7000000000
client_download_url="http://downloads.sourceforge.net/project/ryzom/installer/ryzom_live_client_$ARCH.7z?r=&ts=$TIMESTAMP"
client_download_filename=ryzom_live_client_$ARCH.7z
client_filename_windows=ryzom_client_r.exe
client_filename_osx=Ryzom.app/Contents/MacOS/Ryzom
client_filename_linux=ryzom_client
client_filename_old_windows=client_ryzom_rd.exe
configuration_filename_windows=ryzom_configuration_qt_r.exe
configuration_filename_osx=Ryzom.app/Contents/MacOS/RyzomConfiguration
configuration_filename_linux=ryzom_configuration_qt
comments=Test server
[profiles] [profiles]
size=0 size=0

View file

@ -0,0 +1,6 @@
@echo off
echo Generating words diff...
bin\translation_tools make_words_diff
echo Done.
pause

View file

@ -0,0 +1,6 @@
@echo off
echo Merging words diff...
bin\translation_tools merge_words_diff
echo Done.
pause

View file

@ -0,0 +1,16 @@
@echo off
echo Installing translation file into ryzom...
REM Copy translated files in client directory...
xcopy /Y translated\*.uxt ..\..\client\data\gamedev\language\
xcopy /Y translated\skill_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\item_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\creature_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\sbrick_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\sphrase_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\place_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\faction_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\title_*.txt ..\..\client\data\gamedev\language\
xcopy /Y translated\outpost_*.txt ..\..\client\data\gamedev\language\
echo Done.

View file

@ -0,0 +1,6 @@
@echo off
echo Cleaning string diff...
bin\translation_tools clean_string_diff
echo Done.
pause

View file

@ -0,0 +1,6 @@
@echo off
echo Generating string diff...
bin\translation_tools make_string_diff
echo Done.
pause

View file

@ -0,0 +1,6 @@
@echo off
echo Merging string diff...
bin\translation_tools merge_string_diff
echo Done.
pause

View file

@ -0,0 +1,6 @@
wk
fr
en
de
ru
es

View file

@ -0,0 +1,24 @@
Please don't update files in "translated" directly!
First, be sure you put "translation_tools" in "bin" directory.
How to update translations in UXT files :
1. Update original texts in "work/wk.uxt"
2. Launch A_make_string_diff script
3. Open files in "diff" directory
4. Replace original text with translation between [ and ]
5. The 2 last lines : // REMOVE THE FOLOWING LINE WHEN TRANSLATION IS DONE and // DIFF NOT TRANSLATED
6. Save files
7. Launch AA_clean_string_diff to delete translations help (old values)
8. Launch B_merge_string_diff to merge your translations in "translated"
How to update translations in words files :
1. Update original texts in "work" directory
2. Launch 5_make_words_diff script
3. Open files in "diff" directory
4. Replace original text with translation (separators are <tab>)
5. The 2 last lines : REMOVE THE FOLOWING TWO LINE WHEN TRANSLATION IS DONE and DIFF NOT TRANSLATED
6. Save files
7. Launch 6_merge_words_diff to merge your translations in "translated"

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name pro daa ia da p pia pda description
_ACB9BC721BA65099 HHead Kopf deinen den ein der Köpfe die
_278A7C5D654814CD HChest Oberkörper deinen den ein der Oberkörper die
_A2D940906B29B889 HArms Arme deine die die Arme die
_B1CAFC85DB767C9C HHands Hände deine die die Hände die
_20A8389BAC987C9F HLegs Beine deine die die Beine die
_E18820962C586494 HFeet Füße deine die die Füße die
_ACB9BC7B1B375099 QHead Kopf deinen den ein der Köpfe die
_E80BB4A21A9838B5 QBody Körper deinen den ein der Körper die
_C96F0919D2F8DC71 QFrontPaws Vorderbeine deinen die die Vorderbeine die
_08A1A8FEABC3CD11 QFrontHooves Vorderbeine deine die die Vorderbeine die
_23B95F02A87957B0 QRearPaws Hinterbeine deine die die Hinterbeine die
_D880990C5BE9DCB7 QRearHooves Hinterbeine deine die die Hinterbeine die
_2836645DDE8874AD LKHead Kopf deinen den ein der Köpfe die
_ED86C05FE298A4B9 LKBody Körper deinen den ein der Körper die
_39BFC0EBE486B512 LKFrontPaws1 Vorderbeine deine die die Vorderbeine die
_79BFC0EBE486B512 LKFrontPaws2 Vorderbeine deine die die Vorderbeine die
_D92BB508D8F884A6 LKRearPaws1 Hinterbeine deine die die Hinterbeine die
_D93BB508D8F884A6 LKRearPaws2 Hinterbeine deine die die Hinterbeine die
_283664575C8874AD FKHead Kopf deinen den ein der Köpfe die
_ED86C0596098A4B9 FKBody Körper deinen den ein der Körper die
_DBBA7473640310B0 FKPaws1 Beine deine die die Beine die
_1BBA7473641310B0 FKPaws2 Beine deine die die Beine die
_66B6A47A4A7ADCC2 FKWings1 Flügel deine die die Flügel die
_66B6A47ACA7ADCC2 FKWings2 Flügel deine die die Flügel die
_ACB9BC701B865099 FHead Kopf deinen den ein der Köpfe die
_E80BB4971AE738B5 FBody Körper deinen den ein der Körper die
_C40D15A82A36DF2C FFrontFins1 Vorderflossen deine die die Vorderflossen die
_C41D15A82A36DF2C FFrontFins2 Vorderflossen deine die die Vorderflossen die
_67B624EBAAF630A4 FRearFins1 Hinterflossen deine die die Hinterflossen die
_67B628EBAAF630A4 FRearFins2 Hinterflossen deine die die Hinterflossen die
_ACB9BC6C1B465099 BHead Kopf deinen den ein der Köpfe die
_E80BB4931AA738B5 BBody Körper deinen den ein der Körper die
_25897F8F25594780 BFeet1 Füße deine die die Füße die
_2589838F25594B80 BFeet2 Füße deine die die Füße die
_2C68746BA436D3C2 BWings1 Flügel deine die die Flügel die
_2C68746BA446D7C2 BWings2 Flügel deine die die Flügel die
_8061E6E18C3EA521 PUpperTrunk Stiel deinen den ein die Stiele die
_ECEA3087A666CCC3 Ptrunk Rüssel deinen den ein die Rüssel die
_E7469C4D9B5A0C9D PLeaves1 Blatt dein das ein die Blätter die
_E7469C4DDB5A0C9D PLeaves2 Blatt dein das ein die Blätter die
_C3EE9906771FB524 PLowerTrunk Stamm deinen den ein die Stämme die
_DFA67A5CC7DECDE6 PVisibleRoots Wurzel deine die eine die Wurzeln die

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name ia da p pia pda description
_ACB9BC721BA65099 HHead head a the heads \d the
_278A7C5D654814CD HChest chest a the chests \d the
_A2D940906B29B889 HArms arms \d the arms \d the
_B1CAFC85DB767C9C HHands hands \d the hands \d the
_20A8389BAC987C9F HLegs legs \d the legs \d the
_E18820962C586494 HFeet feet \d the feet \d the
_ACB9BC7B1B375099 QHead head a the heads \d the
_E80BB4A21A9838B5 QBody body a the bodies \d the
_C96F0919D2F8DC71 QFrontPaws forelegs \d the forelegs \d the
_08A1A8FEABC3CD11 QFrontHooves forelegs \d the forelegs \d the
_23B95F02A87957B0 QRearPaws hind legs \d the hind legs \d the
_D880990C5BE9DCB7 QRearHooves hind legs \d the hind legs \d the
_2836645DDE8874AD LKHead head a the heads \d the
_ED86C05FE298A4B9 LKBody body a the bodies \d the
_39BFC0EBE486B512 LKFrontPaws1 forelegs \d the forelegs \d the
_79BFC0EBE486B512 LKFrontPaws2 forelegs \d the forelegs \d the
_D92BB508D8F884A6 LKRearPaws1 hind legs \d the hind legs \d the
_D93BB508D8F884A6 LKRearPaws2 hind legs \d the hind legs \d the
_283664575C8874AD FKHead head a the heads \d the
_ED86C0596098A4B9 FKBody body a the bodies \d the
_DBBA7473640310B0 FKPaws1 legs \d the legs \d the
_1BBA7473641310B0 FKPaws2 legs \d the legs \d the
_66B6A47A4A7ADCC2 FKWings1 wings \d the wings \d the
_66B6A47ACA7ADCC2 FKWings2 wings \d the wings \d the
_ACB9BC701B865099 FHead head a the heads \d the
_E80BB4971AE738B5 FBody body a the bodies \d the
_C40D15A82A36DF2C FFrontFins1 fore fins \d the fore fins \d the
_C41D15A82A36DF2C FFrontFins2 fore fins \d the fore fins \d the
_67B624EBAAF630A4 FRearFins1 hind fins \d the hind fins \d the
_67B628EBAAF630A4 FRearFins2 hind fins \d the hind fins \d the
_ACB9BC6C1B465099 BHead head a the heads \d the
_E80BB4931AA738B5 BBody body a the bodies \d the
_25897F8F25594780 BFeet1 feet \d the feet \d the
_2589838F25594B80 BFeet2 feet \d the feet \d the
_2C68746BA436D3C2 BWings1 wings \d the wings \d the
_2C68746BA446D7C2 BWings2 wings \d the wings \d the
_8061E6E18C3EA521 PUpperTrunk upper trunk an the upper trunks \d the
_ECEA3087A666CCC3 Ptrunk trunk a the trunks \d the
_E7469C4D9B5A0C9D PLeaves1 leaf a the leaves \d the
_E7469C4DDB5A0C9D PLeaves2 leaf a the leaves \d the
_C3EE9906771FB524 PLowerTrunk lower trunk a the lower trunks \d the
_DFA67A5CC7DECDE6 PVisibleRoots visible root a the visible roots \d the

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name ia da p pia pda description
_ACB9BC721BA65099 HHead cabeza una la cabezas las
_278A7C5D654814CD HChest torso un el torsos los
_A2D940906B29B889 HArms brazo un el brazos los
_B1CAFC85DB767C9C HHands mano una la manos las
_20A8389BAC987C9F HLegs pierna una la piernas las
_E18820962C586494 HFeet pie un el pies los
_ACB9BC7B1B375099 QHead cabeza una la cabezas las
_E80BB4A21A9838B5 QBody cuerpo un el cuerpos los
_C96F0919D2F8DC71 QFrontPaws pata delantera una la patas delanteras las
_08A1A8FEABC3CD11 QFrontHooves pezuña delantera una la pezuñas delanteras las
_23B95F02A87957B0 QRearPaws pata trasera una la patas traseras las
_D880990C5BE9DCB7 QRearHooves pezuña trasera una la pezuñas traseras las
_2836645DDE8874AD LKHead cabeza una la cabezas las
_ED86C05FE298A4B9 LKBody cuerpo un el cuerpos los
_39BFC0EBE486B512 LKFrontPaws1 pata delantera una la patas delanteras las
_79BFC0EBE486B512 LKFrontPaws2 pata delantera una la pata delanteras las
_D92BB508D8F884A6 LKRearPaws1 pata trasera una la patas traseras las
_D93BB508D8F884A6 LKRearPaws2 pata trasera una la patas traseras las
_283664575C8874AD FKHead cabeza una la cabezas las
_ED86C0596098A4B9 FKBody cuerpo un el cuerpos los
_DBBA7473640310B0 FKPaws1 pierna una la piernas las
_1BBA7473641310B0 FKPaws2 pierna una la piernas las
_66B6A47A4A7ADCC2 FKWings1 ala un el alas las
_66B6A47ACA7ADCC2 FKWings2 ala un el alas las
_ACB9BC701B865099 FHead cabeza una la cabezas las
_E80BB4971AE738B5 FBody cuerpo un el cuerpos los
_C40D15A82A36DF2C FFrontFins1 aleta delantera una la aletas delanteras las
_C41D15A82A36DF2C FFrontFins2 aleta delantera una la aletas delanteras las
_67B624EBAAF630A4 FRearFins1 aleta trasera una la aletas traseras las
_67B628EBAAF630A4 FRearFins2 aleta trasera una la aletas traseras las
_ACB9BC6C1B465099 BHead cabeza una la cabezas las
_E80BB4931AA738B5 BBody cuerpo un el cuerpos los
_25897F8F25594780 BFeet1 pie un el pies los
_2589838F25594B80 BFeet2 pie un el pies los
_2C68746BA436D3C2 BWings1 ala un el alas las
_2C68746BA446D7C2 BWings2 ala un el alas las
_8061E6E18C3EA521 PUpperTrunk tronco superior un el troncos superiores los
_ECEA3087A666CCC3 Ptrunk tronco un el troncos los
_E7469C4D9B5A0C9D PLeaves1 hoja una la hojas las
_E7469C4DDB5A0C9D PLeaves2 hoja una la hojas las
_C3EE9906771FB524 PLowerTrunk tronco inferior un el troncos inferiores los
_DFA67A5CC7DECDE6 PVisibleRoots raíz visible una la raíces visibles las

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name ia da p pia pda description
_ACB9BC721BA65099 HHead tête une la têtes des les
_278A7C5D654814CD HChest poitrine une la poitrines des les
_A2D940906B29B889 HArms bras un le bras des les
_B1CAFC85DB767C9C HHands main une la mains des les
_20A8389BAC987C9F HLegs jambe une la jambes des les
_E18820962C586494 HFeet pied un le pieds des les
_ACB9BC7B1B375099 QHead tête une la têtes des les
_E80BB4A21A9838B5 QBody corps un le corps des les
_C96F0919D2F8DC71 QFrontPaws patte avant une la pattes avant des les
_08A1A8FEABC3CD11 QFrontHooves sabot avant un le sabots avant des les
_23B95F02A87957B0 QRearPaws patte arrière une la pattes arrière des les
_D880990C5BE9DCB7 QRearHooves sabot arrière un le sabots arrière des les
_2836645DDE8874AD LKHead tête une la têtes des les
_ED86C05FE298A4B9 LKBody corps un le corps des les
_39BFC0EBE486B512 LKFrontPaws1 patte avant une la pattes avant des les
_79BFC0EBE486B512 LKFrontPaws2 patte avant une la pattes avant des les
_D92BB508D8F884A6 LKRearPaws1 patte arrière une la pattes arrière des les
_D93BB508D8F884A6 LKRearPaws2 patte arrière une la pattes arrière des les
_283664575C8874AD FKHead tête une la têtes des les
_ED86C0596098A4B9 FKBody corps un le corps des les
_DBBA7473640310B0 FKPaws1 patte une la pattes des les
_1BBA7473641310B0 FKPaws2 patte une la pattes des les
_66B6A47A4A7ADCC2 FKWings1 aile une l'\d ailes des les
_66B6A47ACA7ADCC2 FKWings2 aile une l'\d ailes des les
_ACB9BC701B865099 FHead tête une la têtes des les
_E80BB4971AE738B5 FBody corps un le corps des les
_C40D15A82A36DF2C FFrontFins1 nageoire avant une la nageoires avant des les
_C41D15A82A36DF2C FFrontFins2 nageoire avant une la nageoires avant des les
_67B624EBAAF630A4 FRearFins1 nageoire arrière une la nageoires arrière des les
_67B628EBAAF630A4 FRearFins2 nageoire arrière une la nageoires arrière des les
_ACB9BC6C1B465099 BHead tête une la têtes des les
_E80BB4931AA738B5 BBody corps un le corps des les
_25897F8F25594780 BFeet1 pied un le pieds des les
_2589838F25594B80 BFeet2 pied un le pieds des les
_2C68746BA436D3C2 BWings1 aile un l'\d ailes des les
_2C68746BA446D7C2 BWings2 aile un l'\d ailes des les
_8061E6E18C3EA521 PUpperTrunk tige supérieure une la tiges supérieures des les
_ECEA3087A666CCC3 Ptrunk tige une la tiges des les
_E7469C4D9B5A0C9D PLeaves1 feuille une la feuilles des les
_E7469C4DDB5A0C9D PLeaves2 feuille une la feuilles des les
_C3EE9906771FB524 PLowerTrunk tige inférieure une la tiges inférieures des les
_DFA67A5CC7DECDE6 PVisibleRoots racine visible une la racines visibles des les

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name p description prp
_ACB9BC721BA65099 HHead голове головы по
_278A7C5D654814CD HChest грудь груди в
_A2D940906B29B889 HArms предплечью предплечья по
_B1CAFC85DB767C9C HHands руке руки по
_20A8389BAC987C9F HLegs ноге ноги по
_E18820962C586494 HFeet ступне ступни по
_ACB9BC7B1B375099 QHead голове головы по
_E80BB4A21A9838B5 QBody туловище туловища в
_C96F0919D2F8DC71 QFrontPaws передней лапе передние лапы по
_08A1A8FEABC3CD11 QFrontHooves передней ноге передние ноги по
_23B95F02A87957B0 QRearPaws задней лапе задние лапы по
_D880990C5BE9DCB7 QRearHooves задней ноге задние ноги по
_2836645DDE8874AD LKHead голове головы по
_ED86C05FE298A4B9 LKBody туловище туловища по
_39BFC0EBE486B512 LKFrontPaws1 передней лапе передние лапы по
_79BFC0EBE486B512 LKFrontPaws2 передней лапе передние лапы по
_D92BB508D8F884A6 LKRearPaws1 задней лапе задние лапы по
_D93BB508D8F884A6 LKRearPaws2 задняя лапе задние лапы по
_283664575C8874AD FKHead голове головы по
_ED86C0596098A4B9 FKBody туловище туловища в
_DBBA7473640310B0 FKPaws1 лапе лапы по
_1BBA7473641310B0 FKPaws2 ноге ноги по
_66B6A47A4A7ADCC2 FKWings1 крылу крылья по
_66B6A47ACA7ADCC2 FKWings2 крылу крылья по
_ACB9BC701B865099 FHead голове головы по
_E80BB4971AE738B5 FBody туловище туловища в
_C40D15A82A36DF2C FFrontFins1 переднему плавнику передние плавники по
_C41D15A82A36DF2C FFrontFins2 переднему плавнику передние плавники по
_67B624EBAAF630A4 FRearFins1 заднему плавнику задние плавники по
_67B628EBAAF630A4 FRearFins2 заднему плавнику задние плавники по
_ACB9BC6C1B465099 BHead голове головы по
_E80BB4931AA738B5 BBody туловище туловища в
_25897F8F25594780 BFeet1 ноге ноги по
_2589838F25594B80 BFeet2 ноге ноги по
_2C68746BA436D3C2 BWings1 крылу крылья по
_2C68746BA446D7C2 BWings2 крылу крылья по
_8061E6E18C3EA521 PUpperTrunk верху стебля верхние стебли по
_ECEA3087A666CCC3 Ptrunk стеблю стебли по
_E7469C4D9B5A0C9D PLeaves1 листу листья по
_E7469C4DDB5A0C9D PLeaves2 листу листья по
_C3EE9906771FB524 PLowerTrunk низу стебля нижние стебли по
_DFA67A5CC7DECDE6 PVisibleRoots корень корни в

View file

@ -0,0 +1,43 @@
*HASH_VALUE bodypartID name ia da p pia pda description
_ACB9BC721BA65099 HHead head an the heads the
_278A7C5D654814CD HChest chest a the chests the
_A2D940906B29B889 HArms arms the arms the
_B1CAFC85DB767C9C HHands hands the hands the
_20A8389BAC987C9F HLegs legs the legs the
_E18820962C586494 HFeet feet the feet the
_ACB9BC7B1B375099 QHead head an the heads the
_E80BB4A21A9838B5 QBody body a the bodies the
_C96F0919D2F8DC71 QFrontPaws front legs the front legs the
_08A1A8FEABC3CD11 QFrontHooves front legs the front legs the
_23B95F02A87957B0 QRearPaws rear legs the rear legs the
_D880990C5BE9DCB7 QRearHooves rear legs the rear legs the
_2836645DDE8874AD LKHead head an the heads the
_ED86C05FE298A4B9 LKBody body a the bodies the
_39BFC0EBE486B512 LKFrontPaws1 front legs the front legs the
_79BFC0EBE486B512 LKFrontPaws2 front legs the front legs the
_D92BB508D8F884A6 LKRearPaws1 rear legs the rear legs the
_D93BB508D8F884A6 LKRearPaws2 rear legs the rear legs the
_283664575C8874AD FKHead head an the heads the
_ED86C0596098A4B9 FKBody body a the bodies the
_DBBA7473640310B0 FKPaws1 legs the legs the
_1BBA7473641310B0 FKPaws2 legs the legs the
_66B6A47A4A7ADCC2 FKWings1 wings the wings the
_66B6A47ACA7ADCC2 FKWings2 wings the wings the
_ACB9BC701B865099 FHead head an the heads the
_E80BB4971AE738B5 FBody body a the bodies the
_C40D15A82A36DF2C FFrontFins1 front fins the front fins the
_C41D15A82A36DF2C FFrontFins2 front fins the front fins the
_67B624EBAAF630A4 FRearFins1 rear fins the rear fins the
_67B628EBAAF630A4 FRearFins2 rear fins the rear fins the
_ACB9BC6C1B465099 BHead head an the heads the
_E80BB4931AA738B5 BBody body a the bodies the
_25897F8F25594780 BFeet1 feet the feet the
_2589838F25594B80 BFeet2 feet the feet the
_2C68746BA436D3C2 BWings1 wings the wings the
_2C68746BA446D7C2 BWings2 wings the wings the
_CCD189BCC86AD11B PUpperTrunk Upper Trunk an the Upper Trunks the
_F1EA0CAEA90BB4B5 Ptrunk Trunk a the Trunks the
_60C70C89DC1C7CB6 PLeaves1 Leaf a the Leaves the
_60C70C891C1C7CB6 PLeaves2 Leaf a the Leaves the
_0CAF41BCC86AED1A PLowerTrunk Lower Trunk a the Lower Trunks the
_DFA6C25CC7DECDE6 PVisibleRoots Visible Root a the Visible Roots the

View file

@ -0,0 +1,9 @@
*HASH_VALUE career ID name named * noms français ia da p pd pia pda
_1700C956C37FB64F MeleeFighter Nahkämpfer Nahkämpfer Combattant Contact ein der Nahkämpfer die die
_9720B95DC35FBA54 RangeFighter Fernkämpfer Fernkämpfer Combattant Distance ein der Fernkämpfer die die
_D32171700AD23D57 AttackCaster Kampfmagier Kampfmagier Caster Attaque ein der Kampfmagier die die
_9A511D668371AE04 BufferCaster Schutzmagier Schutzmagier Caster Buffer ein der Schutzmagier die die
_1C01F56701816E0A HealerCaster Heiler Heiler Caster Healer ein der Heiler die die
_A6473C7A6A380099 Ranger Ranger Ranger Ranger ein der Ranger die die
_EA665D00EAE788B3 Shopkeeper Händler Händler Marchand ein der Händler die die
_2D28B08D636AEC9E Artisan Handwerker Handwerker Crafter ein der Handwerker die die

View file

@ -0,0 +1,9 @@
*HASH_VALUE career ID name * noms français ia da p pia pda
_1700C956C37FB64F MeleeFighter Melee Fighter Combattant Contact a the Melee Fighters the
_9720B95DC35FBA54 RangeFighter Range Fighter Combattant Distance a the Range Fighters the
_D32171700AD23D57 AttackCaster Attack Caster Caster Attaque an the Attack Casters the
_9A511D668371AE04 BufferCaster Buffer Caster Caster Buffer a the Buffer Casters the
_1C01F56701816E0A HealerCaster Healer Caster Caster Healer a the Healer Casters the
_A6473C7A6A380099 Ranger Ranger Ranger a the Rangers the
_EA665D00EAE788B3 Shopkeeper Merchant Marchand a the Merchants the
_2D28B08D636AEC9E Artisan Crafter Crafter a the Crafters the

View file

@ -0,0 +1,9 @@
*HASH_VALUE career ID name * noms français ia da p pia pda
_1700C956C37FB64F MeleeFighter Luchador Cuerpo a Cuerpo Combattant Contact un el Luchadores Cuerpo a Cuerpo unos los
_9720B95DC35FBA54 RangeFighter Luchador a Distancia Combattant Distance un el Luchadores a Distancia unos los
_D32171700AD23D57 AttackCaster Lanzador de Ataque Caster Attaque un el Lanzadores de Ataque unos los
_9A511D668371AE04 BufferCaster Lanzador de Defensa Caster Buffer un el Lanzadores de Defensa unos los
_1C01F56701816E0A HealerCaster Sanador Caster Healer un el Sanadores unos los
_A6473C7A6A380099 Ranger Ranger un el Rangers unos los
_EA665D00EAE788B3 Shopkeeper Tendero un el Tenderos unos los
_2D28B08D636AEC9E Artisan Artesano un el Artesanos unos los

View file

@ -0,0 +1,9 @@
*HASH_VALUE career ID name * noms français ia da p pia pda
_1700C956C37FB64F MeleeFighter Combattant de mêlée Combattant Contact un le Combattants de mêlée des les
_9720B95DC35FBA54 RangeFighter Combattant à distance Combattant Distance un le Combattants à distance des les
_D32171700AD23D57 AttackCaster Mage offensif Mage Attaque un le Mages offensifs des les
_9A511D668371AE04 BufferCaster Mage protecteur Mage Protection un le Mages protecteurs des les
_1C01F56701816E0A HealerCaster Guérisseur Guérisseur un le Guérisseurs des les
_A6473C7A6A380099 Ranger Récolteur Ranger un le Récolteurs des les
_EA665D00EAE788B3 Shopkeeper Marchand Marchand un le Marchands des les
_2D28B08D636AEC9E Artisan Artisan Artisan un l'\d Artisans des les

View file

@ -0,0 +1,9 @@
*HASH_VALUE career ID name * noms français p
_1700C956C37FB64F MeleeFighter Боец ближнего боя Combattant Contact Бойцы ближнего боя
_9720B95DC35FBA54 RangeFighter Боец дальнего боя Combattant Distance Бойцы дальнего боя
_D32171700AD23D57 AttackCaster Боевой маг Caster Attaque Боевые маги
_9A511D668371AE04 BufferCaster Маг поддержки Caster Buffer Маги поддержки
_1C01F56701816E0A HealerCaster Целитель Caster Healer Целители
_A6473C7A6A380099 Ranger Охотник Ranger Охотники
_EA665D00EAE788B3 Shopkeeper Торговец Marchand Торговцы
_2D28B08D636AEC9E Artisan Ремесленник Crafter Ремесленники

Some files were not shown because too many files have changed in this diff Show more