Browse Source

【BUG】解决玩家复活时,无法将类型"sting"隐式转换为"int"的报错

johnclot69 1 year ago
parent
commit
12e47e584c

+ 0 - 1
DotNet/Hotfix/Scenes/Game/Map/MapEventComponentSystem.cs

@@ -110,7 +110,6 @@ namespace ET.Server
                     }
 
                     unitPlayer.AddComponent<PlayerReliveTimeComponent, WNPlayer>(unitPlayer);
-                    unitPlayer.GetComponent<PlayerReliveTimeComponent>().ReliveTime = TimeHelper.ClientNowSeconds() + 5;
 
                     break;
                 case 2:

+ 2 - 2
DotNet/Hotfix/Scenes/Game/Map/MapSystem.cs

@@ -192,8 +192,8 @@ namespace ET.Server
             jsonObject.Add("type", (int)type);
             jsonObject.Add("qty", 0);
             jsonObject.Add("itemType", "diamond");
-            jsonObject.Add("hp", "88888");
-            jsonObject.Add("mp", "0");
+            jsonObject.Add("hp", 8);
+            jsonObject.Add("mp", 0);
             return JsonConvert.SerializeObject(jsonObject, Formatting.Indented);
         }
     }

+ 7 - 3
DotNet/Hotfix/Scenes/Game/Player/PlayerReliveTimeComponentSystem.cs

@@ -1,4 +1,6 @@
-namespace ET.Server
+using System;
+
+namespace ET.Server
 {
     [FriendOf(typeof (PlayerReliveTimeComponent))]
     public static class PlayerReliveTimeComponentSystem
@@ -8,6 +10,7 @@
             protected override void Awake(PlayerReliveTimeComponent self, WNPlayer player)
             {
                 Log.Info($"创建玩家复活倒计时组件...");
+                self.ReliveTime = TimeHelper.ServerNow() + 5000;
                 self.Player = player;
             }
         }
@@ -16,7 +19,7 @@
         {
             protected override void Update(PlayerReliveTimeComponent self)
             {
-                if (!(TimeHelper.ClientNowSeconds() - self.ReliveTime > 5) || self.ReliveTime == 0)
+                if (!(TimeHelper.ServerNow() - self.ReliveTime > 5000) || self.ReliveTime == 0)
                 {
                     return;
                 }
@@ -25,8 +28,9 @@
                 self.ReliveTime = 0;
 
                 // 复活
-                self.Player.GetXmdsManager().revivePlayer(self.Player.GetId().ToString(), self.Player.Map.ReliveData(ReliveType.BORN));
+                self.Player.GetXmdsManager().revivePlayer(self.Player.GetId().ToString(), self.Player.Map.ReliveData(ReliveType.NOW));
 
+                // 复活后销毁组件
                 self.Dispose();
             }
         }

+ 2 - 2
DotNet/Hotfix/Scenes/Game/Player/PlayerSystem.cs

@@ -207,9 +207,9 @@ namespace ET.Server
             {
                 effects = new
                 {
-                    MaxHP = 99999,
+                    MaxHP = 9,
                     HPPer = 1,
-                    HP = 88888,
+                    HP = 8,
                     Attack = 20,
                     AttackPer = 100,
                     MoveSpeed = 5,