hxp
2021-11-17 ffa8a645ed6a92a3c723bbf5c7f1eb4d5425c826
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
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
#
##@package PlayerRewardOnLogin
#
# @todo:ÉÏÏ߸ù¾ÝͨÓý±Àø¼Ç¼¸ø½±Àø
# @author hxp
# @date 2015-9-21
# @version 1.0
#
# ÏêϸÃèÊö: ÉÏÏ߸ù¾ÝͨÓý±Àø¼Ç¼¸ø½±Àø
#
#---------------------------------------------------------------------
"""Version = 2015-9-21 20:00"""
#---------------------------------------------------------------------
#import DataRecordPack
#import ShareDefine
#import GameWorld
#import ChConfig
#
#import time
 
#Def_RecType = ShareDefine.Def_UniversalGameRecType_RewardOnLogin
 
 
## ÌíÍæ¼ÒµÇ½ʱ¿ÉÁìÈ¡µÄ½±Àø
#  @param playerID Íæ¼ÒID
#  @param accID Íæ¼ÒaccID
#  @param actionType »î¶¯ÀàÐÍ, ¸ù¾Ý»î¶¯ÀàÐÍ¿É×öһЩ²»Í¬µÄ´¦Àí£¬ÈçÅäÖò»Í¬µÄÌáʾµÈ
#  @param rewardType ½±ÀøÀàÐÍ, Èç×êʯ¡¢½ð±ÒµÈ
#  @param value ½±ÀøÊýÖµ
#  @return None
def AddPlayerRewardOnLogin(playerID, accID, actionType, rewardType, value):
    
#    #ËùÓÐÍæ¼ÒÐÅϢͨÓüǼ¶ÔÏó¹ÜÀíÆ÷
#    universalRecMgr = GameWorld.GetUniversalRecMgr()  
#    
#    #ijһÀàÐͼǼµÄËùÓÐÊý¾Ý
#    recTypeListData = universalRecMgr.GetTypeList(Def_RecType)
#    recCount = recTypeListData.Count()
#    if recCount >= ChConfig.UniversalGameRecTypeSaveCnt.get(Def_RecType, 0):
#        recTypeListData.SortByTime()  # °´Ê±¼äÉýÐò
#        recTypeListData.Delete(0)  # É¾³ýµÚÒ»¸ö
#        
#    curTimeStr = GameWorld.GetCurrentDataTimeStr()
#    curTimeTuple = time.strptime(curTimeStr, ChConfig.TYPE_Time_Format)
#    curTimeNum = int(time.mktime(curTimeTuple))
#        
#    #Ìí¼ÓÒ»¸ö¼Ç¼¶ÔÏó
#    recObj = recTypeListData.AddRec()
#    
#    #---ÉèÖüǼ¶ÔÏóÊý¾Ý---
#    recObj.SetTime(curTimeNum)
#    recObj.SetStrValue1(accID)
#    recObj.SetValue1(playerID)
#    recObj.SetValue2(actionType)
#    recObj.SetValue3(rewardType)
#    recObj.SetValue4(value)
#    
#    #Á÷Ïò
#    DataRecordPack.DR_PlayerRewardOnLogin(playerID, accID, actionType, rewardType, value, "Add")
    return
 
 
## Íæ¼ÒµÇ½ʱ¿ÉÁìÈ¡µÄ½±Àø
#  @param curPlayer 
#  @return None
def MapServer_RewardOnLogin(curPlayer):
    
#    player_ID = curPlayer.GetPlayerID()
#    acc_ID = curPlayer.GetAccID()
#    universalRecMgr = GameWorld.GetUniversalRecMgr() 
#    recTypeListData = universalRecMgr.GetTypeList(Def_RecType)
#    recCount = recTypeListData.Count()
#    
#    GameWorld.Log("MapServer_RewardOnLogin recCount=%s" % recCount)
#    rewarDict = {} #{actionType:{rewardType:value,...}, ...}
#    #´Ó´óµ½Ð¡É¾³ý
#    index = recCount - 1
#    for i in range(recCount):
#        delIndex = index - i
#        universalRecData = recTypeListData.At(delIndex)
#        accID = universalRecData.GetStrValue1()
#        playerID = universalRecData.GetValue1()
#        actionType = universalRecData.GetValue2()
#        rewardType = universalRecData.GetValue3()
#        value = universalRecData.GetValue4()
#        
#        # Á½Õß¶¼ÐèÆ¥Å䣨ºÏ·þºóplayID»á±ä¸ü£¬µ«ÊÇÖ÷·þ£©
#        if playerID != player_ID or (accID != "" and accID != acc_ID):
#            GameWorld.DebugLog("·Ç±¾·þÍæ¼Ò½±Àø¼Ç¼£ºrecPlayerID=%s,recAccID=%s,playerID=%s,accID=%s" 
#                               % (playerID, accID, player_ID, acc_ID))
#            continue
#        
#        rewardTypeDict = rewarDict.get(actionType, {})
#        rewardTypeDict[rewardType] = rewardTypeDict.get(rewardType, 0) + value
#        rewarDict[actionType] = rewardTypeDict
#        
#        #ɾ³ý¸ÃÌõ½±Àø
#        recTypeListData.Delete(delIndex)
#        DataRecordPack.DR_PlayerRewardOnLogin(playerID, accID, actionType, rewardType, value, "Del")
#        GameWorld.Log("    recTypeListData Delete %s" % delIndex)
#    
#    if not rewarDict:
#        GameWorld.Log("ûÓÐÀëÏߵǽ½±ÀøÁìÈ¡", player_ID)
#        return
#    
#    sendMsg = str(rewarDict)
#    #֪ͨMapServer¸ø½±Àø
#    curPlayer.MapServer_QueryPlayerResult(0, 0, 'RewardOnLogin', sendMsg, len(sendMsg))
#    GameWorld.Log("µÇ½¸øÀëÏ߻½±Àø£ºsendMsg=%s" % sendMsg, curPlayer.GetPlayerID())
    return