From b923772dbfdb2c5a5a7b42190bac092098ec82a1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:32 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(修复GM命令增加虚拟玩家数据时可能导致多次结算bug)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py
index 019ac6e..8cec51f 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerLove.py
@@ -778,6 +778,10 @@
     tagPlayerID = dataMsg[0]
     playerID = curPlayer.GetPlayerID()
     
+    if not PlayerControl.GetDBPlayerAccIDByID(tagPlayerID):
+        PlayerControl.NotifyCode(curPlayer, "NoInDBPlayer")
+        return
+        
     # 黑名单检查
     if PyDataManager.GetBlacklistManager().CheckBlacklistBoth(playerID, tagPlayerID, curPlayer):
         return
@@ -796,8 +800,8 @@
     if not ipyData:
         return
     
-    addCharmSelf = ipyData.GetAddCharmSelf() * giftCount
-    addCharmTag = ipyData.GetAddCharmTag() * giftCount
+    addCharmSelf = int(ipyData.GetAddCharmSelf() * giftCount)
+    addCharmTag = int(ipyData.GetAddCharmTag() * giftCount)
     addIntimacy = ipyData.GetAddIntimacy() * giftCount
     worldNotifyKey = ipyData.GetWorldNotifyKey()
     
@@ -857,6 +861,10 @@
     
     playerID = curPlayer.GetPlayerID()
     
+    if not PlayerControl.GetDBPlayerAccIDByID(tagPlayerID):
+        PlayerControl.NotifyCode(curPlayer, "NoInDBPlayer")
+        return
+    
     # 黑名单检查
     if PyDataManager.GetBlacklistManager().CheckBlacklistBoth(playerID, tagPlayerID, curPlayer):
         return
@@ -910,6 +918,10 @@
             GameWorld.Log("已成亲伴侣ID不一致,无法提亲! tagPlayerID(%s) != coupleID(%s)" % (tagPlayerID, coupleID), playerID)
             return
         
+        if couple.GetBreakRequestID():
+            PlayerControl.NotifyCode(curPlayer, "LimitByMarryBroke") # 和离中无法操作
+            return
+        
         ipyData = IpyGameDataPY.GetIpyGameData("Marry", bridePriceID)
         if not ipyData:
             return

--
Gitblit v1.8.0