hch
2019-02-18 78b01d7924cd2fbccdbcea874816820641883d7c
6209 【后端】【1.6】合服开发单 - 合(混)服后支持发单服邮件
3个文件已修改
20 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_AddEntireCompensation.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/IPY_Compensation.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GM/Commands/GMT_AddEntireCompensation.py
@@ -76,6 +76,8 @@
    silver = int(gmCmdDict.get('Silver', '0')) 
    sender = gmCmdDict.get('Sender', ChConfig.Def_Mail_SenderSys)
    detail = gmCmdDict.get('Detail', "")
    serverID = int(gmCmdDict.get('OnlyServerID', "0"))
    
    #工具发过来的物品下标依据 'index,index,...'  不一定是从0开始并按顺序连续 =_=#
    intemIndexStrList = []
@@ -94,10 +96,9 @@
    #if len(addItemDictList) == 0:
    #    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)
    #    return
    PlayerCompensation.AddEntireItem(GUID, addItemDictList, LimitTime, 
                                     mailInfo, PlayerJob, "%s<$_$>%s<$_$>%s"%(sender, Title, Text),
                                     gold, goldPaper, silver, detail)
                                     gold, goldPaper, silver, detail, serverID)
    #执行成功
    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, {"GUID":GUID})  
ServerPython/CoreServerGroup/GameServer/Script/IPY_Compensation.py
@@ -331,6 +331,9 @@
    __swig_setmethods__["Silver"] = _IPY_Compensation.IpyEntireCompensationRequire_Silver_set
    __swig_getmethods__["Silver"] = _IPY_Compensation.IpyEntireCompensationRequire_Silver_get
    if _newclass:Silver = _swig_property(_IPY_Compensation.IpyEntireCompensationRequire_Silver_get, _IPY_Compensation.IpyEntireCompensationRequire_Silver_set)
    __swig_setmethods__["ServerID"] = _IPY_Compensation.IpyEntireCompensationRequire_ServerID_set
    __swig_getmethods__["ServerID"] = _IPY_Compensation.IpyEntireCompensationRequire_ServerID_get
    if _newclass:ServerID = _swig_property(_IPY_Compensation.IpyEntireCompensationRequire_ServerID_get, _IPY_Compensation.IpyEntireCompensationRequire_ServerID_set)
    def __init__(self): 
        this = _IPY_Compensation.new_IpyEntireCompensationRequire()
        try: self.this.append(this)
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerCompensation.py
@@ -330,7 +330,7 @@
#  @param addItemDictList, LimitTime, mailInfo, PlayerJob,  Text 
#  @return None
def AddEntireItem(GUID, addItemDictList, LimitTime, mailInfo, PlayerJob, Text,
                  gold = 0, goldPaper = 0, silver = 0, detail=""):
                  gold = 0, goldPaper = 0, silver = 0, detail="", serverID=0):
    '''
    @param mailInfo: GetEntireCompensationInfo 的返回值, 目前暂存字段 PlayerLV 中
    '''
@@ -344,9 +344,10 @@
        GameWorld.GetCompensationMgr().AddCompensationItem(GUID, curItemData)
        
    createTime = GameWorld.GetCurrentDataTimeStr()
    #添加全服领取补偿条件
    GameWorld.GetCompensationMgr().AddEntireCompensationItem(GUID, createTime, LimitTime, mailInfo, 
                                                             PlayerJob, Text, gold, goldPaper, silver)
                                                             PlayerJob, Text, gold, goldPaper, silver, serverID)
    checkState, limitLVType, limitLV = ParseEntireCompensationInfo(mailInfo)
    addDict = {"LimitTime":LimitTime, "LimitLV":limitLV, "LimitLVType":limitLVType, "CheckState":checkState, "PlayerJob":PlayerJob, "Text":Text, 
               "Gold":gold, "GoldPaper":goldPaper, "Silver":silver, "ItemList":addItemDictList, "Detail":detail}
@@ -751,7 +752,12 @@
        if (curEntireRequire.PlayerJob&pow(2,curJob)) == 0:
            SetPrizeState(curPlayerID, GUID, Disable_State, readState)
            return Unknow_CompensationType, None
    if curEntireRequire.ServerID and curEntireRequire.ServerID != GameWorld.GetPlayerServerID(curPlayer):
        # 指定服务器邮件
        SetPrizeState(curPlayerID, GUID, Disable_State, readState)
        return Unknow_CompensationType, None
    #可以用的奖励
    SetPrizeState(curPlayerID, GUID, Enable_State, readState)
    #返回物品信息