hch
2021-05-04 1a0ad714b01722f0a1c9bc4777b8e0d11ed15e01
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#!/usr/bin/python
# -*- coding: GBK -*-
 
##@package GameLogInfo
# ·þÎñÆ÷¶ËÐÅÏ¢¼Ç¼
#
# @author Mark
# @date 2010-4-28
# @version 1.0
#
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
# VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ
#
# Ä£¿éÏêϸ˵Ã÷
#·þÎñÆ÷¶ËÐÅÏ¢¼Ç¼
#---------------------------------------------------------------------
#µ¼Èë
import GameWorld
import time
#---------------------------------------------------------------------
#È«¾Ö±äÁ¿
#---------------------------------------------------------------------
 
#---------------------------------------------------------------------
#Âß¼­ÊµÏÖ
#===============================================================================
# MapServer²ÎÊýͳ¼Æ(ÿ¸ömapServer¶ÀÁ¢¼Ç¼)
# Ã¿ÈÕNPC´¦ÀíÂß¼­´¦Àí×ܺÄʱms          'NPCLogicTime'
# Ã¿ÈÕÈÎÎñ´¦ÀíÂß¼­×ܺÄʱms             'MissionTime'
# Ã¿ÈÕÍæ¼ÒÂß¼­´¦Àí×ܺÄʱms             'PlayerLogicTime' 
# ÈÎÎñµÄÇëÇó´ÎÊý                         'MissionCount'
#===============================================================================
Def_LogInfo_NPCLogicTime = 'NPCLogicTime'
Def_LogInfo_MissionTime = 'MissionTime' 
Def_LogInfo_PlayerLogicTime = 'PlayerLogicTime'
Def_LogInfo_MissionCount = 'MissionCount'
Def_LogInfo_PlayerSight = 'PlayerSightRefresh'           #Õâ¸öC++±£´æµÄ
 
#×Ü±í£¬ÐèÒª¼Ç¼ËùÓеÄkey
Def_LogInfo_Key_List = [ 
                         Def_LogInfo_NPCLogicTime    , Def_LogInfo_MissionTime , 
                         Def_LogInfo_PlayerLogicTime , Def_LogInfo_MissionCount,
                         Def_LogInfo_PlayerSight     , 
                         ]
 
## »ñµÃ¼Ç¼¹ÜÀíÆ÷
#  @param ÎÞ
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def GetLogInfoManager():
    return GameWorld.GetGameWorld().GetDBMapServerInfoManager()
 
## Ã¿ÈÕNPC´¦ÀíÂß¼­´¦Àí×ܺÄʱms
#  @param startClock Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def LogInfo_NPCLogicTime( startClock ):
    return
    __DoLogic_LogInfo_MS( Def_LogInfo_NPCLogicTime , startClock )
    return
 
## Ã¿ÈÕÈÎÎñ´¦ÀíÂß¼­×ܺÄʱms
#  @param startClock Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def LogInfo_MissionTime( startClock ):
    return
    __DoLogic_LogInfo_MS( Def_LogInfo_MissionTime , startClock )
    return
 
## Ã¿ÈÕÍæ¼ÒÂß¼­´¦Àí×ܺÄʱms
#  @param startClock Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def LogInfo_PlayerLogicTime( startClock ):
    return
    __DoLogic_LogInfo_MS( Def_LogInfo_PlayerLogicTime , startClock )
    return
 
## ÈÎÎñµÄÇëÇó´ÎÊý
#  @param value ÇëÇó´ÎÊý
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def LogInfo_MissionCount( value ):
    return
    __DoLogic_LogInfo_Count( Def_LogInfo_MissionCount , value )
    return
 
## Ö´ÐмǼÂß¼­,(ºÁÃë)
#  @param key 
#  @param startClock Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __DoLogic_LogInfo_MS( key , startClock ):
    lastClock = __GetLastClock( key , startClock )
    __SaveLogInfo( key , lastClock )
    return
 
## Ö´ÐмǼÂß¼­,(´ÎÊý)
#  @param key 
#  @param value ´ÎÊý
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __DoLogic_LogInfo_Count( key , value ):
    __SaveLogInfo( key , value )
    return
 
## »ñµÃ³ÖÐøÊ±¼ä
#  @param key 
#  @param timeClock Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __GetLastClock( key , timeClock ):
    lastClock = time.clock() - timeClock
    
    if lastClock < 0 :
        GameWorld.Log('###¼Ç¼key = %s ,  tick = %s , Òì³£'%( key , timeClock ))
        return 0
    
    #¼Ç¼ΪºÁÃë
    return int( lastClock * 1000 )
 
## Ö´ÐмǼÂß¼­
#  @param key 
#  @param addValue ¼Ç¼¸½¼ÓÖµ
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __SaveLogInfo( key , addValue ):
    return
    if addValue <= 0:
        return
    
    info = GetLogInfoManager().GetDBMapServerInfo( GameWorld.GetMap().GetMapID() , key )
    info.SetValue( info.GetValue() + addValue )
    return
    
## Çå¿ÕËùÓмǼÐÅÏ¢
#  @param ÎÞ 
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def ClearGameLogInfo():
    #»ñµÃÐÅÏ¢¹ÜÀíÆ÷
    infoManager = GetLogInfoManager()
    
    for key in Def_LogInfo_Key_List:
        __DoLogic_ClearGameLogInfo( key , infoManager )
    
    #GameWorld.Log('SaveAndClearGameLogInfo_Success')    
    return
 
## Çå¿ÕÓÎÏ·logÐÅÏ¢
#  @param key
#  @param infoManager log¹ÜÀíÆ÷
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def __DoLogic_ClearGameLogInfo( key , infoManager ):
    info = infoManager.GetDBMapServerInfo( GameWorld.GetGameWorld().GetRealMapID() , key )
    #Ïȱ£´æ
    #info.DataServer_SaveInfo()
    #ÔÚÇå¿Õ
    info.SetValue( 0 )
    return