#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
#
##@package EventReport
#
# @todo:ʼþ»ã±¨
# @author hxp
# @date 2015-1-14
# @version 2.4
# @Note£º EventReport_EventReportÓ÷¨ µÚÒ»¸ö²ÎÊý´«postÄÚÈÝurlencode£¬µÚ2,3,4²»Ó㻵ÚÎå¸ö²ÎÊý0´ú±íget£¬1Ϊpost£»µÚÁù¸ö²ÎÊýΪurl
#
# @change: "2015-01-28 22:30" hxp ¹Ø±Õʼþ»ã±¨
# @change: "2015-02-06 20:40" Alee ʼþ»ã±¨·¢ËÍÖÁºÏ·þÖ÷·þ
# @change: "2015-06-08 20:30" hxp Ôö¼ÓchannelCode
# @change: "2015-07-13 14:00" hxp Ôö¼ÓpidÐÅÏ¢
# @change: "2016-07-18 19:00" hxp 9377¶À´úʼþ»ã±¨°æ
# @change: "2016-07-27 20:00" Alee Ð޸Ĵò¿ªÎļþ³¬Ê±¹Ø±Õ
# @change: "2016-07-30 11:30" hxp ¹Ø±ÕÎïÆ·¸ú×Ù
# @change: "2016-08-18 16:30" hxp ×Ô¶¨ÒåÈÎÎñʼþ
# @change: "2016-08-30 23:00" hxp ÁÄÌì¼à¿Ø
# @change: "2016-09-10 11:00" hxp ÁÄÌìÄÚÈÝÌæ»»»»ÐÐ
# @change: "2016-11-09 20:00" hxp Ôö¼Ó×Ô¶¨Òå¼Ç¼(×øÆï¡¢³á°ò¡¢³èÎï¡¢»õ±Ò½ø³ö¡¢³È×°)
# @change: "2017-06-08 19:30" hxp Ôö¼Ó×Ô¶¨Òå¼Ç¼(µãȯ¡¢Éñ±ø¡¢·ûÓ¡¡¢¸ÄÃû¡¢ÕæÆø)
# @change: "2017-07-01 15:30" hxp ƽ̨¸ÄΪ´ÓÍæ¼ÒÕ˺ÅÖÐÈ¡£¬Ö§³Ö»ì·þģʽ
# @change: "2017-07-04 15:00" hxp Ôö¼Ó»ì·þģʽÏ¿ÉÇø·Ö¸÷ƽ̨×ÔÉíÇø·þºÏ·þºóµÄƽ̨Ö÷·þID
# ÏêϸÃèÊö: ʼþ»ã±¨
#
#---------------------------------------------------------------------
#"""Version = 2017-07-04 15:00"""
#---------------------------------------------------------------------
import IpyGameDataPY
import IPY_GameWorld
import DataRecordPack
import PlayerControl
import ReadChConfig
import ShareDefine
import GameWorld
import ChConfig
import CommFunc
import PlayerTJG
import datetime
import random
import time
import md5
import os
import re
import json
import urllib
EventFilepath = "D:\\EventServer\\PythonScribe\\EventLog\\"
g_wFileName = ""
g_writeHandle = None # ²»¿ÉÖ±½Óµ÷ÓÃ
Def_Custom_Events_Bug = "Bug" # ÓÎÏ·Bug
Def_Custom_Events_Suggest = "suggest" # ÓÎÏ·½¨Òé
Def_Custom_Events_Item = "Item" # ÎïÆ·¸ú×Ù
Def_Custom_Events_GetMail = "GetMail" # ÓʼþÁìÈ¡
Def_Custom_Events_CommonCard = "CommonCard_%s" # ͨÓÃÐÂÊÖ¿¨ÂëʹÓÃ, ²ÎÊýΪͨÓÃÂ뿨ºÅ
Def_Custom_Events_NewbieCard = "NewbieCard_%s" # ³£¹æÐÂÊÖ¿¨Ê¹ÓÃ, ²ÎÊýΪÀñ°üÀàÐÍ
Def_Custom_Events_MediaCard = "MediaCard_%s" # ÐÂýÌ忨ʹÓÃ, ²ÎÊýΪ¿¨ÀàÐÍ
g_whStartTime = 0 # ´´½¨Îļþʱ¼ä
Def_WriteTime = 2 # Îļþ³ÖÐøÐ´Èëʱ¼ä£º·ÖÖÓ
def OnTimeCloseScribeTxt():
global g_whStartTime
global g_writeHandle
global g_wFileName
try:
if g_whStartTime == 0:
return
#Îļþ´´½¨³¬¹ý
if time.time() - g_whStartTime < 60*(Def_WriteTime + 1):
return
if g_writeHandle == None:
return
g_writeHandle.close()
g_wFileName = ""
g_whStartTime = 0
except:
GameWorld.ErrLog("OnTimeCloseScribeTxt ³ö´í")
## ³õʼ»¯Ê¼þ
# @param None
# @return ÎÞ·µ»ØÖµ
def InitDllAppID():
appID = "mobile"
key = "mobile"
GameWorld.GetGameWorld().EventReport_SetEventReportParam(appID, key)
GameWorld.Log("³õʼ»¯Ê¼þ±¨¸æ: appID=%s,key=%s OK!" % (appID, key))
return
## ʼþ±¨¸æ¼Ç¼
# @param eventActionID ʼþid
# @param eventParam ʼþ²ÎÊý
# @param curPlayer
# @return None
def EventReport(eventActionID, eventParam, curPlayer=None, OperatorID=""):
# ×é³ÉÀý×Ó eventParam µÄ¸ñʽ±ØÐëÊÇ xx=yy&zz=cc
# "http://192.168.0.249:12000/event_receiver?EventID=3099&OperatorID=test&PlayerCount=102&Time=2018-02-08 18:30:30&ProductID=snxxz&RegionName=s1"
reportActionIDList = IpyGameDataPY.GetFuncEvalCfg("EventReport", 3)
if reportActionIDList and eventActionID not in reportActionIDList:
#GameWorld.DebugLog("·ÇÐèÒª»ã±¨µÄʼþID! %s" % eventActionID)
return
if eventActionID in IpyGameDataPY.GetFuncEvalCfg("EventReport", 1):
#GameWorld.DebugLog("²»ÐèÒª»ã±¨µÄʼþ! %s" % eventActionID)
return
if not curPlayer and not OperatorID:
return
ProductID = ReadChConfig.GetPyMongoConfig("EventReport", "ProductID")
ReportUrl = ReadChConfig.GetPyMongoConfig("EventReport", "ReportUrl")
playerInfo = ""
if curPlayer:
if not GameWorld.IsNormalPlayer(curPlayer):
return
#UTF8 ÐèҪת³Éurl±àÂë²Å¿ÉÓÃ
playerInfo = urllib.urlencode({"RoleID": curPlayer.GetName(),
"AccountID": GameWorld.GetPlatformAccID(curPlayer.GetAccID()),
"IP": curPlayer.GetIP(),
"Level": curPlayer.GetLV(),
"DeviceFlag": curPlayer.GetAccountData().GetDeviceFlag(),
"Job": curPlayer.GetJob(),
"PlayerID": curPlayer.GetPlayerID(),
"CreateRoleTime": curPlayer.GetCreateRoleTime(),
})
OperatorID = GameWorld.GetPlayerPlatform(curPlayer)
RegionName = GameWorld.GetPlayerServerSID(curPlayer)
playerInfo = "&%s"%playerInfo
else:
# ºÏ·þÇé¿ö£¬Íæ¼ÒÈ¡×Ô¼º·þ·¢ËÍ£¬·ÇÍæ¼ÒÊý¾Ý°´Ö¸¶¨Æ½Ì¨ÅäÖ÷¢
sid = GameWorld.GetPlayerMainServerID(OperatorID)
if not sid:
GameWorld.ErrLog("GetPlayerMainServerID: %s-%s"%(OperatorID, sid))
return
RegionName = 's%s'%sid
if eventParam:
eventParam = "&%s"%eventParam
getUrl = "%s?ProductID=%s&OperatorID=%s&RegionName=%s&EventID=%s%s&Time=%s%s"%(\
ReportUrl, ProductID, OperatorID, RegionName, eventActionID, playerInfo,
urllib.quote_plus(str(datetime.datetime.today()).split('.')[0]), eventParam)
GameWorld.DebugLog("EventReport: %s"%getUrl)
# µÚÎå¸ö²ÎÊý0´ú±íget·¢ËÍ 1´ú±ípost
GameWorld.GetGameWorld().EventReport_EventReport("", "", "", "", 0, getUrl)
return
## дʼþ±¨¸æÎļþ
# @param eventClass
# @return None
def WriteEvent(eventClass):
return
if GameWorld.IsCrossServer():
return
if eventClass.GetScribeEventName() not in ReadChConfig.GetEvalChConfig("EventReportID"):
return
if not os.path.isdir(EventFilepath):
os.makedirs(EventFilepath)
#³¢ÊÔдµ½Í¬Ò»¸öÎļþµ«ÊÇwindow »áÓÐbug£¬Ö»Äܸ÷×Ô³ÌÐò·Ö¿ªÐ´Èë
fp_w = GetWriteIO()
fp_w.write("%s\t%s\n"%(eventClass.GetScribeEventName(), eventClass.GetCurEventStr()))
fp_w.flush()
return
# ·ÖÖÓ×¼µãУ׼
def FixTime():
curTime = datetime.datetime.today()
curTime = curTime + datetime.timedelta(minutes=Def_WriteTime-curTime.minute%Def_WriteTime)
tmp = str(curTime).split(".")[0][:-3].replace(':', '-')
return tmp.replace(" ", "_")
def GetLogFileName(fileStr):
sessionid = md5.md5(str(random.random()) + str(time.time())).hexdigest()
return EventFilepath + sessionid + fileStr + '.log'
def GetWriteIO():
global g_wFileName
global g_writeHandle
global g_whStartTime
fileTime = FixTime()
if g_wFileName and fileTime in g_wFileName:
#µ±Ç°ÎļþÖ±½Ó·µ»Ø
return g_writeHandle
curFileName = GetLogFileName(fileTime)
if g_writeHandle != None:
#¹Ø±Õ¾ÉÎļþ
g_writeHandle.close()
g_wFileName = curFileName
g_writeHandle = open(g_wFileName, 'a+')
g_whStartTime = time.time()
return g_writeHandle
## =================================================================================================
# ÿ¸ö×ֶζ¼Ó¦¸ÃתΪ×Ö·û´®£¬²»È»join»á±¨´í
class ScribeEvent(object):
def __init__(self):
#±ØÐë×Ö¶Î
self.product_slug = 'yhlz' # ÓÎÏ·±êÖ¾
self.agent_name = ReadChConfig.GetPyMongoConfig("platform", "PlatformName") # ƽ̨±êÖ¾
self.gameserver_no = ReadChConfig.GetPyMongoConfig("platform", "ServerID")[1:] # Çø·þ
self.time = "" #GameWorld.GetCurrentDataTimeStr()
def SetEventAgentInfo(self, accIDPlatform):
# ÉèÖôúÀíÔËÓªÉÌÐÅÏ¢
# @param accIDPlatform: ÕâÀïÈ¡Õ˺ÅËùÊôƽ̨£¬Ö§³Ö»ì·þ, Èç¹ûÈ¡²»µ½£¬ÔòÓÃĬÈÏÅäÖõÄÔËÓªÉÌÐÅÏ¢
if not accIDPlatform:
return
self.agent_name = accIDPlatform
self.gameserver_no = str(GameWorld.GetPlayerMainServerID(self.agent_name))
return
#¼´Ê¹ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
#±ÜÃâÐ޸ĸñʽµÄÇé¿ö£¬ÕâÀïͳһÐ޸ļ´¿É
def GetEventStr(self, tmpList):
return '\"%s\"'%'","'.join(tmpList)
# 3.3.1. entry£¨ÐÂÍæ¼Òµ¼È룩
class entry(ScribeEvent):
Def_EntryStep_CreatRole = 3
Def_EntryStep_FirstLogin = 4
def __init__(self):
#±ØÐë×Ö¶Î
super(entry, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.step = 0 # ²½ÖèÖµ
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.browser = "" # Íæ¼ÒʹÓõÄä¯ÀÀÆ÷
self.resolution = "" # Íæ¼ÒµÄ×ÀÃæ·Ö±æÂÊ£¬¸ñʽΪ¡¸¿í*¸ß¡¹
self.os = "" # Íæ¼ÒʹÓõIJÙ×÷ϵͳ
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.browser, self.resolution, self.os, str(self.step)]
return super(entry, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_CreateRole
# 3.3.2. login£¨µÇ¼£©
class login(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(login, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.session_id = "" # ȇȡID
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.browser = "" # Íæ¼ÒʹÓõÄä¯ÀÀÆ÷
self.resolution = "" # Íæ¼ÒµÄ×ÀÃæ·Ö±æÂÊ£¬¸ñʽΪ¡¸¿í*¸ß¡¹
self.os = "" # Íæ¼ÒʹÓõIJÙ×÷ϵͳ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.browser, self.resolution, self.os, self.time, self.chr_name,
str(self.chr_level), self.session_id]
return super(login, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_Login
# 3.3.3. session£¨»á»°¼Ç¼£©
# Íæ¼ÒµÇ³ö¡¢ÀëÏßµÄÊý¾Ý£¬ÅäºÏµÇ¼Êý¾ÝÊý¾ÝÖÐÐÄ¿Éͳ¼Æ³öÍæ¼ÒÔÚÏßʱ³¤
class session(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(session, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.session_id = "" # ȇȡID
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), self.session_id]
return super(session, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_Session
# 3.3.5. virtual©\cost£¨ÐéÄâ±ÒÏû·Ñ£©
# Íæ¼Ò²úÉúÏû·Ñ¼Ç¼¼´ÊÕ¼¯£»
class virtual_cost(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(virtual_cost, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.quantity = 0 # Ïû·ÑÊýÁ¿
self.price = 0 # Ïû·ÑµãµÄÐéÄâ±Òµ¥¼Û
self.reason_name = "" # Ïû·ÑµãÃû³Æ
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.balance = 0 # Íæ¼ÒÊ£ÓàÐéÄâ±Ò
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), str(self.quantity),
str(self.price), str(self.balance), self.reason_name]
return super(virtual_cost, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_VirtualCost
# 3.3.6. virtual©\reward£¨ÐéÄâ±ÒÔùËÍ£©
# Íæ¼Ò»ñµÃÐéÄâ±ÒÔùËÍʱ¼´ÊÕ¼¯£»
# ³ýÁËÕæÊµ³äÖµ¶©µ¥²úÉúµÄÐéÄâ±ÒÔö¼Ó¶¼Ó¦¸Ã¼ÆÈëµ½ÐéÄâ±ÒÔùËÍ
class virtual_reward(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(virtual_reward, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.virtual_amount = 0 # Ôö¼ÓµÄÐéÄâ±ÒÊýÁ¿
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.balance = 0 # Íæ¼ÒÊ£ÓàÐéÄâ±Ò
self.source = "" # »ñµÃ½±ÀøµÄ;¾¶
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), str(self.virtual_amount),
str(self.balance), self.source]
return super(virtual_reward, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_VirtualReward
# 3.3.12. virtual©\resource£¨ÐéÄâ×ÊÔ´²ú³öÓëÏûºÄ£©
# ²úÉúÏàÓ¦ÐéÄâ×ÊÔ´µÄÏû·Ñ¡¢Éú²ú¼Ç¼ʱ¼´ÊÕ¼¯¡£
# ÓÃÓÚͳ¼ÆÈκÎÐéÄâ×ÊÔ´Èç¸÷Àà¶þ¼¶»õ±ÒµÄ²ú³öÓëÏûºÄ
class virtual_resource(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(virtual_resource, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.type_name = "" # ÐéÄâ×ÊÔ´ÀàÐÍÃû³Æ
self.reason_name = "" # ×ÊÔ´µãÃû³Æ
self.quantity = 0 # ÐéÄâ×ÊÔ´²ú³ö/ÏûºÄµÄ´ÎÊý
self.price = 0 # ÐéÄâ×ÊÔ´²ú³ö/ÏûºÄµÄÊýÁ¿£¬Çø·ÖÕý¸º£¬ÕýֵΪ²ú³ö£¬¸ºÖµÎªÏûºÄ
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), self.type_name,
self.reason_name, str(self.quantity), str(self.price)]
return super(virtual_resource, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_VirtualResource
# 3.3.9. custom©\events£¨×Ô¶¨Òåʼþ£©
# ÓÃÓÚͳ¼ÆÈÎºÎÆÚÍûÈ¥¸ú×ÙµÄÊý¾Ý
class custom_events(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(custom_events, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.event_name = "" # ʼþÃû³Æ
self.session_id = "" # ȇȡID
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.comments = "" # ±¸×¢»ò¸½¼ÓÐÅÏ¢ char(255)
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), self.event_name,
self.comments, self.session_id]
return super(custom_events, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_CustomEvents
# 3.3.10. mission©\log£¨ÈÎÎñ¼Ç¼£©
# ¸ú×ÙÍæ¼ÒÈÎÎñ½ÓÈ¡¡¢Íê³É¡¢Ê§°ÜÇé¿ö£¬ÒÔ¼°ÓÃÓÚÁ÷Ê§Íæ¼ÒµÄÈÎÎñ·ÖÎöµÈͳ¼Æ¡£
# ÈÎÎñ½Óȡʱ¼´ÊÕ¼¯ type=0 µÄÊý¾Ý£¬ÈÎÎñ½áÊøÇҳɹ¦Ê±¼´ÊÕ¼¯ type=1¡¢mission_result=1 µÄÊý¾Ý£¬ÈÎÎñ½áÊøÇÒʧ°Üʱ¼´ÊÕ¼¯ type=1¡¢mission_result=0 µÄÊý¾Ý¡£
class missionlog(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(missionlog, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.type = 0 # 0 ÈÎÎñ¿ªÊ¼ 1 ÈÎÎñ½áÊø
self.mission_name = "" # ÈÎÎñÃû
self.session_id = "" # ȇȡID
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.mission_result = 0 # µ±ÈÎÎñ½áÊø£¬ÈÎÎñ½á¹û 0£ºÊ§°Ü 1£º³É¹¦
self.mission_reason = "" # µ±ÈÎÎñ½áÊøÇÒÈÎÎñʧ°ÜʱµÄÔÒò
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
self.scribeEventName = ShareDefine.Def_UserAction_MissionLog
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), str(self.type), self.mission_name,
str(self.mission_result), self.mission_reason, self.session_id]
return super(missionlog, self).GetEventStr(tmpList)
def GetScribeEventName(self): return self.scribeEventName
# 3.3.11. level©\up£¨Éý¼¶¼Ç¼£©
# ÓÃÓÚÍæ¼ÒÉý¼¶Ê±³¤µÈµÈ¼¶Ïà¹ØÍ³¼Æ¡£
# µÈ¼¶·¢Éú±ä»¯Ê±¼´ÊÕ¼¯£»
# Ҫͳ¼Æ 2 ¼¶µÄÉý¼¶Ê±³¤±ØÐëÒªÓÐ 1 ¼¶µÄÉý¼¶Êý¾Ý£¬Òò´Ë¸Õ´´½¨Íê½ÇɫʱµÄ 1 ¼¶µÄÊý¾ÝÒ²ÐèÒªÊÕ¼¯¡£
class levelup(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(levelup, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.session_id = "" # ȇȡID
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), self.session_id]
return super(levelup, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_LVUP
# 3.3.13. chat-log £¨ÁÄÌìÏûÏ¢£©
# ÓÃÓÚ¼à¿ØÍæ¼ÒÁÄÌì
class chat_log(ScribeEvent):
def __init__(self):
#±ØÐë×Ö¶Î
super(chat_log, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.content = "" # ÁÄÌìÄÚÈÝ
self.cmc_name = "" # ÁÄÌìÆµµÀ±êʶ
#·Ç±ØÐë×Ö¶Î
self.ip = "" # IP µØÖ·
self.account_name = "" # Õ˺ŵǼÃû
self.account_type = 0 # Õ˺ÅÀàÐÍ
self.chr_level = 0 # Íæ¼Ò½ÇÉ«µÈ¼¶
self.object = "" # ˽ÁĶÔÏó
self.addinfo = "" # ¶îÍâÐÅÏ¢
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"1","","","12314"'
return
def GetCurEventStr(self):
if not self.time:
self.time = GameWorld.GetCurrentDataTimeStr()
tmpList = [self.product_slug, self.agent_name, self.ip, self.gameserver_no, self.account_id, self.account_name,
str(self.account_type), self.time, self.chr_name, str(self.chr_level), self.object, self.content,
self.addinfo, self.cmc_name]
return super(chat_log, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_ChatLog
## =================================================================================================
#===============================================================================
# def WriteEvent_entry_firstlogin(curPlayer, browser, resolution, pcOS):
# entryEvent = entry()
# entryEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# entryEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# entryEvent.step = entryEvent.Def_EntryStep_FirstLogin
# entryEvent.ip = curPlayer.GetIP()
# entryEvent.account_name = entryEvent.account_id
# entryEvent.account_type = GameWorld.GetAccountType(curPlayer)
# entryEvent.browser = browser
# entryEvent.resolution = resolution
# entryEvent.os = pcOS
# WriteEvent(entryEvent)
# return
#===============================================================================
def WriteEvent_login(curPlayer):
if curPlayer.GetIP() == "127.0.0.1":
return
version = urllib.quote_plus(curPlayer.GetAccountData().GetClientVersion())
EventReport(ShareDefine.Def_UserAction_Login, "Job=%s&SessionID=%s&Version=%s"%(
curPlayer.GetJob(), GameWorld.GetSessionID(curPlayer),
version), curPlayer)
return
# ÀëÏßÊý¾Ý
def WriteEvent_session(curPlayer):
seconds = 0
if PlayerTJG.GetIsTJG(curPlayer):
return
else:
logoffTimeStr = curPlayer.GetLogoffTime().strip()
loginTimeStr = curPlayer.GetLoginTime().strip()
if logoffTimeStr and loginTimeStr:
passTimes = GameWorld.GetDateTimeByStr(logoffTimeStr) - GameWorld.GetDateTimeByStr(loginTimeStr)
seconds = passTimes.seconds
EventReport(ShareDefine.Def_UserAction_Session, "OnlineTime=%s&SessionID=%s"%(seconds, GameWorld.GetSessionID(curPlayer)), curPlayer)
#===========================================================================
# sessionEvent = session()
# sessionEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# sessionEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# sessionEvent.session_id = GameWorld.GetSessionID(curPlayer)
# sessionEvent.ip = curPlayer.GetIP()
# sessionEvent.account_name = sessionEvent.account_id
# sessionEvent.account_type = GameWorld.GetAccountType(curPlayer)
# sessionEvent.chr_name = curPlayer.GetPlayerName()
# sessionEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
# WriteEvent(sessionEvent)
#===========================================================================
return
## дÐéÄâÔª±¦Ïû·Ñ¼Ç¼
# @param quantity: Ïû·ÑÊýÁ¿
# @param price: Ïû·ÑµãµÄÐéÄâ±Òµ¥¼Û
# @param reason_name: Ïû·ÑµãÃû³Æ
def WriteEvent_virtual_cost(curPlayer, quantity, price, reason_name):
'''
ÎÊ£ºÐéÄâÏû·ÑµãµÄÁ£¶È¼¸´óºÃ£¿
´ð£ºÊý¾Ý±¨±í¶ÔÐéÄâÏû·ÑµÄͳ¼ÆÖ§³ÖÁ½¼¶£¬¼´Ïû·Ñµã¼°Æä¸¸ÀàÏû·Ñµã·Ö×飬¾Ý´Ë£º
¡ñ ½¨ÒéÊÇÏû·Ñ;¾¶¼ÓÉÏÏû·Ñ¶ÔÏ󣬱ÈÈ硸É̵깺Âò£ºÈýʬÄÔÉñµ¤¡¹£¬¶øºó½«¸ÃÏû·ÑµãÔÚÏû·Ñµã·Ö×éÀï¹éΪ¡¸É̵깺Âò¡¹£»
¡ñ ²»Òª¼ÓÉÏÏû·ÑÕßÈ硸Ҷ¹Âº®£ºÉ̵깺Âò£ºÈýʬÄÔÉñµ¤¡¹£»
¡ñ ²»Òª¼ÓÉÏÏû·Ñ¶ÔÏóµÈ¼¶È硸ǿ»¯£ºÁøÒ¶µ¶ [9¼¶]¡¹¡£
'''
#===========================================================================
# virtualCostEvent = virtual_cost()
# virtualCostEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# virtualCostEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# virtualCostEvent.quantity = quantity
# virtualCostEvent.price = price
# virtualCostEvent.balance = curPlayer.GetGold()
# virtualCostEvent.reason_name = reason_name
# virtualCostEvent.ip = curPlayer.GetIP()
# virtualCostEvent.account_name = virtualCostEvent.account_id
# virtualCostEvent.account_type = GameWorld.GetAccountType(curPlayer)
# virtualCostEvent.chr_name = curPlayer.GetPlayerName()
# virtualCostEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
# WriteEvent(virtualCostEvent)
#===========================================================================
return
## дÐéÄâÔª±¦ÔùËÍ»ñµÃ¼Ç¼,º¬³äÖµ¿É²éµ½Õ˶һ»³ÉÐéÄâ±Òʱ¼ä
# @param virtual_reward: Ôö¼ÓµÄÐéÄâ±ÒÊýÁ¿
# @param source: »ñµÃ½±ÀøµÄ;¾¶
def WriteEvent_virtual_reward(curPlayer, virtual_amount, source):
#===========================================================================
# virtualRewardEvent = virtual_reward()
# virtualRewardEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# virtualRewardEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# virtualRewardEvent.virtual_amount = virtual_amount
# virtualRewardEvent.balance = curPlayer.GetGold()
# virtualRewardEvent.source = source
# virtualRewardEvent.ip = curPlayer.GetIP()
# virtualRewardEvent.account_name = virtualRewardEvent.account_id
# virtualRewardEvent.account_type = GameWorld.GetAccountType(curPlayer)
# virtualRewardEvent.chr_name = curPlayer.GetPlayerName()
# virtualRewardEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
# WriteEvent(virtualRewardEvent)
#===========================================================================
return
## д¶þ¼¶»õ±ÒµÄ²ú³öÓëÏûºÄ¼Ç¼
# @param type_name: ÐéÄâ×ÊÔ´ÀàÐÍÃû³Æ, Èç½ð±Ò
# @param reason_name: ×ÊÔ´µãÃû³Æ, ÈçË¢ÐÂÈÙÓþÉ̵ê
# @param quantity: ÐéÄâ×ÊÔ´²ú³ö/ÏûºÄµÄ´ÎÊý
# @param price: ÐéÄâ×ÊÔ´²ú³ö/ÏûºÄµÄÊýÁ¿µ¥¼Û£¬Çø·ÖÕý¸º£¬ÕýֵΪ²ú³ö£¬¸ºÖµÎªÏûºÄ
# @param flow 0 ´ú±íÏû·Ñ 1 ´ú±í²ú³ö
def WriteEvent_virtual_resource(curPlayer, type_name, reason_name, quantity, price, flow, extraDict={}):
#±ÜÃâ¼Ç¼̫¶àÐÅÏ¢
if type_name in [IPY_GameWorld.TYPE_Price_Silver_Money] and abs(quantity * price) < ChConfig.Def_DRRecord_Min_Silver:
return
if type_name not in IpyGameDataPY.GetFuncEvalCfg("EventReport", 2):
#GameWorld.DebugLog("¸Ã»õ±ÒÀàÐͲ»ÐèÒª»ã±¨! type_name=%s" % type_name)
return
# ±êʶ´Ë»õ±ÒÊÇ·ñÊÇÒ»¼¶»õ±Ò£¨³äÖµ£©
Recharged = 1 if type_name == IPY_GameWorld.TYPE_Price_Gold_Money else 0
#===========================================================================
# virtualResourceEvent = virtual_resource()
# virtualResourceEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# virtualResourceEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# virtualResourceEvent.type_name = str(type_name)
# virtualResourceEvent.reason_name = reason_name
# virtualResourceEvent.quantity = quantity
# virtualResourceEvent.price = price
# virtualResourceEvent.ip = curPlayer.GetIP()
# virtualResourceEvent.account_name = virtualResourceEvent.account_id
# virtualResourceEvent.account_type = GameWorld.GetAccountType(curPlayer)
# virtualResourceEvent.chr_name = curPlayer.GetPlayerName()
# virtualResourceEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
# WriteEvent(virtualResourceEvent)
#===========================================================================
# OperatorExtra json ¸ñʽ Ïû·Ñ¾ßÌåÔÒò
EventReport(ShareDefine.Def_UserAction_VirtualResource,
"Price=%s&Quantity=%s&OperateType=%s&CurrencyType=%s&Recharged=%s&Flow=%s&Balance=%s&OperatorExtra=%s"%(
price, quantity, reason_name, type_name, Recharged, flow,
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 WriteFuncCMEAcceptable(curPlayer, funcID):
return
if funcID not in ChConfig.FuncCMEDict:
return
WriteEvent_custom_mission_log(curPlayer, ChConfig.FuncCMEDict[funcID], ChConfig.CME_Log_Acceptable)
return True
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)
#===========================================================================
# levelupEvent = levelup()
# levelupEvent.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# levelupEvent.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# levelupEvent.session_id = GameWorld.GetSessionID(curPlayer)
# levelupEvent.ip = curPlayer.GetIP()
# levelupEvent.account_name = levelupEvent.account_id
# levelupEvent.account_type = GameWorld.GetAccountType(curPlayer)
# levelupEvent.chr_name = curPlayer.GetPlayerName()
# levelupEvent.chr_level = GetScribeEvent_chr_level(curPlayer)
# WriteEvent(levelupEvent)
#===========================================================================
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):
'''
[µØÍ¼:ĺ¹âÖ®³Ç(74,60)]
[ÉñÊ¥µÄ°ÁÊÀÖ®¹ +40]
'''
tempMatch = re.search(".*?", content)
if tempMatch:
tempStr = tempMatch.group()
markIndex = tempStr.index(">") + 1
repStr = tempStr[markIndex:tempStr.index("<", markIndex)]
content = content.replace(tempStr, repStr)
tempMatch = re.search(".*?", 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
#// A1 01 Íæ¼ÒµçÄÔÐÅÏ¢ #tagCMPCInfo
#
#struct tagCMPCInfo
#{
# tagHead Head;
# BYTE PCOSLen;
# char PCOS[PCOSLen]; // ²Ù×÷ϵͳ
# BYTE ResolutionLen;
# char Resolution[ResolutionLen]; // ·Ö±æÂÊ
# BYTE BrowserLen;
# char Browser[BrowserLen]; // ä¯ÀÀÆ÷
# BYTE ScribeTypeLen;
# char ScribeType[ScribeTypeLen]; // ¼Ç¼ÀàÐÍ
# BYTE ScribeDataLen;
# char ScribeData[ScribeDataLen]; // ¼Ç¼À©Õ¹ÐÅÏ¢
#};
def ReceiveClientPCInfo(index, clientData, tick):
#===========================================================================
# curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
# PCOS = clientData.PCOS
# Resolution = clientData.Resolution
# Browser = clientData.Browser
# ScribeType = clientData.ScribeType
# #ScribeData = clientData.ScribeData
#
# GameWorld.DebugLog("ReceiveClientPCInfo %s" % ScribeType)
# GameWorld.DebugLog(" PCOS=%s" % PCOS)
# GameWorld.DebugLog(" Resolution=%s" % Resolution)
# GameWorld.DebugLog(" Browser=%s" % Browser)
#
# # ת»¯Îª¶Ô·½ËùÐè¸ñʽ
# if PCOS and "Windows" in PCOS:
# PCOS = " ".join(PCOS.split(" ")[:2])
#
# # ת»¯Îª¶Ô·½ËùÐè¸ñʽ
# if Resolution:
# Resolution = "%s*%s" % eval(Resolution)
#
# if ScribeType == ShareDefine.Def_UserAction_Login:
# firstLogin = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FirstLogin)
# if not firstLogin:
# PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FirstLogin, 1)
# WriteEvent_entry_firstlogin(curPlayer, Browser, Resolution, PCOS)
# if curPlayer.GetLV() == 1:
# WriteEvent_level_up(curPlayer) # Ê׵Ƿ¢ËÍÒ»´Î1¼¶Êý¾Ý
# GameWorld.DebugLog(" entry_firstlogin")
#
# WriteEvent_login(curPlayer, Browser, Resolution, PCOS)
#===========================================================================
return
#// A2 19 ÓÎÏ·½¨ÒéÊÕ¼¯ #tagCMAdviceSubmit
#
#struct tagCMAdviceSubmit
#{
# tagHead Head;
# BYTE Type; //Ìá½»ÀàÐÍ
# WORD Len;
# char Content[Len]; //size = Len
#};
def OnSubmitBugSuggest(index, clientData, tick):
#===========================================================================
# curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
# subType = clientData.Type
# content = clientData.Content
# eventName = Def_Custom_Events_Bug if subType == 0 else Def_Custom_Events_Suggest
# WriteEvent_custom_events(curPlayer, eventName, content)
# DataRecordPack.DR_BugSuggest(curPlayer, eventName, content)
#===========================================================================
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 # ´Ë´Î½ø½×²Ù×÷ºóµÄ×øÆïµÈ½×ÐÇÊýµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 # ½ø½×²Ù×÷ºóµÄ×£¸£Öµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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):
# ³èÎïÉý¼¶¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(pet_lv, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.bef_lv = 0 # Éý¼¶Ç°µÈ¼¶, 0´ú±í1ÐÇ
self.aft_lv = 0 # ´Ë´ÎÉý¼¶²Ù×÷ºóµÈ¼¶
self.bef_exp = 0 ## ´Ë´Î½ø½×²Ù×÷ǰµÄ¾ÑéÖµ
self.aft_exp = 0 ## ´Ë´Î½ø½×²Ù×÷ºóµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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_lv), str(self.aft_lv), str(self.bef_exp), str(self.aft_exp), self.time]
return super(pet_lv, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_PetLV
def WriteEvent_pet_lv(curPlayer, befLV, aftLV, befExp, aftExp):
## д³èÎïÉý¼¶¼Ç¼
#===========================================================================
# petLV = pet_lv()
# petLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# petLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# petLV.chr_name = curPlayer.GetPlayerName()
# petLV.bef_lv = befLV
# petLV.aft_lv = aftLV
# petLV.bef_exp = befExp
# petLV.aft_exp = aftExp
# WriteEvent(petLV)
#===========================================================================
return
class pet_class(ScribeEvent):
# ³èÎï½ø½×¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(pet_class, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.pet_name = "" # ³èÎïÃû³Æ
self.bef_class_lv = 0 # ²Ù×÷ǰµÄµÈ½×, 0´ú±í1½×
self.bef_exp = 0 # ²Ù×÷ǰµÄ×£¸£Öµ
self.aft_class_lv = 0 # ´Ë´Î½ø½×²Ù×÷ºóµÄµÈ½×
self.aft_exp = 0 # ½ø½×²Ù×÷ºóµÄ×£¸£Öµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.pet_name, str(self.bef_class_lv), str(self.bef_exp),
str(self.aft_class_lv), str(self.aft_exp), self.time]
return super(pet_class, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_PetClass
def WriteEvent_pet_class(curPlayer, petName, befClassLV, befExp, aftClassLV, aftExp):
## д³èÎï½ø½×¼Ç¼
#===========================================================================
# petLV = pet_class()
# petLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# petLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# petLV.chr_name = curPlayer.GetPlayerName()
# petLV.pet_name = petName
# petLV.bef_class_lv = befClassLV
# petLV.bef_exp = befExp
# petLV.aft_class_lv = aftClassLV
# petLV.aft_exp = aftExp
# WriteEvent(petLV)
#===========================================================================
return
class give_money(ScribeEvent):
# »õ±Ò²ú³ö¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(give_money, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.source = "" # À´Ô´
self.type_name = "" # »õ±ÒÃû³Æ
self.addMoney = 0 # ²ú³öÊýÁ¿
self.total_money = 0 # Ê£Óà»õ±Ò×ÜÁ¿
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.source, self.type_name, str(self.addMoney), str(self.total_money), self.time]
return super(give_money, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_GiveMoney
def WriteEvent_give_money(curPlayer, source, typeName, addMoney, totalMoney):
## д»õ±Ò²ú³ö¼Ç¼
#===========================================================================
# giveMoney = give_money()
# giveMoney.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# giveMoney.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# giveMoney.chr_name = curPlayer.GetPlayerName()
# giveMoney.source = source
# giveMoney.type_name = typeName
# giveMoney.addMoney = addMoney
# giveMoney.total_money = totalMoney
# WriteEvent(giveMoney)
#===========================================================================
return
class pay_money(ScribeEvent):
# »õ±ÒÏûºÄ¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(pay_money, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.reason_name = "" # Ïû·Ñµã
self.type_name = "" # »õ±ÒÃû³Æ
self.costmoney = 0 # ÏûºÄÊýÁ¿
self.total_money = 0 # Ê£Óà»õ±Ò×ÜÁ¿
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.reason_name, self.type_name, str(self.costmoney), str(self.total_money), self.time]
return super(pay_money, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_PayMoney
def WriteEvent_pay_money(curPlayer, reasonName, typeName, costMoney, totalMoney):
## д»õ±ÒÏûºÄ¼Ç¼
#===========================================================================
# payMoney = pay_money()
# payMoney.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# payMoney.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# payMoney.chr_name = curPlayer.GetPlayerName()
# payMoney.reason_name = reasonName
# payMoney.type_name = typeName
# payMoney.costmoney = costMoney
# payMoney.total_money = totalMoney
# WriteEvent(payMoney)
#===========================================================================
return
class equip_item(ScribeEvent):
# Íæ¼Ò×°±¸Í³¼Æ
def __init__(self):
#±ØÐë×Ö¶Î
super(equip_item, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.equip_place = 0 # ×°±¸Î»
self.class_lv = 0 # ×°±¸½×Êý, 0ÐÂÊÖ½×, 1-1½×
self.item_quality = 0 # Æ·ÖÊ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.equip_place), str(self.class_lv), str(self.item_quality), self.time]
return super(equip_item, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_EquipItem
def WriteEvent_orange_equip(curPlayer, place, classLV, quality):
## Ð´Íæ¼Ò×°±¸Í³¼Æ
#===========================================================================
# equipItem = equip_item()
# equipItem.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# equipItem.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# equipItem.chr_name = curPlayer.GetPlayerName()
# equipItem.equip_place = place
# equipItem.class_lv = classLV
# equipItem.item_quality = quality
# WriteEvent(equipItem)
#===========================================================================
return
class item_record(ScribeEvent):
# ÎïÆ·Á÷Ë®¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(item_record, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.rec_type = 0 # »ñµÃ¡¢Ê§È¥
self.event_name = "" # ʼþµãÃû³Æ
self.item_name = "" # ÎïÆ·Ãû
self.item_count = 0 # ÎïÆ·ÊýÁ¿
self.guid = "" # ÎïÆ·Î¨Ò»ID
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.rec_type), self.event_name, self.item_name, str(self.item_count), self.guid, self.time]
return super(item_record, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_ItemRecord
def WriteEvent_item_record(curPlayer, recType, operateType, itemData, operatorExtra):
EventReport(ShareDefine.Def_UserAction_ItemRecord, "Flow=%s&OperateType=%s&ItemData=%s&OperatorExtra=%s"
% (recType, operateType,
json.dumps(itemData, ensure_ascii=False),
json.dumps(operatorExtra, ensure_ascii=False)), curPlayer)
return
#===============================================================================================
# ''' @todo: ÎïÆ·Á÷Ë®¼Ç¼
# @param recType: 1-»ñµÃ£»-1-ʧȥ
# '''
# itemRecord = item_record()
# itemRecord.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# itemRecord.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# itemRecord.chr_name = curPlayer.GetPlayerName()
# itemRecord.rec_type = recType
# itemRecord.event_name = eventName
# itemRecord.item_name = itemName
# itemRecord.item_count = itemCount
# itemRecord.guid = guid
# WriteEvent(itemRecord)
# return
#===============================================================================================
class coin_to_gold(ScribeEvent):
# ¶Ò»»µãȯ
def __init__(self):
#±ØÐë×Ö¶Î
super(coin_to_gold, self).__init__()
self.account_id = "" # Õ˺ŠID£¬Æ½Ì¨ÏÂΨһ£¬ÇÒÖÕÉú²»±ä
self.chr_name = "" # Íæ¼Ò½ÇÉ«Ãû
self.order_id = "" # ¶©µ¥ID
self.event_name = "" # ʼþµãÃû³Æ
self.coin = 0 # ¶Ò»»µãȯ
self.coin_prize = 0 # ½±Àøµãȯ
self.gold = 0 # »ñµÃ×êʯ
self.total_gold = 0 # µ±Ç°×Ü×êʯÊý
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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.order_id, self.event_name, str(self.coin), str(self.coin_prize), str(self.gold),
str(self.total_gold), self.time]
return super(coin_to_gold, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_CoinToGold
def WriteEvent_coin_to_gold(curPlayer, orderID, eventName, coin, prizeCoin, addGold):
return
#===========================================================================
# coinToGold = coin_to_gold()
# coinToGold.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# coinToGold.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# coinToGold.chr_name = curPlayer.GetPlayerName()
# coinToGold.order_id = orderID
# coinToGold.event_name = eventName
# coinToGold.coin = coin
# coinToGold.coin_prize = prizeCoin
# coinToGold.gold = addGold
# coinToGold.total_gold = curPlayer.GetGold()
# 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 # ´Ë´Î½ø½×²Ù×÷ºóµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 # ´Ë´Î²Ù×÷ºóµÄ·ûÓ¡¾«»ª
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 = "" # еÄÃû×Ö
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 # Ê£Óà×ÜÁ¿
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 # Ê£Óà×ÜÁ¿
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 #´Ë´Î½ø½×²Ù×÷ºóµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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 #´Ë´Î½ø½×²Ù×÷ºóµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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):
# ʱװÉý¼¶¼Ç¼
def __init__(self):
#±ØÐë×Ö¶Î
super(horseskin_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 #´Ë´Î½ø½×²Ù×÷ºóµÄ¾ÑéÖµ
#·Ç±ØÐë×Ö¶Î
#¼´Ê±ÊǷDZØÐë×Ö¶ÎÒ²Ó¦¸Ã´«ËÍ£¬¸÷×Ö¶ÎÓÃ,·Ö¸ô£¬²¢ÇÒÓÃË«ÒýºÅ°üº¬£¬²Î¿¼¸ñʽ'"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(horseskin_lv, self).GetEventStr(tmpList)
def GetScribeEventName(self): return ShareDefine.Def_UserAction_HorseSkinLV
def WriteEvent_horseskin_lv(curPlayer, skinName, befLV, befExp, costItemCnt, aftLV, aftExp):
## д»Ã»¯×øÆïÉý¼¶¼Ç¼
#===========================================================================
# horseSkinLV = horseskin_lv()
# horseSkinLV.SetEventAgentInfo(GameWorld.GetPlayerPlatform(curPlayer.GetAccID()))
# horseSkinLV.account_id = GameWorld.GetPlatformAccID(curPlayer.GetAccID())
# horseSkinLV.chr_name = curPlayer.GetPlayerName()
# horseSkinLV.skin_name = skinName
# horseSkinLV.bef_lv = befLV
# horseSkinLV.bef_exp = befExp
# horseSkinLV.cost_item_cnt = costItemCnt
# horseSkinLV.aft_lv = aftLV
# horseSkinLV.aft_exp = aftExp
# WriteEvent(horseSkinLV)
#===========================================================================
return
## ---------------------------------------------------------------------------------------
#------------------------2018-02-09 еÄÊý¾Ýͳ¼Æ--------------------------------
def WriteEvent_Entry(curPlayer, step):
EventReport(ShareDefine.Def_UserAction_LostModel, "Step=%s&Flag=%s"%(step, ShareDefine.Def_UserAction_CreateRole), curPlayer)
def WriteEvent_VIP(curPlayer):
EventReport(ShareDefine.Def_UserAction_VIPLvUP, "VIPLevel=%s"%curPlayer.GetVIPLv(), curPlayer)
def WriteEvent_FightPower(curPlayer):
EventReport(ShareDefine.Def_UserAction_FightPower, "FightPower=%s"%PlayerControl.GetFightPower(curPlayer), curPlayer)