From 6a30ba33755c92c4e9bba58b73d762828a9b9a6d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 6 May 2019 19:53:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/human.cc | 5 +++++ server/gameserver/human.h | 1 + server/gameserver/player.cc | 5 +++++ server/tools/protobuild/metatable.proto | 1 + 4 files changed, 12 insertions(+) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index a672638..b865f8b 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -55,6 +55,11 @@ float Human::GetSpeed() return meta->i->move_speed() + buff.speed; } +float Human::GetSpeed4() +{ + return meta->i->move_speed4(); +} + void Human::FillMFObjectPart(cs::MFObjectPart* part_data) { part_data->set_object_type(ET_Player); diff --git a/server/gameserver/human.h b/server/gameserver/human.h index 0fe2546..6b9a801 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -106,6 +106,7 @@ class Human : public Entity virtual ~Human() override; virtual void Initialize() override; virtual float GetSpeed() override; + virtual float GetSpeed4(); virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override; virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override; virtual ColliderComponent* GetBoxBound() override; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 2c85fd0..1a8b16e 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -118,10 +118,15 @@ void Player::UpdateMove() pos = pos + move_dir; if (IsCollision()) { pos = old_pos; + #if 1 + FindPath(); + i += 1; + #else if (i == 0) { FindPath(); } break; + #endif } move_ok = true; } diff --git a/server/tools/protobuild/metatable.proto b/server/tools/protobuild/metatable.proto index 28aa816..57e7784 100755 --- a/server/tools/protobuild/metatable.proto +++ b/server/tools/protobuild/metatable.proto @@ -88,6 +88,7 @@ message Player optional float radius = 2; //半径 optional int32 health = 3; //初始血量 optional int32 move_speed = 4; //移动速度 + optional int32 move_speed4 = 10; //移动速度4 optional float def = 5; //防御 optional string volume = 6; //初始库存 }