diff --git a/src/lang/id/pw-api-messages.php b/src/lang/id/pw-api-messages.php new file mode 100644 index 0000000..77faeaf --- /dev/null +++ b/src/lang/id/pw-api-messages.php @@ -0,0 +1,22 @@ + + * @link https://www.hrace009.com + * @copyright Copyright (c) 2020. + */ + +return [ + + /* + |-------------------------------------------------------------------------- + | PW API Language Lines + |-------------------------------------------------------------------------- + | + | The following language lines are in this package. + | + */ + + 'server_connect_failed' => 'Server sedang offline, system tidak bisa memproses permintaan anda', + 'no_version' => 'Saat ini tidak ada file protokol untuk versi (:version).' + +]; diff --git a/src/protocols/pw_v145.php b/src/protocols/pw_v145.php new file mode 100644 index 0000000..5ad7edd --- /dev/null +++ b/src/protocols/pw_v145.php @@ -0,0 +1,522 @@ + array( + 'getUserRoles' => 3401, + 'getRole' => 8003, + 'putRole' => 8002, + 'getUser' => 3002, + 'getRoleStatus' => 3015, + 'getRoleBase' => 3013, + 'getRoleInventory' => 3053, + 'getRoleEquipment' => 3017, + 'getRoleStoreHouse' => 3027, + 'getRoleTask' => 3019, + 'sendMail' => 4214, + 'territoryWar' => 873, + 'worldChat' => 120, + 'forbidAcc' => 5035, + 'forbidRole' => 360, + 'muteAcc' => 362, + 'muteRole' => 356, + 'getRoleid' => 3033, + 'renameRole' => 3404, + 'getTerritory' => 863, + 'getRoleFriend' => 201, + 'AddFaction' => 4600, + 'DelFaction' => 4601, + 'getFactionInfo' => 4606, + 'getUserFaction' => 4607, + 'getFactionDetail' => 4608, + 'FactionUpgrade' => 4610, + 'GFactionFortressDetail' => 4404, + 'GetCashTotal' => 3058, + ), + 'role' => array( + 'base' => array( + 'version' => 'byte', + 'id' => 'int', + 'name' => 'name', + 'race' => 'int', + 'cls' => 'int', + 'gender' => 'byte', + 'custom_data' => 'octets', + 'config_data' => 'octets', + 'custom_stamp' => 'int', + 'status' => 'byte', + 'delete_time' => 'int', + 'create_time' => 'int', + 'lastlogin_time' => 'int', + 'forbidcount' => 'cuint', + 'forbid' => array( + 'type' => 'byte', + 'time' => 'int', + 'createtime' => 'int', + 'reason' => 'name', + ), + 'help_states' => 'octets', + 'spouse' => 'int', + 'userid' => 'int', + 'cross_data' => 'octets', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + 'reserved4' => 'byte', + ), + 'status' => array( + 'sversion' => 'byte', + 'level' => 'int', + 'level2' => 'int', + 'exp' => 'int', + 'sp' => 'int', + 'pp' => 'int', + 'hp' => 'int', + 'mp' => 'int', + 'posx' => 'float', + 'posy' => 'float', + 'posz' => 'float', + 'worldtag' => 'int', + 'invader_state' => 'int', + 'invader_time' => 'int', + 'pariah_time' => 'int', + 'reputation' => 'int', + 'custom_status' => 'octets', + 'filter_data' => 'octets', + 'charactermode' => 'octets', + 'instancekeylist' => 'octets', + 'dbltime_expire' => 'int', + 'dbltime_mode' => 'int', + 'dbltime_begin' => 'int', + 'dbltime_used' => 'int', + 'dbltime_max' => 'int', + 'time_used' => 'int', + 'dbltime_data' => 'octets', + 'storesize' => 'short', + 'petcorral' => 'octets', + 'property' => 'octets', + 'var_data' => 'octets', + 'skills' => 'octets', + 'storehousepasswd' => 'octets', + 'waypointlist' => 'octets', + 'coolingtime' => 'octets', + 'npc_relation' => 'octets', + 'multi_exp_ctrl' => 'octets', + 'storage_task' => 'octets', + 'faction_contrib' => 'octets', + 'force_data' => 'octets', + 'online_award' => 'octets', + 'profit_time_data' => 'octets', + 'country_data' => 'octets', + 'king_data' => 'octets', + 'meridian_data' => 'octets', + 'extraprop' => 'octets', + 'title_data' => 'octets', + 'reincarnation_data' => 'octets', + 'realm_data' => 'octets', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + ), + 'pocket' => array( + 'icapacity' => 'int', + 'timestamp' => 'int', + 'money' => 'int', + 'invcount' => 'cuint', + 'inv' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'reserved6' => 'int', + 'reserved7' => 'int', + ), + 'equipment' => array( + 'eqpcount' => 'cuint', + 'eqp' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + ), + 'storehouse' => array( + 'capacity' => 'int', + 'money' => 'int', + 'storecount' => 'cuint', + 'store' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'size1' => 'byte', + 'size2' => 'byte', + 'dresscount' => 'cuint', + 'dress' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'materialcount' => 'cuint', + 'material' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'size3' => 'byte', + 'generalcardcount' => 'cuint', + 'generalcard' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'reserved' => 'short', + ), + 'task' => array( + 'task_data' => 'octets', + 'task_complete' => 'octets', + 'task_finishtime' => 'octets', + 'task_inventorycount' => 'cuint', + 'task_inventory' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + ), + ), + 'octet' => array( + 'var_data' => array( + 'version' => 'lint', + 'pk_count' => 'lint', + 'pvp_cooldown' => 'lint', + 'pvp_flag' => 'byte', + 'dead_flag' => 'byte', + 'is_drop' => 'byte', + 'resurrect_state' => 'byte', + 'resurrect_exp_reduce' => 'float', + 'instance_hash_key1' => 'lint', + 'instance_hash_key2' => 'lint', + 'trashbox_size' => 'lint', + 'last_instance_timestamp' => 'lint', + 'last_instance_tag' => 'lint', + 'last_instance_pos' => array( + 'x' => 'float', + 'y' => 'float', + 'z' => 'float', + ), + 'dir' => 'lint', + 'resurrect_hp_factor' => 'float', + 'resurrect_mp_factor' => 'float', + ), + 'property' => array( + 'id' => 'lint', + 'hp' => 'lint', + 'mp' => 'lint', + 'damage_low' => 'lint', + 'damage_high' => 'lint', + 'damage_magic_low' => 'lint', + 'damage_magic_high' => 'lint', + 'defense' => 'lint', + 'resistance' => array( + 1 => 'int', + 2 => 'int', + 3 => 'int', + 4 => 'int', + 5 => 'int' + ), + 'attack' => 'lint', + 'armor' => 'lint', + 'attack_speed' => 'lint', + 'run_speed' => 'lint', + 'attack_degree' => 'lint', + 'defend_degree' => 'lint', + 'damage_reduce' => 'lint', + 'prayspeed' => 'lint', + 'crit_damage_bonus' => 'lint', + 'invisible_degree' => 'lint', + 'anti_invisible_degree' => 'lint', + ), + 'force_data' => array( + 'cur_force_id' => 'int', + 'forcecount' => 'cuint', + 'force' => array( + 'force_id' => 'int', + 'reputation' => 'int', + 'contribution' => 'int', + ), + ), + 'faction_contrib' => array( + 'consume_contrib' => 'lint', + 'exp_contrib' => 'lint', + 'cumulate_contrib' => 'lint', + ), + 'title_data' => array( + 'cur_title_id' => 'lshort', + /*'titlecount' => 'cuint', + 'unk1' => 'lshort', + 'title' => array( + 'title_id' => 'short', + ),*/ + ), + ), + 'user' => array( + 'roles' => array( + 'count' => 'cuint', + 'roles' => array( + 'id' => 'int', + 'name' => 'name', + ) + ), + 'info' => array( + 'logicuid' => 'int', + 'rolelist' => 'int', + 'cash' => 'int', + 'money' => 'int', + 'cash_add' => 'int', + 'cash_buy' => 'int', + 'cash_sell' => 'int', + 'cash_used' => 'int', + 'add_serial' => 'int', + 'use_serial' => 'int', + 'exp_logcount' => 'cuint', + 'exg_log' => array( + 'tid' => 'int', + 'time' => 'int', + 'result' => 'short', + 'volume' => 'short', + 'cost' => 'int', + ), + 'addiction' => 'octets', + 'cash_password' => 'octets', + 'autolockcount' => 'cuint', + 'autolock' => array( + 'key' => 'int', + 'value' => 'int', + ), + 'status' => 'byte', + 'forbidcount' => 'cuint', + 'forbid' => array( + 'type' => 'byte', + 'time' => 'int', + 'createtime' => 'int', + 'reason' => 'name', + ), + 'reference' => 'octets', + 'consume_reward' => 'octets', + 'taskcounter' => 'octets', + 'cash_sysauction' => 'octets', + 'login_record' => 'octets', + 'mall_consumption' => 'octets', + 'reserved32' => 'short', + ), + ), + 'RoleList' => array( + 'localsid' => 'int', + 'handler' => 'int', + 'userscount' => 'cuint', + 'users' => array( + 'userid' => 'int', + 'roleid' => 'int', + 'linkid' => 'int', + 'localsid' => 'int', + 'gsid' => 'int', + 'status' => 'byte', + 'name' => 'name', + ), + ), + 'FriendList' => array( + 'groupinfocount' => 'cuint', + 'groupinfo' => array( + 'gid' => 'byte', + 'name' => 'name', + ), + 'friendinfocount' => 'cuint', + 'friendinfo' => array( + 'rid' => 'int', + 'cls' => 'byte', + 'gender' => 'byte', + 'name' => 'name' + ), + ), + 'FactionInfo' => array( + 'fid' => 'int', + 'name' => 'name', + 'level' => 'byte', + 'master' => array( + 'roleid' => 'int', + 'role' => 'byte', + ), + 'membercount' => 'cuint', + 'member' => array( + 'roleid' => 'int', + 'role' => 'byte', + ), + 'announce' => 'name', + 'sysinfo' => 'octets', + ), + 'FactionDetail' => array( + 'fid' => 'int', + 'name' => 'name', + 'level' => 'byte', + 'master' => 'int', + 'announce' => 'name', + 'sysinfo' => 'octets', + 'membercount' => 'cuint', + 'member' => array( + 'roleid' => 'int', + 'level' => 'byte', + 'occupation' => 'byte', + 'froleid' => 'byte', + 'login_day' => 'short', + 'online_status' => 'byte', + 'name' => 'name', + 'nickname' => 'name', + 'contrib' => 'int', + 'delayexpel' => 'byte', + 'expeltime' => 'int', + ), + 'last_op_time' => 'int', + 'alliancecount' => 'cuint', + 'alliance' => array( + 'fid' => 'int', + 'end_time' => 'int', + ), + 'hostilecount' => 'cuint', + 'hostile' => array( + 'fid' => 'int', + 'end_time' => 'int', + ), + 'applycount' => 'cuint', + 'apply' => array( + 'type' => 'int', + 'fid' => 'int', + 'end_time' => 'int', + ), + ), + 'RawRead' => array( + 'handle' => 'octets', + 'Rawcount' => 'cuint', + 'Raw' => array( + 'key' => 'octets', + 'value' => 'octets', + ) + ), + 'GTerritoryDetail' => array( + 'Territorycount' => 'cuint', + 'Territory' => array( + 'id' => 'short', + 'level' => 'short', + 'owner' => 'int', + 'occupy_time' => 'int', + 'challenger' => 'int', + 'deposit' => 'int', + 'cutoff_time' => 'int', + 'battle_time' => 'int', + 'bonus_time' => 'int', + 'color' => 'int', + 'status' => 'int', + 'timeout' => 'int', + 'maxbonus' => 'int', + 'challenge_time' => 'int', + 'challengerdetails' => 'octets', + 'reserved1' => 'byte', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + ), + ), + 'FactionFortressDetail' => array( + 'factionid' => 'int', + 'info' => array( + 'level' => 'int', + 'exp' => 'int', + 'exp_today' => 'int', + 'exp_today_time' => 'int', + 'tech_point' => 'int', + 'technology' => 'octets', + 'material' => 'octets', + 'building' => 'octets', + 'common_value' => 'octets', + 'actived_spawner' => 'octets', + 'reserved11' => 'byte', + 'reserved12' => 'short', + 'reserved2' => 'int', + 'reserved3' => 'int', + ), + 'info2' => array( + 'health' => 'int', + 'offense_faction' => 'int', + 'offense_starttime' => 'int', + 'offense_endtime' => 'int', + 'challenge_listcount' => 'cuint', + 'challenge_list' => array( + 'item' => 'int' + ), + 'reserved1' => 'int', + 'reserved2' => 'int', + 'reserved3' => 'int', + ), + 'reserved1' => 'int', + 'reserved2' => 'int', + 'reserved3' => 'int', + 'reserved4' => 'int', + 'reserved5' => 'int', + ), + 'getUserFaction' => array( + 'rid' => 'int', + 'name' => 'name', + 'fid' => 'int', + 'cls' => 'byte', + 'role' => 'byte', + 'delayexpel' => 'octets', + 'extend' => 'octets', + 'nickname' => 'name', + ), + 'getCashTotal' => array( + 'cash_total' => 'int' + ), +); \ No newline at end of file diff --git a/src/protocols/pw_v156.php b/src/protocols/pw_v156.php new file mode 100644 index 0000000..8140d00 --- /dev/null +++ b/src/protocols/pw_v156.php @@ -0,0 +1,524 @@ + array( + 'getUserRoles' => 3401, + 'getRole' => 8003, + 'putRole' => 8002, + 'getUser' => 3002, + 'getRoleStatus' => 3015, + 'getRoleBase' => 3013, + 'getRoleInventory' => 3053, + 'getRoleEquipment' => 3017, + 'getRoleStoreHouse' => 3027, + 'getRoleTask' => 3019, + 'sendMail' => 4214, + 'territoryWar' => 873, + 'worldChat' => 120, + 'forbidAcc' => 5035, + 'forbidRole' => 360, + 'muteAcc' => 362, + 'muteRole' => 356, + 'getRoleid' => 3033, + 'renameRole' => 3404, + 'getTerritory' => 863, + 'getRoleFriend' => 201, + 'AddFaction' => 4600, + 'DelFaction' => 4601, + 'getFactionInfo' => 4606, + 'getUserFaction' => 4607, + 'getFactionDetail' => 4608, + 'FactionUpgrade' => 4610, + 'GFactionFortressDetail' => 4404, + 'GetCashTotal' => 3058, + ), + 'role' => array( + 'base' => array( + 'version' => 'byte', + 'id' => 'int', + 'name' => 'name', + 'race' => 'int', + 'cls' => 'int', + 'gender' => 'byte', + 'custom_data' => 'octets', + 'config_data' => 'octets', + 'custom_stamp' => 'int', + 'status' => 'byte', + 'delete_time' => 'int', + 'create_time' => 'int', + 'lastlogin_time' => 'int', + 'forbidcount' => 'cuint', + 'forbid' => array( + 'type' => 'byte', + 'time' => 'int', + 'createtime' => 'int', + 'reason' => 'name', + ), + 'help_states' => 'octets', + 'spouse' => 'int', + 'userid' => 'int', + 'cross_data' => 'octets', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + 'reserved4' => 'byte', + ), + 'status' => array( + 'sversion' => 'byte', + 'level' => 'int', + 'level2' => 'int', + 'exp' => 'int', + 'sp' => 'int', + 'pp' => 'int', + 'hp' => 'int', + 'mp' => 'int', + 'posx' => 'float', + 'posy' => 'float', + 'posz' => 'float', + 'worldtag' => 'int', + 'invader_state' => 'int', + 'invader_time' => 'int', + 'pariah_time' => 'int', + 'reputation' => 'int', + 'custom_status' => 'octets', + 'filter_data' => 'octets', + 'charactermode' => 'octets', + 'instancekeylist' => 'octets', + 'dbltime_expire' => 'int', + 'dbltime_mode' => 'int', + 'dbltime_begin' => 'int', + 'dbltime_used' => 'int', + 'dbltime_max' => 'int', + 'time_used' => 'int', + 'dbltime_data' => 'octets', + 'storesize' => 'short', + 'petcorral' => 'octets', + 'property' => 'octets', + 'var_data' => 'octets', + 'skills' => 'octets', + 'storehousepasswd' => 'octets', + 'waypointlist' => 'octets', + 'coolingtime' => 'octets', + 'npc_relation' => 'octets', + 'multi_exp_ctrl' => 'octets', + 'storage_task' => 'octets', + 'faction_contrib' => 'octets', + 'force_data' => 'octets', + 'online_award' => 'octets', + 'profit_time_data' => 'octets', + 'country_data' => 'octets', + 'king_data' => 'octets', + 'meridian_data' => 'octets', + 'extraprop' => 'octets', + 'title_data' => 'octets', + 'reincarnation_data' => 'octets', + 'realm_data' => 'octets', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + ), + 'pocket' => array( + 'icapacity' => 'int', + 'timestamp' => 'int', + 'money' => 'int', + 'invcount' => 'cuint', + 'inv' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'reserved6' => 'int', + 'reserved7' => 'int', + ), + 'equipment' => array( + 'eqpcount' => 'cuint', + 'eqp' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + ), + 'storehouse' => array( + 'capacity' => 'int', + 'money' => 'int', + 'storecount' => 'cuint', + 'store' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'size1' => 'byte', + 'size2' => 'byte', + 'dresscount' => 'cuint', + 'dress' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'materialcount' => 'cuint', + 'material' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'size3' => 'byte', + 'generalcardcount' => 'cuint', + 'generalcard' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + 'reserved' => 'short', + ), + 'task' => array( + 'task_data' => 'octets', + 'task_complete' => 'octets', + 'task_finishtime' => 'octets', + 'task_inventorycount' => 'cuint', + 'task_inventory' => array( + 'id' => 'int', + 'pos' => 'int', + 'count' => 'int', + 'max_count' => 'int', + 'data' => 'octets', + 'proctype' => 'int', + 'expire_date' => 'int', + 'guid1' => 'int', + 'guid2' => 'int', + 'mask' => 'int' + ), + ), + ), + 'octet' => array( + 'var_data' => array( + 'version' => 'lint', + 'pk_count' => 'lint', + 'pvp_cooldown' => 'lint', + 'pvp_flag' => 'byte', + 'dead_flag' => 'byte', + 'is_drop' => 'byte', + 'resurrect_state' => 'byte', + 'resurrect_exp_reduce' => 'float', + 'instance_hash_key1' => 'lint', + 'instance_hash_key2' => 'lint', + 'trashbox_size' => 'lint', + 'last_instance_timestamp' => 'lint', + 'last_instance_tag' => 'lint', + 'last_instance_pos' => array( + 'x' => 'float', + 'y' => 'float', + 'z' => 'float', + ), + 'dir' => 'lint', + 'resurrect_hp_factor' => 'float', + 'resurrect_mp_factor' => 'float', + ), + 'property' => array( + 'id' => 'lint', + 'hp' => 'lint', + 'mp' => 'lint', + 'damage_low' => 'lint', + 'damage_high' => 'lint', + 'damage_magic_low' => 'lint', + 'damage_magic_high' => 'lint', + 'defense' => 'lint', + 'resistance' => array( + 1 => 'int', + 2 => 'int', + 3 => 'int', + 4 => 'int', + 5 => 'int' + ), + 'attack' => 'lint', + 'armor' => 'lint', + 'attack_speed' => 'lint', + 'run_speed' => 'lint', + 'attack_degree' => 'lint', + 'defend_degree' => 'lint', + 'damage_reduce' => 'lint', + 'prayspeed' => 'lint', + 'crit_damage_bonus' => 'lint', + 'invisible_degree' => 'lint', + 'anti_invisible_degree' => 'lint', + ), + 'force_data' => array( + 'cur_force_id' => 'int', + 'forcecount' => 'cuint', + 'force' => array( + 'force_id' => 'int', + 'reputation' => 'int', + 'contribution' => 'int', + ), + ), + 'faction_contrib' => array( + 'consume_contrib' => 'lint', + 'exp_contrib' => 'lint', + 'cumulate_contrib' => 'lint', + ), + 'title_data' => array( + 'cur_title_id' => 'lshort', + /*'titlecount' => 'cuint', + 'unk1' => 'lshort', + 'title' => array( + 'title_id' => 'short', + ),*/ + ), + ), + 'user' => array( + 'roles' => array( + 'count' => 'cuint', + 'roles' => array( + 'id' => 'int', + 'name' => 'name', + ) + ), + 'info' => array( + 'logicuid' => 'int', + 'rolelist' => 'int', + 'cash' => 'int', + 'money' => 'int', + 'cash_add' => 'int', + 'cash_buy' => 'int', + 'cash_sell' => 'int', + 'cash_used' => 'int', + 'add_serial' => 'int', + 'use_serial' => 'int', + 'exp_logcount' => 'cuint', + 'exg_log' => array( + 'tid' => 'int', + 'time' => 'int', + 'result' => 'short', + 'volume' => 'short', + 'cost' => 'int', + ), + 'addiction' => 'octets', + 'cash_password' => 'octets', + 'autolockcount' => 'cuint', + 'autolock' => array( + 'key' => 'int', + 'value' => 'int', + ), + 'status' => 'byte', + 'forbidcount' => 'cuint', + 'forbid' => array( + 'type' => 'byte', + 'time' => 'int', + 'createtime' => 'int', + 'reason' => 'name', + ), + 'reference' => 'octets', + 'consume_reward' => 'octets', + 'taskcounter' => 'octets', + 'cash_sysauction' => 'octets', + 'login_record' => 'octets', + 'mall_consumption' => 'octets', + 'reserved32' => 'short', + ), + ), + 'RoleList' => array( + 'localsid' => 'int', + 'handler' => 'int', + 'userscount' => 'cuint', + 'users' => array( + 'userid' => 'int', + 'roleid' => 'int', + 'linkid' => 'int', + 'localsid' => 'int', + 'gsid' => 'int', + 'status' => 'byte', + 'name' => 'name', + ), + ), + 'FriendList' => array( + 'groupinfocount' => 'cuint', + 'groupinfo' => array( + 'gid' => 'byte', + 'name' => 'name', + ), + 'friendinfocount' => 'cuint', + 'friendinfo' => array( + 'rid' => 'int', + 'cls' => 'byte', + 'gender' => 'byte', + 'name' => 'name' + ), + ), + 'FactionInfo' => array( + 'fid' => 'int', + 'name' => 'name', + 'level' => 'byte', + 'master' => array( + 'roleid' => 'int', + 'role' => 'byte', + ), + 'membercount' => 'cuint', + 'member' => array( + 'roleid' => 'int', + 'role' => 'byte', + ), + 'announce' => 'name', + 'sysinfo' => 'octets', + ), + 'FactionDetail' => array( + 'fid' => 'int', + 'name' => 'name', + 'level' => 'byte', + 'master' => 'int', + 'announce' => 'name', + 'sysinfo' => 'octets', + 'membercount' => 'cuint', + 'member' => array( + 'roleid' => 'int', + 'level' => 'byte', + 'occupation' => 'byte', + 'froleid' => 'byte', + 'login_day' => 'short', + 'online_status' => 'byte', + 'name' => 'name', + 'nickname' => 'name', + 'contrib' => 'int', + 'delayexpel' => 'byte', + 'expeltime' => 'int', + ), + 'last_op_time' => 'int', + 'alliancecount' => 'cuint', + 'alliance' => array( + 'fid' => 'int', + 'end_time' => 'int', + ), + 'hostilecount' => 'cuint', + 'hostile' => array( + 'fid' => 'int', + 'end_time' => 'int', + ), + 'applycount' => 'cuint', + 'apply' => array( + 'type' => 'int', + 'fid' => 'int', + 'end_time' => 'int', + ), + ), + 'RawRead' => array( + 'handle' => 'octets', + 'Rawcount' => 'cuint', + 'Raw' => array( + 'key' => 'octets', + 'value' => 'octets', + ) + ), + 'GTerritoryDetail' => array( + 'Territorycount' => 'cuint', + 'Territory' => array( + 'id' => 'short', + 'level' => 'short', + 'owner' => 'int', + 'occupy_time' => 'int', + 'challenger' => 'int', + 'deposit' => 'int', + 'cutoff_time' => 'int', + 'battle_time' => 'int', + 'bonus_time' => 'int', + 'color' => 'int', + 'status' => 'int', + 'timeout' => 'int', + 'maxbonus' => 'int', + 'challenge_time' => 'int', + 'challengerdetails' => 'octets', + 'reserved1' => 'byte', + 'reserved2' => 'byte', + 'reserved3' => 'byte', + ), + ), + 'FactionFortressDetail' => array( + 'factionid' => 'int', + 'info' => array( + 'level' => 'int', + 'exp' => 'int', + 'exp_today' => 'int', + 'exp_today_time' => 'int', + 'tech_point' => 'int', + 'technology' => 'octets', + 'material' => 'octets', + 'building' => 'octets', + 'common_value' => 'octets', + 'actived_spawner' => 'octets', + 'reserved11' => 'byte', + 'reserved12' => 'short', + 'reserved2' => 'int', + 'reserved3' => 'int', + ), + 'info2' => array( + 'health' => 'int', + 'offense_faction' => 'int', + 'offense_starttime' => 'int', + 'offense_endtime' => 'int', + 'challenge_listcount' => 'cuint', + 'challenge_list' => array( + 'item' => 'int' + ), + 'reserved1' => 'int', + 'reserved2' => 'int', + 'reserved3' => 'int', + ), + 'reserved1' => 'int', + 'reserved2' => 'int', + 'reserved3' => 'int', + 'reserved4' => 'int', + 'reserved5' => 'int', + ), + 'getUserFaction' => array( + 'rid' => 'int', + 'name' => 'name', + 'fid' => 'int', + 'cls' => 'byte', + 'role' => 'byte', + 'delayexpel' => 'octets', + 'extend' => 'octets', + 'nickname' => 'name', + ), + 'getCashTotal' => array( + 'cash_total' => 'int', + 'cash_vip_score_add' => 'int', + 'cash_vip_level' => 'int' + ), +); \ No newline at end of file