From 6feb3406bd4edf15e443f5d58f06229d5ee8733c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 24 十二月 2018 14:13:53 +0800
Subject: [PATCH] 5571 【1.4】集市物品卖出提示邮件新增VIP玩家模板
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py | 43 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
index 34fee3f..c7f4d1f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/GameFuncComm.py
@@ -40,8 +40,11 @@
import PlayerEquipDecompose
import PlayerFreeGoods
import FunctionNPCCommon
-
-
+import PlayerGreatMaster
+import IPY_GameWorld
+import ItemCommon
+import ItemControler
+import PlayerTJG
# 功能开启需执行的函数{功能ID:执行函数, ...} 函数需返回是否激活成功, 功能开启有需要处理功能逻辑的这里增加函数调用配置即可
@@ -59,6 +62,10 @@
ShareDefine.GameFuncID_EquipDecompose:lambda curObj:PlayerEquipDecompose.DoEquipDecomposeOpen(curObj),
ShareDefine.GameFuncID_FreeGoods:lambda curObj:PlayerFreeGoods.DoFreeGoodsOpen(curObj),
ShareDefine.GameFuncID_OSSail:lambda curObj:FunctionNPCCommon.OSSaleOpenMail(curObj),
+ ShareDefine.GameFuncID_AddPoint:lambda curObj:PlayerControl.DoAddPointOpen(curObj),
+ ShareDefine.GameFuncID_Talent:lambda curObj:PlayerGreatMaster.DoTalentOpen(curObj),
+ ShareDefine.GameFuncID_TJG:lambda curObj:PlayerTJG.DoTJGOpen(curObj),
+ ShareDefine.GameFuncID_SuperGift:lambda curObj:FunctionNPCCommon.UpdataSuperGiftTime(curObj),
#ShareDefine.GameFuncID_RunDaily:lambda curObj:FBCommon.DoFuncOpen_RunDaily(curObj),
#ShareDefine.GameFuncID_RunFamily:lambda curObj:FBCommon.DoFuncOpen_RunFamily(curObj),
#ShareDefine.GameFuncID_RefineExp:lambda curObj:Operate_PlayerBuyZhenQi.DoFuncOpen_RefineExp(curObj),
@@ -119,6 +126,10 @@
if limitMissionID and not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_MissionFinish % limitMissionID):
continue
+ limitVIPLV = ipyData.GetLimitVIPLV()
+ if limitVIPLV and curPlayer.GetVIPLv() < limitVIPLV:
+ continue
+
# 先更新值再处理开启逻辑,不能可能导致在功能开启逻辑中再开启功能引发的递归死循环
befValue, updValue = GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncFirstTouch, funcID, 1)
if befValue == updValue:
@@ -147,6 +158,33 @@
return ipyData.GetLimitLV()
+def GetFuncOpenAward(curPlayer, funcID):
+ ## 领取功能开启奖励
+ ipyData = IpyGameDataPY.GetIpyGameData('FunctionForecast', funcID)
+ if not ipyData:
+ return
+ getState = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncAwardState, funcID)
+ if getState:
+ return
+ awardDict = ipyData.GetAward()
+ job = curPlayer.GetJob()
+ itemList = awardDict.get(str(job))
+ if not itemList:
+ return
+ # 检查背包
+ needSpace = len(itemList)
+ packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
+ if needSpace > packSpace:
+ PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
+ return
+ GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncAwardState, funcID, 1)
+
+ # 给物品
+ for itemID, itemCount in itemList:
+ ItemControler.GivePlayerItem(curPlayer, itemID, itemCount, 1, [IPY_GameWorld.rptItem])
+ Sync_FuncOpenState(curPlayer, [funcID])
+ return
+
def Sync_FuncOpenState(curPlayer, syncFuncIDList=[], isSyncUnOpen=False):
## 通知功能首次触发情况
if not syncFuncIDList:
@@ -167,6 +205,7 @@
funcOpenState.Clear()
funcOpenState.FuncID = funcID
funcOpenState.State = openState
+ funcOpenState.AwardState = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_GameFuncAwardState, funcID)
funcStatePack.FuncStateList.append(funcOpenState)
funcCount = len(funcStatePack.FuncStateList)
funcStatePack.FuncCount = funcCount
--
Gitblit v1.8.0