From 6acf456b7ae46d3d82c39f2e74ad119c4e680f1c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 2 Aug 2024 10:51:34 +0800 Subject: [PATCH] add skin --- server/gameserver/framemaker.cc | 2 ++ server/gameserver/pbutils.cc | 1 + server/gameserver/player.cc | 1 + server/tools/protobuild/cs_proto.proto | 4 ++++ 4 files changed, 8 insertions(+) diff --git a/server/gameserver/framemaker.cc b/server/gameserver/framemaker.cc index d31c72cb..81342440 100644 --- a/server/gameserver/framemaker.cc +++ b/server/gameserver/framemaker.cc @@ -627,6 +627,7 @@ void FrameMaker::SerializeVoices(cs::SMUpdate* msg, Room* room, Human* hum, Fram p->mutable_kill_info()->set_killer_uniid(hum->GetUniId()); p->mutable_kill_info()->set_killer_name(hum->GetName()); p->mutable_kill_info()->set_killer_hero_id(hum->GetHeroMeta()->id()); + p->mutable_kill_info()->set_killer_skin_id(hum->GetNetData()->GetSkinId()); } } if (v->dead_id) { @@ -635,6 +636,7 @@ void FrameMaker::SerializeVoices(cs::SMUpdate* msg, Room* room, Human* hum, Fram p->mutable_kill_info()->set_dead_uniid(hum->GetUniId()); p->mutable_kill_info()->set_dead_name(hum->GetName()); p->mutable_kill_info()->set_dead_hero_id(hum->GetHeroMeta()->id()); + p->mutable_skin_id()->set_dead_hero_id(hum->GetNetData()->GetSkinId()); } } #ifdef MYDEBUG diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index e0684b8c..934df047 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -974,6 +974,7 @@ void Human::FillMFTeamData(Human* hum, cs::MFTeamData* team_data, bool is_game_o team_data->set_hero_max_exp(GetHeroMaxExp()); team_data->set_score(stats->pve_rank_score); team_data->set_main_skill_cd(GetMainSkill()->GetLeftTime()); + team_data->set_skin_id(GetNetData()->GetSkinId()); if (is_game_over || !real_dead || room->GetFrameNo() - GetRealDeadFrameNo(room) < 4) { TypeConvert::ToPb(GetPos(), team_data->mutable_pos()); TypeConvert::ToPb(GetAttackDir(), team_data->mutable_dir()); diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 0c867914..cfa9d98b 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1839,6 +1839,7 @@ void Player::_CMGetSettlementTeamList(f8::MsgHdr* hdr, const cs::CMGetSettlement m->set_account_id(hum->account_id); m->set_name(hum->name); m->set_hero_id(hum->meta->id()); + m->set_skin_id(hum->GetNetData()->GetSkinId()); return true; }); ++team_rank; diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index e6aaf942..a7342b42 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -344,6 +344,7 @@ message MFSettlementMember2 optional string account_id = 2; //账号id optional string name = 3; //昵称 optional int32 hero_id = 4 [default = 0]; //英雄id + optional int32 skin_id = 5 [default = 0]; //皮肤id } //玩家信息-全量 @@ -729,6 +730,7 @@ message MFTeamData optional int32 hero_exp = 73; //hero经验 optional int32 hero_max_exp = 74; //hero max经验 optional int32 main_skill_cd = 80 [default = 0]; //技能cd时间 + optional int32 skin_id = 81 [default = 0]; //皮肤id(只同步一次) //一下字段只在结算的时候该字段才有内容 optional string account_id = 10; //账号id @@ -1558,10 +1560,12 @@ message MFInGameVoiceKillInfo optional int32 killer_uniid = 1; //凶手uniid optional string killer_name = 2; //凶手名字 optional int32 killer_hero_id = 3; //凶手hero_id + optional int32 killer_skin_id = 4; //凶手皮肤 optional int32 dead_uniid = 11; //死者uniid optional string dead_name = 12; //死者名字 optional int32 dead_hero_id = 13; //死者hero_id + optional int32 dead_skin_id = 14; //死者皮肤 } //游戏内语音