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
¾Sý[c@sPddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ ej Z ejZddd„ƒYZddd„ƒYZd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Z dS(iÿÿÿÿNidtHelpBattlePlayercBseZd„ZRS(cCsp||_d|_d|_d|_d|_d|_d|_d|_d|_d|_    i|_
d|_ dS(Nit( tplayerIDtjobt
playerNametplayerLVtrealmLVt
fightPowertfamilyIDtvipLVt checkInCountt checkInTimettodayHelpCountDictttodayXianyuanCoin(tselfR((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt__init__'s                                                (t__name__t
__module__R(((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR%stFBHelpBattleRecordcBseZd„ZRS(cCsLd|_d|_d|_d|_d|_d|_d|_d|_dS(NiR(t callPlayerIDtcallPlayerNametmapIDt
funcLineIDtxianyuanCoinAddtrelationR    t
recordTime(R((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR9s                                (RRR(((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR7sc Csþtjdƒtjƒ}|jtƒ}x\t|jƒƒD]H}|j|ƒ}|jƒ}t    |ƒ}|j
ƒ|_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ}|d|_tt|ƒdd!ƒ|_tt|ƒdd!ƒ|_|d|_|jƒ|_t|jƒƒ|_|jƒ}|jdƒrb|jdƒrbt |ƒ|_!ntj"d||ƒ|t#j$|<q;Wtjd    t%t#j$ƒƒ|jt&ƒ}xót|jƒƒD]ß}|j|ƒ}|jƒ}t'ƒ}    t|jƒƒ|    _(|jƒ|    _)|j ƒ|    _*|jƒ|    _+|jƒ|    _,|jƒd|    _-|jƒd|    _|j
ƒ|    _.t#j/j0|gƒ}
|
j1|    ƒ|
t#j/|<qÃWtjd
t%t#j/ƒƒx7t#j/j2ƒD]&\}} tjd t%| ƒ|ƒqÐWdS( Ns¿ª·þ¼ÓÔØÖúÕ½Ïà¹ØÐÅÏ¢...i †iûÿÿÿiýÿÿÿiÿÿÿÿi
s{s+LoadCheckInPlayerError: helpCountDictStr=%ss¼ÓÔØÖúÕ½µÇ¼ÇÍæ¼Ò¼Ç¼: %ss¼ÓÔØÍæ¼Òδͬ²½ÖúÕ½: %ss¼ÓÔØÍæ¼Òδͬ²½ÖúÕ½¼Ç¼: %s(3t    GameWorldtLogtGetUniversalRecMgrt GetTypeListtDef_RecType_CheckInPlayertxrangetCounttAtt    GetValue1RtGetTimeR t    GetValue2Rt    GetValue3Rt    GetValue4R
t    GetValue5RtinttstrR    RRt GetStrValue1Rt GetStrValue2R t GetStrValue3t
startswithtendswithtevalR tErrLogt
PyGameDatatg_fbHelpBattleCheckInPlayerDicttlentDef_RecType_HelpRecordRRRRRRRRtg_fbHelpBattleRecordtgettappendtitems( tuniversalRecMgrtcheckInPlayerRecListtindextrecDataRthelpBattlePlayertvalue5thelpCountDictStrthelpRecordRecListt
helpRecordtunNotifyRecordListthelpList((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt OnServerStartDsX              cCs^tjdƒtjƒ}|jtƒ|jtƒtjdttjƒƒ|j    tƒ}xítjj
ƒD]Ü\}}|j ƒ}|j |j ƒ|j|ƒ|j|jƒ|j|jƒ|j|jƒ|jtd|j|j|j|jfƒƒ|j|jƒ|jt|jƒƒ|j t|j!ƒj"ddƒƒqlWtjdttj#ƒƒ|j    tƒ}xâtj#j
ƒD]Ñ\}}tjdt|ƒ|ƒx¨|D] }|j ƒ}|j |j$ƒ|j|ƒ|j|j%ƒ|j|j&ƒ|j|j'ƒ|j|jd|j(ƒ|j|j)ƒ|jt|j*ƒƒq²Wq…WdS(    Ns¹Ø·þ±£´æÖúÕ½Ïà¹ØÐÅÏ¢...s±£´æÖúÕ½µÇ¼ÇÍæ¼Ò¼Ç¼: %ss %d%02d%02d%ds Rs±£´æÖúսδͬ²½¼Ç¼: %ssÍæ¼Òδͬ²½ÖúÕ½¼Ç¼: %si
(+RRRtDeleteRR4R3R1R2RR8tAddRectSetTimeR t    SetValue1t    SetValue2Rt    SetValue3Rt    SetValue4R
t    SetValue5R(RR    RRt SetStrValue1Rt SetStrValue2R)R t SetStrValue3R treplaceR5RRRRRRR(R9R:Rt checkInPlayerR<R@RCRA((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt OnServerClosews@      /&   cCs±ttjƒƒ}tjddƒ}|dd}xxtjjƒD]g\}}|j}|||kr—tjj|ƒt    j
d||f|ƒqBni|_ d|_ qBWdS(    NtHelpBattleCheckIniiii<s/Çå³ý³¬Ê±ÖúÕ½µÇ¼ÇÍæ¼Ò: curTime=%s,checkInTime=%sii( R(ttimet IpyGameDataPYt
GetFuncCfgR1R2R8R tpopRRR R (tcurTimetcheckInValidHourstcheckInValidSecondsRRQR ((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytHelpBattleOnDay›s         cCsB|jƒ}|tjkrdStjj|ƒ}t||ƒdS(N(t GetPlayerIDR1R5RWt SendMapServer_FBHelpBattleRecord(t    curPlayerRRB((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytOnHelpPlayerLogin¬s   cCsÆtjs dStjjƒ}ttjƒƒ}tjƒ}tjddƒ}tj    ddƒ}xatjj
ƒD]P\}}|j |ƒ}| snt j |ƒr¥qnn|j}||krÀqnn|j}    ||    d}
|
|kréqnn||
} x3tdƒD]%} tj|ƒ} | |krPqqW| |kr;qnntj| ƒ}d}tj| }t||ƒ}|}tjd|
|| fƒi||6}d    |||g}t| |j|ƒqnWdS(
sՠÿ·ÖÖÓ´¦Àí
            Ç°X´ÎµÇ¼Çºó£¬·Ö±ðÔڵǼǺóµÄµÚX·ÖÖÓÔùËÍÍæ¼Ò×ÚÃÅÊÔÁ¶Ò»²ãµÄÖúÕ½ÏÉÔµ±Ò£¬²¢Î±ÔìÒ»·ÝÖúÕ½¼Ç¼¡£
            ÖúÕ½¼ÇÂ¼Ëæ»ú´ÓÖúÕ½µÇ¼Ç¿âÀïËæ»úÌôÑ¡1Ãû³ý×Ô¼ºÍâµÄÍæ¼Ò£¬Èç¹ûûÓÐÍæ¼Ò£¬¸ÃÌØÊâÂß¼­²»ÉúЧ
    NRSiii<iisK    ÏµÍ³Ä£ÄâÕÙ»½ÐÂÊֵǼÇÍæ¼Ò: checkInMinutes=%s,playerID=%s,callPlayerID=%stCall(R1R2tkeysR(RTRtGetPlayerManagerRURVtGetFuncEvalCfgR8tFindPlayerByIDt PlayerControltGetIsTJGR
R Rtrandomtchoicet__GetHelpBattleRelationtDebugLogt__DoFBHelpBattleCallR(thelpPlayerIDListRXt playerManagertnewbieCheckInCounttsysAutoCallHelpDictRRQR^R
R tcheckInMinutestrandHelpMapListt_t randPlayerIDt randHelpMapIDtlineIDR=RtcalledPlayerIDtcalledPlayerDicttmsgList((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytOnMinuteProcess´sF               
    cCs |tjkS(N(R1R2(R((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytIsInHelpBattleCheckInListóscCs»tjdt|ƒ|jƒƒ|s*dS|d}g}|dkrXt||ƒ}nK|dkrvt||ƒ}n-|dkr£t|jƒ|jƒ|ƒ}n|dkr³dS||S(NsMapServer_FBHelpBattle %sRitCheckIntRefreshR`(    RRjR)R\t__DoPlayerFBHelpBattleCheckInt__DoFBHelpBattleRefreshRktGetNametNone(R^Rxtcmdtresult((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytMapServer_FBHelpBattleõs 
   ! c     Csf|d\}}ttjƒƒ}|jƒ}tjj|ƒ}|rLdnd}tj|ƒ}tj    j
|ƒ}    |    s•t |ƒ}    |    tj    |<n|j ƒ|    _ |jƒ|    _|jƒ|    _|jƒ|    _||    _|jƒ|    _|jƒ|    _|d|    _||    _||    _d}
tjd|jƒ||jƒ|jƒ||d|f|ƒ|
|gS(NiisrÍæ¼ÒÖúÕ½µÇ¼Ç: playerLV=%s,fightPower=%s,familyID=%s,vipLV=%s,todayXianyuanCoin=%s,checkInCount=%s,haveViewCache=%s(R(RTR\tPlayerViewCachet ViewCacheMgrt    FindCacheRetGetTodayXianyuanCoinR1R2R6RRRtGetLVRtGetJobRtGetOfficialRankRRt GetFamilyIDRtGetVIPLvR    R
R R RR( R^RxR
RRXRtcurCachet haveViewCacheR R=tisOK((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR}s0                   6cCsP|tjkrdStj|}||_||_tjd||f|ƒdS(Ns/¸üÐÂÖúÕ½Íæ¼ÒµÈ¼¶Õ½Á¦: fightPower=%s,familyID=%s(R1R2RRRRj(RRRR=((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytUpdateCheckInPlayerInfo,s         cCsŸ|jƒ}|tjkrdStj|}|tjkrG||_n:|tjkrb||_n|tjkr}||_    ndSt
j d||f|ƒdS(Ns)¸üÐÂÖúÕ½Íæ¼ÒÐÅÏ¢: refreshType=%s,value=%s( R\R1R2tIPY_GameServertCDBPlayerRefresh_LVRtCDBPlayerRefresh_ExAttr11R tCDBPlayerRefresh_VIPLvR    RRj(R^t refreshTypetvalueRR=((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt UpdateCheckInPlayerInfoByRefresh6s     c)
Cs|d\}}}}}i}tjd||ƒ}|sA|gS|jƒ}    |jƒ}
|jƒ} |jƒ} d} |}| r³t| ƒdkr³| \} }|r³d}q³n||f}|jƒ}tj    d||||||f|ƒd}x¹|j
ƒD]«\}}|\}}}|t j krjt j |}t ||||ƒ||<|r¯|d7}q¯qd|kotknrŸt dt|ƒ||<qtjdƒqqW|rÖtj    dt|ƒ|ƒnttjƒƒ}tjddƒ}tjdd    ƒ}tjd
dƒ}|d }t j jƒ}tj|ƒtj    d t|ƒ|ƒx|D]û}||krŽtjd |ƒqen||kr±tjd|ƒqent|ƒ|krØtjd|ƒPnt j |}|j} |j}!|j}"| | kr,tjd|| | fƒqen|    r^|!|    kr^tjd||!|    fƒqen|
r|!|
krtjd||!|
fƒqen||"}#|#|krÉtjd||"|#|fƒqent}| r5|jj|dƒ}$|$| k}|r(||kr(tjd|||fƒqen|d7}nt||ƒ}t |||j |ƒ||<qeWtj!ddƒ}%|t|ƒ}&d}'xg|&dkrõ|'tkrõ|'d7}'|'|krÃqn|&d8}&tj"|%ƒ}(t dt|(ƒ||'<qWtj    d||ƒ|gS(Nit FBHelpBattleiisqË¢ÐÂÖúÕ½Áбí: mapID=%s,funcLineID=%s,helpCountLineID=%s,isClientRefresh=%s,costMoneyList=%s,calledPlayerIDDict=%ssZÒÑÕÙ»½µÄÖúÕ½Íæ¼ÒÕÒ²»µ½¾µÏñ»º´æ£¡ÀíÂÛÉϲ»´æÔÚ¸ÃÇé¿ö£¬¾µÏñ»º´æÊÍ·Å»á±ÈµÇ¼ÇÓÐЧʱ³¤¶à°ëСʱ£¡sÒÑÕÙ»½µÄÖúÕ½: %stHelpBattleCalliRSis    µÇ¼ÇÖúÕ½ÈËÊý=%ss"    ×Ô¼º²»´¦Àí, checkInPlayerID=%ss,    ÒѾ­ÔÚÖúÕ½ÀïµÄ²»´¦Àí, checkInPlayerID=%ss,    ³¬¹ý×î´ó¸öÊýÁ˲»´¦Àí, checkInPlayerID=%ss@    µÈ¼¶²»×ã, checkInPlayerID=%s,checkInPlayerLV=%s < limitLV=%ssN    Õ½Á¦²»×ã, checkInPlayerID=%s,checkInPlayerFightPower=%s < fightPowerMin=%ssN    Õ½Á¦³¬³ö, checkInPlayerID=%s,checkInPlayerFightPower=%s > fightPowerMax=%ssT    µÇ¼Ç³¬Ê±, checkInPlayerID=%s,checkInTime=%s,passTime=%s > checkInValidSeconds=%ssY    ³¬¹ý×î´ó¸¶·ÑÕÙ»½ÈËÊý, checkInPlayerID=%s,goldCallCount=%s > maxGoldHelpPlayerCount=%stOpenJobs    helpBattlePlayerDict=%s(#RUtGetIpyGameDatatGetFightPowerMintGetFightPowerMaxt
GetLVLimittGetDayFreeHelpCountR3R\RRR8R1R2t&__GetNotifyMapServerHelpPlayerInfoDictt
MaxRobotIDR€tFalseR0R)R(RTRVRaRgtshuffleRjRRR R R6RiRRcRh()R^RxRRtisClientRefresht costMoneyListtcalledPlayerIDDictthelpBattlePlayerDicttipyDatat fightPowerMint fightPowerMaxtlimitLVtdayFreeHelpCountInfotdayFreeHelpCountthelpCountLineIDtisAllLineCountt helpCountKeyRt goldCallCountRvtcallInfot needGoldCallRRR=RXtmaxHelpPlayerSelectCounttmaxGoldHelpPlayerCountRYRZtcheckInPlayerIDListtcheckInPlayerIDtcheckInPlayerLVtcheckInPlayerFightPowerR tpassTimettodayHelpCountt openJobListt    lackCounttrobotIDtrandJob((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR~Gs´              
                  
    
 
cCs¢|s
dS|jƒ}|j}|j}tjddgƒ}x^|D]V}|dkrotj||ƒro|Sn|dkrD|rš|jƒ|krš|SqDqDWdS(NitHelpBattlePointiii(R\RRRURct PlayerFriendtIsFriendR‹(R^R=Rt tagPlayerIDt tagFamilyIDt relationListt checkRelation((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRi´s             icCsli|d6}|s|S|r*d|d<n|j|d<|j|d<|j|d<|j|d<||d<|S(    NtJobit NeedGoldCalltNametLVtRealmLVt
FightPowertRelation(RRRR(R=R³RRthelpPlayerDict((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR Ås      
c%    CsE|d\}}}tjd|ƒ}tjd||ƒ}| sO| sO| rSdS|}|jƒ}    |    r™t|    ƒdkr™|    d}
|
r™d}q™n||f} ttjƒƒ} |} |}tjƒ}tjddƒ}|j    ƒ}tj
ddiƒ}tj d||| |f| ƒx|j ƒD]\}}|t jkrPq/nd    }|}|jt|ƒgƒ}t|ƒdkr|dnd}t j|}|jj| dƒd}||j| <|j}|j}|r"tj|tjƒ}tj|tjƒ}||7}||7}nt|||d
ƒ}t||dƒ} t|| ƒ}!tj d |!|f|ƒ|j|!7_tƒ}"| |"_||"_||"_||"_|!|"_ ||"_!||"_| |"_"|j#|ƒ}#|#rtj$|#ƒ rt%|#|"gƒq/t j&j|gƒ}$|$j'|"ƒ|$t j&|<q/WdS( sb ÖúÕ½ÕÙ»½£¬²»¹Ü×îÖÕ¹ý¹ØÓë·ñ£¬±»ÕÙ»½·½¶¼Ö±½ÓËãÖúÕ½³É¹¦£¬ÕâÀï´¦Àí±»ÕÙ»½µÄ£¬Ö÷¶¯·½ÔÚµØÍ¼Ö±½Ó´¦Àí
    itFBFuncR˜NiiRÀsGÕÙ»½ÖúÕ½: mapID=%s, funcLineID=%s, helpCountKey=%s, calledPlayerDict=%si'gˆÃ@s8    ÖúÕ½Ôö¼ÓÏÉÔµ±Ò: coinAddReal=%s, todayMapHelpCount=%s((RUR›RŸR3R(RTRRbRVt GetHelpPointRcRjR8R1R2R6R)R R R    RetGetPrivilegeValuetChConfigt!VIPPrivilege_XianyuanCoinUpperAddtVIPPrivilege_XianyuanCoinAddPertmaxtminRRRRRRRRRdRfR]R5R7(%RRRxRRRwt fbFuncIpyDatat fbHelpIpyDataR®R¬R¯R°RXRÃt tagPlayerNamet    playerMgrtxianyuanCoinUppert baseHelpPointtrelationCoinAddDictRvRt addCoinRatetplayerXianyuanCoinUppertrelationAddListt relationAddR=ttodayMapHelpCountR R    txianyuanCoinUpperAddtxianyuanCoinAddPertcoinAddt    canAddMaxt coinAddRealRAt calledPlayerRB((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRkÔst 
     "          
                                      c
Cs­|s
dSg}xK|D]C}|j|j|j|j|j|j|j|j|jgƒqWt    d|gƒ}|j
ddd|t |ƒƒt j d||jƒƒdS(Nt
HelpRecordiR˜s"    MapServer_QueryPlayerResult %s(R7RRRRRRR    RR)tMapServer_QueryPlayerResultR3RRjR\(R^tsyncHelpRecordListthelpRecordListtrecordtaddXianyuanCoinMsg((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR]!s #(((!RÁRUR„R‘Ret ShareDefineR1RRÒRgRTR¡t2Def_UniversalGameRecType_FBHelpBattleCheckInPlayerRt+Def_UniversalGameRecType_FBHelpBattleRecordR4RRRDRRR[R_RyRzRƒR}RR—R~RiR RkR](((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt<module>s<                        3    $            ?                
        m         M