diff --git a/server/tools/protobuild/cs_msgid.proto b/server/tools/protobuild/cs_msgid.proto index 92db739..7f83e33 100644 --- a/server/tools/protobuild/cs_msgid.proto +++ b/server/tools/protobuild/cs_msgid.proto @@ -13,7 +13,7 @@ enum CMMessageId_e enum SMMessageId_e { - _SMLoginSsetTimeSpeed = 0x042; + _SMLoginSetTimeSpeed = 0x042; _SMNameQueryResponse = 0x051; _SMFriendList = 0x067; _SMIgnoreList = 0x06B; @@ -30,7 +30,7 @@ enum SMMessageId_e _SMSpellGo = 0x132; _SMUpdateAuraDuration = 0x137; _SMBindPointUpdate = 0x155; - _SMCompressedUupdateObject = 0x1F6; + _SMCompressedUpdateObject = 0x1F6; _SMAccountDataTimes = 0x209; _SMLoginVerifyWorld = 0x236; _SMSetRestStart = 0x21E; diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index 0759e8a..adc6f52 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -44,6 +44,81 @@ message MFPlayerInfo optional int32 reserve2 = 31 [(fixed_len) = 1]; } +message MFFriend +{ + optional int64 guid = 1; + optional uint32 status = 2 [(fixed_len) = 1]; + //xxxx + optional uint32 area = 3; + optional uint32 level = 4; + optional uint32 _class = 5; +} + +message MFSpellCastTarget +{ + optional uint32 target_mask = 1 [(fixed_len) = 2]; + + //xx + optional int64 xx1_pack_guid = 2; + optional uint32 xx1_r1 = 3 [(fixed_len) = 1]; + optional int64 xx2_pack_guid = 4; + optional uint32 xx2_r1 = 5 [(fixed_len) = 1]; + optional int64 xx3_pack_guid = 6; + optional uint32 xx3_r1 = 7 [(fixed_len) = 1]; + optional int64 xx4_pack_guid = 8; + optional uint32 xx4_r1 = 9 [(fixed_len) = 1]; + + //xx + optional float src_x = 10; + optional float src_y = 11; + optional float src_z = 12; + optional float dest_x = 13; + optional float dest_y = 14; + optional float dest_z = 15; + + optional string str_target = 20; + + //zzzz +} + +//end mfmsg + +message MFAbsent +{ + optional uint32 x1 = 1 [(fixed_len) = 1]; //0 + optional uint32 x2 = 2; //0 +} + +message MFEncountered +{ + repeated MFAbsent absent = 1; + optional uint32 flags = 2 [(fixed_len) = 1]; + optional uint32 standing = 3; //0 +} + +message MFVec3 +{ + optional float x = 1; + optional float y = 2; + optional float z = 3; +} + +message MFSpell +{ + optional uint32 spell_id = 1 [(fixed_len) = 2]; + optional uint32 spell_slot = 2; +} + +message MFSpellCoolDown +{ + optional uint32 spell_id = 1 [(fixed_len) = 2]; + optional uint32 spell_itemid = 2 [(fixed_len) = 2]; + optional uint32 spell_category = 3 [(fixed_len) = 2]; + + optional uint32 spell_cooldown = 4; + optional uint32 category_cooldown = 5; +} + message SMAuthChallenge { optional uint32 seed = 1; @@ -76,3 +151,224 @@ message SMCharEnum optional int32 char_num = 1 [(fixed_len) = 1]; repeated MFPlayerInfo char_list = 2; } + +message CMPlayerLogin +{ + optional int64 player_guid = 1; + +} + +message CMNameQuery +{ + optional int64 player_guid = 1; +} + +message CMUpdateAccountData +{ + +} + +message CMSetActiveMover +{ + optional int64 player_guid = 1; +} + + +message SMLoginSetTimeSpeed +{ + optional uint32 game_time1 = 1; + optional float game_time2 = 2; +} + +message SMNameQueryResponse +{ + optional int64 guid = 1; + optional string name = 2; + optional int32 reserve1 = 3 [(fixed_len) = 1]; + optional uint32 race = 4; + optional uint32 gender = 5; + optional uint32 _class = 6; +} + +message SMFriendList +{ + optional int32 size = 1 [(fixed_len) = 1]; + repeated MFFriend friends = 2; +} + +message SMIgnoreList +{ + optional int32 size = 1 [(fixed_len) = 1]; + repeated int64 friends = 2; +} + +message SMMonsterMove +{ + optional int64 pack_guid = 1; + optional MFVec3 point = 2; + optional int32 id = 3; + //xxxx WriteCommonMonsterMovePart + optional uint32 move_state = 4 [(fixed_len) = 1]; + optional int64 facing_target = 5; + optional int64 facing_angle = 6; + optional MFVec3 facing_point = 7; + + optional uint32 spline_flags = 8; + optional uint32 spline_duration = 9; + + //xxx WriteCatmullRomCyclicPath + optional uint32 xx1_count = 10; + optional MFVec3 xx1_point = 11; + repeated MFVec3 xx1_points = 12; + + //xxx WriteCatmullRomPath + optional uint32 xx2_count = 13; + repeated MFVec3 xx2_points = 14; + + //xxx WriteLinearPath + optional uint32 xx3_path_size = 15; + optional MFVec3 xx2_destination = 16; + repeated MFVec3 xx2_paths = 17; +} + +message SMMessageChat +{ + optional uint32 msg_type = 1 [(fixed_len) = 1]; + optional uint32 language = 2; + + //xxx + optional uint32 xx1_sender_name_len = 3; + optional string xx1_sender_name = 4; + optional int64 xx1_target_guid = 5; + + //xxx + optional int64 xx2_sender_guid1 = 6; + optional int64 xx2_sender_guid2 = 7; + + //xxx + optional int64 xx3_sender_guid = 8; + optional uint32 xx3_sender_name_len = 9; + optional string xx3_sender_name = 10; + optional int64 xx3_target_guid = 11; + + //xxx + optional string xx4_channel_name = 12; + optional uint32 xx4_player_rank = 13; + optional int64 xx4_sender_guid = 14; + + //xxx + optional int64 xx5_sender_guid = 15; + + optional uint32 message_len = 16; + optional string message_str = 17; + optional uint32 chat_tag = 18 [(fixed_len) = 1]; +} + +message SMTutorialFlags +{ + repeated uint32 tutorials = 1 [(fixed_len) = 8]; +} + +message SMInitializeFactions +{ + optional uint32 reserve = 1; //0x00000040 + repeated MFEncountered x1 = 2; + repeated MFAbsent x2 = 3; +} + +message SMSetProficiency +{ + optional uint32 item_class = 1 [(fixed_len) = 1]; + optional uint32 item_subclass_mask = 2; +} + +message SMActionButtons +{ + repeated uint32 action_buttons = 1; +} + +message SMInitialSpells +{ + optional uint32 xx1 = 1 [(fixed_len) = 1]; + optional uint32 spell_count = 2; + repeated MFSpell spells = 3; + repeated MFSpellCoolDown spells_cool_down = 4; +} + +message SMSpellGo +{ + optional int64 pack_guid = 1; + optional int64 pack_guid2 = 2; + + optional uint32 spell_id = 3; + optional uint32 cast_flags = 4 [(fixed_len) = 1]; + + optional uint32 xx1_size = 5 [(fixed_len) = 1]; + repeated int64 target_guids = 6; + repeated int64 target_go_guids = 7; + optional uint32 xx2_unkonw = 8 [(fixed_len) = 1]; + + // repeated MFSpellCastTarget +} + +message SMUpdateAuraDuration +{ + optional uint32 aura_slot = 1 [(fixed_len) = 1]; + optional uint32 aura_duration = 2; +} + +message SMBindPointUpdate +{ + optional float home_bindx = 1; + optional float home_bindy = 2; + optional float home_bindz = 3; + optional uint32 home_bind_mapid = 4; + optional uint32 home_bind_areaid = 5; +} + +message SMCompressedUpdateObject +{ + //zzzz +} + +message SMAccountDataTimes +{ + repeated uint32 times = 1 [(fixed_len) = 32]; +} + +message SMLoginVerifyWorld +{ + optional float map_id = 1; + optional float x = 2; + optional float y = 3; + optional float z = 4; + optional float orientation = 5; +} + +message SMSetRestStart +{ + optional uint32 u1 = 1; +} + +message SMSpellLogExecute +{ + optional uint32 spell_id = 1; + optional int64 guid = 2; + optional uint32 u1 = 3 [(fixed_len) = 1]; + + optional int64 target_count = 4; + optional int64 target_guid = 5; + optional uint32 miss_info = 6 [(fixed_len) = 1]; + + //xxx + optional float u2 = 7; + optional float u3 = 8; +} + +message SMInitWorldStates +{ + optional uint32 mapid = 1; + optional uint32 zoneid = 2; + + optional uint32 u1 = 3 [(fixed_len) = 2]; +}