| | |
| | | PlayerControl.GetMoneyReal(curPlayer, type_name), json.dumps(extraDict, ensure_ascii=False)), curPlayer)
|
| | | return
|
| | |
|
| | | ## 写任务事件记录
|
| | | # @param startType: 0 任务开始 1 任务结束
|
| | | # @param isFinish: 当任务结束,任务结果 0:失败 1:成功
|
| | | # @param failReason: 当任务结束且任务失败时的原因
|
| | | def WriteEvent_mission_log(curPlayer, missionData, startType, isFinish=0, failReason=""):
|
| | | if startType not in [0, 1] or isFinish not in [0, 1]:
|
| | | return
|
| | | |
| | | if not missionData:
|
| | | return
|
| | | |
| | | #missionName = "0%s%s" % (missionData.ID, missionData.Name)
|
| | | missionName = missionData.ID
|
| | | __WriteEvent_mission_log(curPlayer, startType, missionName, isFinish, failReason)
|
| | | return
|
| | |
|
| | | def WriteEvent_MWSuccess(curPlayer, mwID, succID, logType, isFinish=0):
|
| | | '''写自定义任务 - 法宝成就事件, 事件ID格式: 91+法宝ID+至少4位的成就ID
|
| | | '''
|
| | | cmeType = "91%d%04d" % (mwID, succID)
|
| | | WriteEvent_custom_mission_log(curPlayer, cmeType, logType, isFinish)
|
| | | return
|
| | |
|
| | | def WriteEvent_FB(curPlayer, mapID, funcLineID, logType, joinType=0, isFinish=0, failReason=""):
|
| | | '''写自定义任务 - 副本事件, 事件ID格式: 90+mapID+joinType+funcLineID
|
| | | @param joinType: 0-默认无; 1-单人; 2-多人; 3-助战; 注意单人队伍算单人
|
| | | '''
|
| | | cmeType = "90%d%d%02d" % (mapID, joinType, funcLineID)
|
| | | WriteEvent_custom_mission_log(curPlayer, cmeType, logType, isFinish, failReason=failReason)
|
| | | return
|
| | |
|
| | | ## 写自定义任务事件记录
|
| | | # @param cmeType: 自定义类型, 对应 ChConfig.CME_Type_List
|
| | | # @param logType: 记录类型, 对应 ChConfig.CME_Log_Type_List
|
| | | # @param cmeInfoEx: 扩展自定义信息, 一般用于需要分子项记录的类型
|
| | | # @param isFinish: 当事件结束时结果 0:失败 1:成功
|
| | | # @param failReason: 当事件结束时失败的原因
|
| | | def WriteEvent_custom_mission_log(curPlayer, cmeType, logType, isFinish=0, failReason="", cmeInfoEx=None):
|
| | | #if cmeType not in ChConfig.CME_Type_List:
|
| | | # return
|
| | | |
| | | if logType not in ChConfig.CME_Log_Type_List:
|
| | | return
|
| | | |
| | | startType = 1 if logType == ChConfig.CME_Log_End else 0 |
| | | #===========================================================================
|
| | | # missionName = ChConfig.CME_Type_Dict.get(cmeType, "δ֪")
|
| | | # if cmeInfoEx != None:
|
| | | # missionName = "%s:%s" % (missionName, cmeInfoEx)
|
| | | # if logType == ChConfig.CME_Log_Acceptable:
|
| | | # missionName = "%s_可挑战" % missionName
|
| | | #===========================================================================
|
| | | |
| | | missionName = cmeType
|
| | | __WriteEvent_mission_log(curPlayer, startType, missionName, isFinish, failReason, cmeType in ChConfig.CME_Ex_Log_List)
|
| | | return
|
| | |
|
| | | ## 写任务事件记录
|
| | | # @param startType: 0 任务开始 1 任务结束
|
| | | # @param missionName: 任务名
|
| | | # @param isFinish: 当任务结束,任务结果 0:失败 1:成功
|
| | | # @param failReason: 当任务结束且任务失败时的原因
|
| | | def __WriteEvent_mission_log(curPlayer, startType, missionName, isFinish, failReason, isExLog=False):
|
| | | isFinish = 1 if isFinish else 0
|
| | | exDict = {"Fail":failReason}
|
| | | resultMsg = json.dumps(exDict, ensure_ascii=False)
|
| | | EventReport(ShareDefine.Def_UserAction_MissionLog, |
| | | "MissionStep=%s&MissionID=%s&MissionResult=%s&MissionExtra=%s"%(startType, missionName, isFinish, resultMsg), curPlayer)
|
| | | #===========================================================================
|
| | | # missionlogEvent = missionlog()
|
| | | # missionlogEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # missionlogEvent.scribeEventName = ShareDefine.Def_UserAction_ExMissionLog if isExLog else \
|
| | | # ShareDefine.Def_UserAction_MissionLog
|
| | | # missionlogEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # missionlogEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
|
| | | # missionlogEvent.type = startType
|
| | | # missionlogEvent.mission_name = missionName
|
| | | # missionlogEvent.session_id = GameWorld.GetSessionID(curPlayer)
|
| | | # |
| | | # missionlogEvent.ip = curPlayer.GetIP()
|
| | | # missionlogEvent.account_name = missionlogEvent.account_id
|
| | | # missionlogEvent.account_type = GameWorld.GetAccountType(curPlayer)
|
| | | # missionlogEvent.chr_name = curPlayer.GetPlayerName()
|
| | | # missionlogEvent.mission_result = isFinish
|
| | | # missionlogEvent.mission_reason = failReason
|
| | | # WriteEvent(missionlogEvent)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | def WriteEvent_level_up(curPlayer):
|
| | | EventReport(ShareDefine.Def_UserAction_LVUP, "", curPlayer)
|
| | | #===========================================================================
|
| | |
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | def WriteEvent_chat_log(curPlayer, content, cmc_name, tagName="", addinfo=""):
|
| | | return
|
| | | #===========================================================================
|
| | | # '''
|
| | | # @todo: 写聊天监控记录
|
| | | # @param content: 聊天内容
|
| | | # @param cmc_name: 聊天频道标识
|
| | | # @param tagName: 私聊对象
|
| | | # @param addinfo: 额外信息
|
| | | # '''
|
| | | # chatlogEvent = chat_log()
|
| | | # chatlogEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # chatlogEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # chatlogEvent.chr_name = curPlayer.GetName()
|
| | | # chatlogEvent.content = __GetEventChatContent(content)
|
| | | # chatlogEvent.cmc_name = cmc_name
|
| | | # chatlogEvent.ip = curPlayer.GetIP()
|
| | | # chatlogEvent.account_name = chatlogEvent.account_id
|
| | | # chatlogEvent.account_type = GameWorld.GetAccountType(curPlayer)
|
| | | # chatlogEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
|
| | | # chatlogEvent.object = tagName
|
| | | # chatlogEvent.addinfo = addinfo
|
| | | # WriteEvent(chatlogEvent)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | def __GetEventChatContent(content):
|
| | | '''
|
| | | <a color="255,255,0" href="GOTO 10000,74,60">[地图:暮光之城(74,60)]</a>
|
| | | <A color="205,0,0" onmouseover="ShowInfo ITEM,55986" DATA="07 04 01 00 B2 DA 00 00 00 01 00 01 |
| | | 28 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
| | | 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 3C 00 00 00 7B 27 32 38 27 3A 5B |
| | | 27 31 30 32 33 34 27 5D 2C 27 31 39 27 3A 5B 27 33 35 34 27 2C 27 38 35 36 27 2C 27 33 35 |
| | | 34 27 2C 27 37 35 38 27 2C 27 39 35 31 27 2C 27 31 30 35 32 27 5D 7D 04 00 00 00 00 00 00 |
| | | 00 00 00 00 00 00 00 00 00 00 ">[神圣的傲世之弓 +40]</a>
|
| | | '''
|
| | | tempMatch = re.search("<a color=.*?>.*?</a>", content)
|
| | | if tempMatch:
|
| | | tempStr = tempMatch.group()
|
| | | markIndex = tempStr.index(">") + 1
|
| | | repStr = tempStr[markIndex:tempStr.index("<", markIndex)]
|
| | | content = content.replace(tempStr, repStr)
|
| | | |
| | | tempMatch = re.search("<A color=.*?>.*?</a>", content)
|
| | | if tempMatch:
|
| | | tempStr = tempMatch.group()
|
| | | markIndex = tempStr.index(">") + 1
|
| | | repStr = tempStr[markIndex:tempStr.index("<", markIndex)]
|
| | | content = content.replace(tempStr, repStr)
|
| | | |
| | | # 替换换行
|
| | | content = content.replace("\r", "") |
| | | content = content.replace("\n", "") |
| | | return content
|
| | |
|
| | | ## 写自定义事件记录
|
| | | # @param event_name: 事件名称
|
| | | # @param comments: 备注或附加信息
|
| | | def WriteEvent_custom_events(curPlayer, event_name, comments):
|
| | | #===========================================================================
|
| | | # customEvent = custom_events()
|
| | | # customEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # customEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # customEvent.event_name = event_name
|
| | | # customEvent.session_id = GameWorld.GetSessionID(curPlayer)
|
| | | # |
| | | # customEvent.ip = curPlayer.GetIP()
|
| | | # customEvent.account_name = customEvent.account_id
|
| | | # customEvent.account_type = GameWorld.GetAccountType(curPlayer)
|
| | | # customEvent.chr_name = curPlayer.GetPlayerName()
|
| | | # customEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
|
| | | # customEvent.comments = CommFunc.GetStrCutoff(comments, 255)
|
| | | # WriteEvent(customEvent)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | def GetScribeEvent_chr_level(curPlayer):
|
| | | transCnt, showLV = GameWorld.GetClientLV(curPlayer)
|
| | | return transCnt * 1000 + showLV
|
| | |
|
| | |
|
| | | ## -------------------------------------- 扩展自定义 ---------------------------------------
|
| | |
|
| | | class horse_class(ScribeEvent):
|
| | | # 坐骑进阶记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(horse_class, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.bef_class_lv = 0 # 此次进阶操作前的坐骑等阶, 0代表1阶
|
| | | self.bef_exp = 0 # 此次进阶操作前的坐骑等阶星数的经验值
|
| | | self.cost_item_cnt = 0 # 此次进阶消耗的进阶道具数量
|
| | | self.aft_class_lv = 0 # 此次进阶操作后的坐骑等阶, 0代表1阶
|
| | | self.aft_exp = 0 # 此次进阶操作后的坐骑等阶星数的经验值
|
| | | |
| | | #非必须字段
|
| | |
|
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | str(self.bef_class_lv), str(self.bef_exp), str(self.cost_item_cnt),
|
| | | str(self.aft_class_lv), str(self.aft_exp), self.time]
|
| | | |
| | | return super(horse_class, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_HorseClass
|
| | | |
| | | def WriteEvent_horse_class(curPlayer, befClassLV, befExp, costCnt, aftClassLV, aftExp):
|
| | | ## 写坐骑进阶记录
|
| | | #===========================================================================
|
| | | # horseClass = horse_class()
|
| | | # horseClass.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # horseClass.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # horseClass.chr_name = curPlayer.GetPlayerName()
|
| | | # horseClass.bef_class_lv = befClassLV
|
| | | # horseClass.bef_exp = befExp
|
| | | # horseClass.cost_item_cnt = costCnt
|
| | | # horseClass.aft_class_lv = aftClassLV
|
| | | # horseClass.aft_exp = aftExp
|
| | | # WriteEvent(horseClass)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class wing_class(ScribeEvent):
|
| | | # 翅膀进阶记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(wing_class, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.bef_class_lv = 0 # 当前翅膀等阶, 0代表1阶
|
| | | self.bef_exp = 0 # 进阶操作前的祝福值
|
| | | self.cost_item_cnt = 0 # 此次进阶消耗的进阶道具数量
|
| | | self.aft_class_lv = 0 # 此次进阶操作后翅膀的等阶, 0代表1阶
|
| | | self.aft_exp = 0 # 进阶操作后的祝福值
|
| | | |
| | | #非必须字段
|
| | |
|
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | str(self.bef_class_lv), str(self.bef_exp), str(self.cost_item_cnt),
|
| | | str(self.aft_class_lv), str(self.aft_exp), self.time]
|
| | | |
| | | return super(wing_class, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_WingClass
|
| | | |
| | | def WriteEvent_wing_class(curPlayer, befClassLV, befExp, costCnt, aftClassLV, aftExp):
|
| | | ## 写翅膀进阶记录
|
| | | #===========================================================================
|
| | | # wingClass = wing_class()
|
| | | # wingClass.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # wingClass.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # wingClass.chr_name = curPlayer.GetPlayerName()
|
| | | # wingClass.bef_class_lv = befClassLV
|
| | | # wingClass.bef_exp = befExp
|
| | | # wingClass.cost_item_cnt = costCnt
|
| | | # wingClass.aft_class_lv = aftClassLV
|
| | | # wingClass.aft_exp = aftExp
|
| | | # WriteEvent(wingClass)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class pet_lv(ScribeEvent):
|
| | | # 宠物升级记录
|
| | |
| | | # WriteEvent(coinToGold)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class god_weapon_lv(ScribeEvent):
|
| | | # 神兵升级记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(god_weapon_lv, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.god_weapon_name = "" # 神兵名称
|
| | | self.bef_lv = 0 # 此次操作前的等级, 0代表0级, 1代表+1级
|
| | | self.bef_exp = 0 # 此次操作前的经验值
|
| | | self.cost_item_cnt = 0 # 此次消耗的道具数量
|
| | | self.aft_lv = 0 # 此次操作后的等级, 0代表0级, 1代表+1级
|
| | | self.aft_exp = 0 # 此次进阶操作后的经验值
|
| | | |
| | | #非必须字段
|
| | |
|
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.god_weapon_name, str(self.bef_lv), str(self.bef_exp), str(self.cost_item_cnt),
|
| | | str(self.aft_lv), str(self.aft_exp), self.time]
|
| | | |
| | | return super(god_weapon_lv, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_GodWeaponLV
|
| | | |
| | | def WriteEvent_god_weapon_lv(curPlayer, godWeaponName, befLV, befExp, costCnt, aftLV, aftExp):
|
| | | ## 写神兵升级记录
|
| | | #===========================================================================
|
| | | # godWeaponLV = god_weapon_lv()
|
| | | # godWeaponLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # godWeaponLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # godWeaponLV.chr_name = curPlayer.GetPlayerName()
|
| | | # godWeaponLV.god_weapon_name = godWeaponName
|
| | | # godWeaponLV.bef_lv = befLV
|
| | | # godWeaponLV.bef_exp = befExp
|
| | | # godWeaponLV.cost_item_cnt = costCnt
|
| | | # godWeaponLV.aft_lv = aftLV
|
| | | # godWeaponLV.aft_exp = aftExp
|
| | | # WriteEvent(godWeaponLV)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class rune_lv(ScribeEvent):
|
| | | # 符印升级记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(rune_lv, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.rune_name = "" # 符印名称
|
| | | self.cost_rune_money = 0 # 此次消耗的符印精华
|
| | | self.aft_lv = 0 # 此次操作后的等级, 0代表1级
|
| | | self.aft_rune_money = 0 # 此次操作后的符印精华
|
| | | |
| | | #非必须字段
|
| | | |
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.rune_name, str(self.cost_rune_money), str(self.aft_lv), str(self.aft_rune_money), self.time]
|
| | | |
| | | return super(rune_lv, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_RuneLV
|
| | | |
| | | def WriteEvent_rune_lv(curPlayer, runeName, costruneMoney, aftLV, aftruneMoney):
|
| | | ## 写符印升级记录
|
| | | #===========================================================================
|
| | | # runeLV = rune_lv()
|
| | | # runeLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # runeLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # runeLV.chr_name = curPlayer.GetPlayerName()
|
| | | # runeLV.rune_name = runeName
|
| | | # runeLV.cost_rune_money = costruneMoney
|
| | | # runeLV.aft_lv = aftLV
|
| | | # runeLV.aft_rune_money = aftruneMoney
|
| | | # WriteEvent(runeLV)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class change_name(ScribeEvent):
|
| | | # 改名记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(change_name, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.old_name = "" # 原来的名字
|
| | | self.new_name = "" # 新的名字
|
| | | #非必须字段
|
| | | |
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.old_name, self.new_name, self.time]
|
| | | |
| | | return super(change_name, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_ChangeName
|
| | | |
| | | def WriteEvent_change_name(curPlayer, oldName, newName):
|
| | | ## 改名记录
|
| | | #===========================================================================
|
| | | # changeName = change_name()
|
| | | # changeName.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # changeName.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # changeName.chr_name = curPlayer.GetPlayerName()
|
| | | # changeName.old_name = oldName
|
| | | # changeName.new_name = newName |
| | | # WriteEvent(changeName)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class add_zhenqi(ScribeEvent):
|
| | | # 真气产出记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(add_zhenqi, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.eventName = "" # 来源
|
| | | self.eventData = "" # 来源附加信息
|
| | | self.addValue = 0 # 产出数量
|
| | | self.totalValue = 0 # 剩余总量
|
| | | |
| | | #非必须字段
|
| | |
|
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.eventName, str(self.eventData), str(self.addValue), str(self.totalValue), self.time]
|
| | | |
| | | return super(add_zhenqi, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_AddZhenqi
|
| | | |
| | | def WriteEvent_add_zhenqi(curPlayer, eventName, eventData, addValue, totalValue):
|
| | | ## 真气产出记录
|
| | | #===========================================================================
|
| | | # if eventData:
|
| | | # eventData = str(eventData)
|
| | | # eventData = eventData.replace("\"", "'")
|
| | | # eventData = eventData.replace(",", "|")
|
| | | # |
| | | # addZhenQi = add_zhenqi()
|
| | | # addZhenQi.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # addZhenQi.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # addZhenQi.chr_name = curPlayer.GetPlayerName()
|
| | | # addZhenQi.eventName = eventName
|
| | | # addZhenQi.eventData = eventData
|
| | | # addZhenQi.addValue = addValue
|
| | | # addZhenQi.totalValue = totalValue
|
| | | # WriteEvent(addZhenQi)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class lost_zhenqi(ScribeEvent):
|
| | | # 真气消耗记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(lost_zhenqi, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.eventName = "" # 消耗点
|
| | | self.eventData = "" # 消耗点附加信息
|
| | | self.lostValue = 0 # 消耗数量
|
| | | self.totalValue = 0 # 剩余总量
|
| | | |
| | | #非必须字段
|
| | |
|
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.eventName, str(self.eventData), str(self.lostValue), str(self.totalValue), self.time]
|
| | | |
| | | return super(lost_zhenqi, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_LostZhenqi
|
| | | |
| | | def WriteEvent_lost_zhenqi(curPlayer, eventName, eventData, lostValue, totalValue):
|
| | | ## 真气消耗记录
|
| | | #===========================================================================
|
| | | # if eventData:
|
| | | # eventData = str(eventData)
|
| | | # eventData = eventData.replace("\"", "'")
|
| | | # eventData = eventData.replace(",", "|")
|
| | | # |
| | | # lostZhenQi = lost_zhenqi()
|
| | | # lostZhenQi.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # lostZhenQi.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # lostZhenQi.chr_name = curPlayer.GetPlayerName()
|
| | | # lostZhenQi.eventName = eventName
|
| | | # lostZhenQi.eventData = eventData
|
| | | # lostZhenQi.lostValue = lostValue
|
| | | # lostZhenQi.totalValue = totalValue
|
| | | # WriteEvent(lostZhenQi)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | | class coat_lv(ScribeEvent):
|
| | | # 时装升级记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(coat_lv, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.coat_name = "" # 时装名称
|
| | | self.bef_lv = 0 # 此次进阶操作前的等级
|
| | | self.bef_exp = 0 # 此次进阶操作前的经验值
|
| | | self.cost_item_cnt = 0 # 此次消耗的道具数量
|
| | | self.aft_lv = 0 # 此次操作后的等级, 0代表0级, 1代表+1级
|
| | | self.aft_exp = 0 #此次进阶操作后的经验值
|
| | | #非必须字段
|
| | | |
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.coat_name, str(self.bef_lv), str(self.bef_exp), str(self.cost_item_cnt), str(self.aft_lv), str(self.aft_exp), self.time]
|
| | | |
| | | return super(coat_lv, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_CoatLV
|
| | | |
| | | def WriteEvent_coat_lv(curPlayer, coatName, befLV, befExp, costItemCnt, aftLV, aftExp):
|
| | | return
|
| | | ## 写时装升级记录
|
| | | #===========================================================================
|
| | | # coatLV = coat_lv()
|
| | | # coatLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # coatLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # coatLV.chr_name = curPlayer.GetPlayerName()
|
| | | # coatLV.coat_name = coatName
|
| | | # coatLV.bef_lv = befLV
|
| | | # coatLV.bef_exp = befExp
|
| | | # coatLV.cost_item_cnt = costItemCnt
|
| | | # coatLV.aft_lv = aftLV
|
| | | # coatLV.aft_exp = aftExp
|
| | | # WriteEvent(coatLV)
|
| | | #===========================================================================
|
| | |
|
| | |
|
| | |
|
| | | class wingskin_lv(ScribeEvent):
|
| | | # 时装升级记录
|
| | | def __init__(self):
|
| | | #必须字段
|
| | | super(wingskin_lv, self).__init__()
|
| | | self.account_id = "" # 账号 ID,平台下唯一,且终生不变
|
| | | self.chr_name = "" # 玩家角色名
|
| | | |
| | | self.skin_name = "" # 幻化翅膀名称
|
| | | self.bef_lv = 0 # 此次进阶操作前的等级
|
| | | self.bef_exp = 0 # 此次进阶操作前的经验值
|
| | | self.cost_item_cnt = 0 # 此次消耗的道具数量
|
| | | self.aft_lv = 0 # 此次操作后的等级, 0代表0级, 1代表+1级
|
| | | self.aft_exp = 0 #此次进阶操作后的经验值
|
| | | #非必须字段
|
| | | |
| | | #即时是非必须字段也应该传送,各字段用,分隔,并且用双引号包含,参考格式'"1","","","12314"'
|
| | | return
|
| | | |
| | | def GetCurEventStr(self):
|
| | | if not self.time:
|
| | | self.time = GameWorld.GetCurrentDataTimeStr()
|
| | | tmpList = [self.product_slug, self.agent_name, self.gameserver_no, self.account_id, self.chr_name, |
| | | self.skin_name, str(self.bef_lv), str(self.bef_exp), str(self.cost_item_cnt), str(self.aft_lv), str(self.aft_exp), self.time]
|
| | | |
| | | return super(wingskin_lv, self).GetEventStr(tmpList)
|
| | | |
| | | def GetScribeEventName(self): return ShareDefine.Def_UserAction_WingSkinLV
|
| | | |
| | | def WriteEvent_wingskin_lv(curPlayer, skinName, befLV, befExp, costItemCnt, aftLV, aftExp):
|
| | | ## 写幻化翅膀升级记录
|
| | | #===========================================================================
|
| | | # wingskinLV = wingskin_lv()
|
| | | # wingskinLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
|
| | | # wingskinLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
|
| | | # wingskinLV.chr_name = curPlayer.GetPlayerName()
|
| | | # wingskinLV.skin_name = skinName
|
| | | # wingskinLV.bef_lv = befLV
|
| | | # wingskinLV.bef_exp = befExp
|
| | | # wingskinLV.cost_item_cnt = costItemCnt
|
| | | # wingskinLV.aft_lv = aftLV
|
| | | # wingskinLV.aft_exp = aftExp
|
| | | # WriteEvent(wingskinLV)
|
| | | #===========================================================================
|
| | | return
|
| | |
|
| | |
|
| | | class horseskin_lv(ScribeEvent):
|
| | | # 时装升级记录
|