From abc9631ae22a6d2a2a3d84e884420310fde05aca Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 16 Apr 2021 16:39:00 +0800 Subject: [PATCH 1/4] 1 --- server/gameserver/global.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gameserver/global.cc b/server/gameserver/global.cc index 3131b8e..cc9682e 100755 --- a/server/gameserver/global.cc +++ b/server/gameserver/global.cc @@ -39,7 +39,7 @@ bool IsValidSlotId(int slot_id) bool IsValidBuffEffect(int buff_effect) { - return buff_effect > kBET_Begin && buff_effect < kBET_End; + return buff_effect > kBET_Begin && buff_effect < (kBET_End + 10); } bool IsValidHumanAttr(int attr_type) From a7218d9849426e3128cfa9b067169facdf007e3a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 19 Apr 2021 13:56:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=8B=E9=9B=B7=20?= =?UTF-8?q?=E6=AF=92=E6=B0=94=E5=BC=B9=E8=A1=94=E6=8E=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/creature.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 34e2983..0a08978 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1463,7 +1463,7 @@ Weapon* Creature::ChooseNextWeapon(int curr_weapon_slot_id, int begin_slot_id, i abort(); } Weapon* next_weapon = nullptr; - for (int i = 1; i <= (end_slot_id - begin_slot_id); ++i) { + for (int i = 1; i <= (end_slot_id - begin_slot_id + 1); ++i) { int slot_id = begin_slot_id + (i + curr_weapon_slot_id - begin_slot_id) % (end_slot_id - begin_slot_id + 1); int idx = -1; From c84e3b88ac4c6a16472e3a74f472e46674f68b2e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 21 Apr 2021 16:39:09 +0800 Subject: [PATCH 3/4] 1 --- server/gameserver/human.cc | 2 ++ server/gameserver/human.h | 1 + server/tools/protobuild/cs_proto.proto | 2 ++ 3 files changed, 5 insertions(+) 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 = ""]; //用户自定义数据 } From f154750b7b99fa04bb7bcb53cbefa75054e1bfde Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 21 Apr 2021 16:41:12 +0800 Subject: [PATCH 4/4] 1 --- server/gameserver/human.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 92c7611..da3d55d 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -118,7 +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()); + p->set_speed(GetSpeed() * SERVER_FRAME_RATE); TypeConvert::ToPb(GetPos(), p->mutable_pos()); TypeConvert::ToPb(attack_dir, p->mutable_dir()); } @@ -162,7 +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()); + p->set_speed(GetSpeed() * SERVER_FRAME_RATE); for (auto itr : skins) { auto skin = p->add_skin(); itr.ToPB(skin);