diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index f9fe1c9..92c7611 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -118,6 +118,7 @@ void Human::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data part_data->set_object_type(ET_Player); cs::MFPlayerPart* p = part_data->mutable_union_obj_1(); p->set_obj_uniid(GetEntityUniId()); + p->set_speed(GetSpeed()); TypeConvert::ToPb(GetPos(), p->mutable_pos()); TypeConvert::ToPb(attack_dir, p->mutable_dir()); } @@ -161,6 +162,7 @@ void Human::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data p->set_disconnected(disconnected); p->set_anim_type(anim_type); p->set_anim_seq(anim_seq); + p->set_speed(GetSpeed()); for (auto itr : skins) { auto skin = p->add_skin(); itr.ToPB(skin); diff --git a/server/gameserver/human.h b/server/gameserver/human.h index 46ad98c..bc18a4c 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -348,6 +348,7 @@ private: Entity* last_collision_door_ = nullptr; long long jump_frameno_ = 0; + float old_sync_speed = 0; friend class FrameMaker; friend class FrameEvent; diff --git a/server/tools/protobuild/cs_proto.proto b/server/tools/protobuild/cs_proto.proto index b502753..967bb13 100755 --- a/server/tools/protobuild/cs_proto.proto +++ b/server/tools/protobuild/cs_proto.proto @@ -191,6 +191,7 @@ message MFPlayerPart optional int32 obj_uniid = 1; //唯一id optional MFVec2 pos = 2; //位置 optional MFVec2 dir = 3; //朝向 + optional float speed = 4; //速度 } //玩家信息-全量 @@ -241,6 +242,7 @@ message MFPlayerFull //一下字段只有僵尸模式才有效 optional int32 charid = 44; //人物id + optional float speed = 45; //速度 optional string user_data = 60 [default = ""]; //用户自定义数据 }