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
í,+gc@sOddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
dZ ej Z ddd„ƒYZd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zeddd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Z dS(iÿÿÿÿNidtHelpBattlePlayercBseZd„ZRS(cCs‚||_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ i|_ i|_ dS(Nit(tplayerIDtjobtfacetfacePict
playerNametplayerLVtrealmLVt
fightPowertfamilyIDtvipLVt checkInCountt checkInTimettodayHelpCountDicttgetThanksGiftCountDict(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$sc Cs¤tjdƒtjƒ}|jtƒ}x[t|jƒƒD]G}|j|ƒ}|jƒ}t    |ƒ}|j
ƒ|_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ}|d|_tt|ƒdd!ƒ|_tt|ƒdd!ƒ|_|d|_|jƒ|_|jƒ}|jdƒ}tjt|ƒdkrN|dnd    dƒ|_tjt|ƒd
kr|d
nd    dƒ|_ |j!ƒ}    |    jdƒ}
t|
ƒdkrÅ|
dnd } t|
ƒd
krç|
d
nd } | j"d ƒr| j#d ƒrt$| ƒ|_%ntj&d| |ƒ| j"d ƒra| j#d ƒrat$| ƒ|_'ntj&d| |ƒ|t(j)|<q;Wtjdtt(j)ƒƒdS(Ns¿ª·þ¼ÓÔØÖúÕ½Ïà¹ØÐÅÏ¢...i †iûÿÿÿiýÿÿÿiÿÿÿÿi
s|it0is{}s{s}s+LoadCheckInPlayerError: helpCountDictStr=%ss4LoadCheckInPlayerError: getThanksGiftCountDictStr=%ss¼ÓÔØÖúÕ½µÇ¼ÇÍæ¼Ò¼Ç¼: %s(*t    GameWorldtLogtGetUniversalRecMgrt GetTypeListtDef_RecType_CheckInPlayertxrangetCounttAtt    GetValue1RtGetTimeR t    GetValue2R    t    GetValue3R
t    GetValue4R t    GetValue5RtinttstrR RRt GetStrValue1Rt GetStrValue2tsplittToIntDeftlenRRt GetStrValue3t
startswithtendswithtevalRtErrLogRt
PyGameDatatg_fbHelpBattleCheckInPlayerDict( tuniversalRecMgrtcheckInPlayerRecListtindextrecDataRthelpBattlePlayertvalue5t    strValue2t strValue2Listt    strValue3t strValue3ListthelpCountDictStrtgetThanksGiftCountDictStr((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt OnServerStart7sD        11 ""cCs„tjdƒtjƒ}|jtƒtjdttjƒƒ|jtƒ}x.tjj    ƒD]\}}|j
ƒ}|j |j ƒ|j |ƒ|jtt|jdƒtjƒƒ|j|jƒ|j|jƒ|jtd|j|j|j|jfƒƒ|j|jƒ|j d|j!|j"fƒdt#|j$ƒj%ddƒt#|j&ƒj%ddƒf}|j'|ƒq_WdS(Ns¹Ø·þ±£´æÖúÕ½Ïà¹ØÐÅÏ¢...s±£´æÖúÕ½µÇ¼ÇÍæ¼Ò¼Ç¼: %sis %d%02d%02d%ds%s|%ss R((RRRtDeleteRR)R/R0RtitemstAddRectSetTimeR t    SetValue1t    SetValue2tmintmaxR    tChConfigtDef_UpperLimit_DWordt    SetValue3R
t    SetValue4R t    SetValue5R#RR RRt SetStrValue1Rt SetStrValue2RRR$RtreplaceRt SetStrValue3(R1R2Rt checkInPlayerR4R9((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt OnServerClose_s&     %/cCs±ttjƒƒ}tjddƒ}|dd}xxtjjƒD]g\}}|j}|||kr—tjj|ƒt    j
d||f|ƒqBni|_ i|_ qBWdS(NtHelpBattleCheckIniiii<s/Çå³ý³¬Ê±ÖúÕ½µÇ¼ÇÍæ¼Ò: curTime=%s,checkInTime=%si( R#ttimet IpyGameDataPYt
GetFuncCfgR/R0R?R tpopRRRR(tcurTimetcheckInValidHourstcheckInValidSecondsRROR ((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytHelpBattleOnDayvs         cCs |tjkS(N(R/R0(R((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytIsInHelpBattleCheckInListˆscCsötjdt|ƒ|jƒƒ|s*dS|d}g}|dkrXt||ƒ}n†|dkrvt||ƒ}nh|dkr£t|jƒ|jƒ|ƒ}n;|dkrÁt||ƒ}n|dkrÞt    ||ƒdS|dkrîdS||S(    NsMapServer_FBHelpBattle %sRitCheckIntRefreshtCallt    SweepCallt AssistFinish( RtDebugLogR$t GetPlayerIDt__DoPlayerFBHelpBattleCheckInt__DoFBHelpBattleRefresht__DoFBHelpBattleCalltGetNamet__DoFBHelpBattleSweepCallt__DoAssistFinishtNone(t    curPlayertmsgListtcmdtresult((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytMapServer_FBHelpBattleŠs& 
   !    c
Csx|d\}}t|tjƒ}ttjƒƒ}|jƒ}tj|ƒ}|r[dnd}tj    j
|ƒ}|s•t |ƒ}|tj    |<n|j ƒ|_ |jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_||_|jƒ|_|jƒ|_|d|_||_d}    tj d|jƒ||jƒ|jƒ|d|f|ƒ|    |gS(Niis]Íæ¼ÒÖúÕ½µÇ¼Ç: playerLV=%s,fightPower=%s,familyID=%s,vipLV=%s,checkInCount=%s,haveViewCache=%s(!RDRFRGR#RRRatPlayerViewCachet FindViewCacheR/R0tgetRReRtGetLVRtGetJobRtGetFaceRt
GetFacePicRtGetOfficialRankRR    t GetFamilyIDR
tGetVIPLvR R R RR(
RiRjR R    RVRtcurCachet haveViewCacheR5tisOK((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRb­s2               3cCsk|tjkrdSt|tjƒ}tj|}||_||_||_tj    d||f|ƒdS(Ns/¸üÐÂÖúÕ½Íæ¼ÒµÈ¼¶Õ½Á¦: fightPower=%s,familyID=%s(
R/R0RDRFRGR    R
RRR`(RR    R
RR5((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytUpdateCheckInPlayerInfoËs             cCsº|jƒ}|tjkrdStj|}|tjkrG||_nU|tjkrb||_n:|tjkr}||_    n|tj
kr˜||_ ndSt j d||f|ƒdS(Ns)¸üÐÂÖúÕ½Íæ¼ÒÐÅÏ¢: refreshType=%s,value=%s(RaR/R0tIPY_GameServertCDBPlayerRefresh_LVRtCDBPlayerRefresh_VIPLvR tCDBPlayerRefresh_FaceRtCDBPlayerRefresh_HairColorRRR`(Rit refreshTypetvalueRR5((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt UpdateCheckInPlayerInfoByRefresh×s      c7CsÕ|d\}}}}}i}tjd||ƒ}|sA|gS|jƒ}    |jƒ}
|jƒ} |jƒ} d} |}| r³t| ƒdkr³| \} }|r³d}q³n||f}|jƒ}tj    d||||||f|ƒt
}d}d\}}}tj ddƒ}tj ddƒ}tj ddƒ}tj ddƒ}tj d    ||fƒxé|j ƒD]Û\}}|\}}}|tjkrtj|} t| |||ƒ||<|rÛ|d7}n|rS|d7}|s|d7}qqSqxd|kotknrC|d7}tdt
|ƒ||<qxtjd
ƒqxqxW|rztj    d t|ƒ|ƒnttjƒƒ}!tj d dƒ}"tj d dƒ}#tj d dƒ}$|$d}%tjjƒ}&tj|&ƒtj    dt|&ƒ|ƒ|s"|"}tj d|ƒn||krXg}'tj|ƒjƒ}(|'|(7}'|jƒ})g}*|)rÛxmt|)jƒƒD]V}+|)j |+ƒ},|,jƒ}-|*j!|-ƒ|-|kr~|-|'kr~|'j!|-ƒq~q~Wntj|'ƒg}.x    |'D]}/||kr Pn|/|&krqõntj|/} t"|||/| | |    |
|%|!|| |||#ƒ\}0}|0soqõn||kr‚| sš||krÄ||krÄt#|| |||||ƒ\}}}qõ||}1t|.ƒ|1krõ|.j!| |gƒqõqõW||}1|1dkrXxB|.|1 D]3\} }t#|| |||||ƒ\}}}qWqXn|rx±|&D]¦}2t|ƒ|"kr’tj d|2ƒPntj|2} t"|||2| | |    |
|%|!|| |||#ƒ\}0}|0säqent#|| |||||ƒ\}}}qeWntj$ddƒ}3|"t|ƒ}4d}5x}|4dkr¹|5tkr¹||kr¹|5d7}5|5|kr}q=n|4d8}4|d7}tj%|3ƒ}6tdt
|6ƒ||5<q=Wtj    d||ƒ|gS(Nit FBHelpBattleiisqË¢ÐÂÖúÕ½Áбí: mapID=%s,funcLineID=%s,helpCountLineID=%s,isClientRefresh=%s,costMoneyList=%s,calledPlayerIDDict=%stHelpBattleCall2iis7    atleastFreeRelationCount=%s,atleastRelationCount=%ssZÒÑÕÙ»½µÄÖúÕ½Íæ¼ÒÕÒ²»µ½¾µÏñ»º´æ£¡ÀíÂÛÉϲ»´æÔÚ¸ÃÇé¿ö£¬¾µÏñ»º´æÊÍ·Å»á±ÈµÇ¼ÇÓÐЧʱ³¤¶à°ëСʱ£¡sÒÑÕÙ»½µÄÖúÕ½: %stHelpBattleCallRQis    µÇ¼ÇÖúÕ½ÈËÊý=%ss>²»ÔÊÐí³öÏÖ·ÇÉç½»ÈËÊý£¬Ä¬ÈÏÉèÖÃÖÁÉÙÉç½»ÈËÊýΪ×î´ó¿ÉÑ¡ÔñÈËÊý! %ss,    ³¬¹ý×î´ó¸öÊýÁ˲»´¦Àí, checkInPlayerID=%stOpenJobs    helpBattlePlayerDict=%s(iii(&RStGetIpyGameDatatGetFightPowerMintGetFightPowerMaxt
GetLVLimittGetDayFreeHelpCountR)RaRRtFalseRTR`R?R/R0t&__GetNotifyMapServerHelpPlayerInfoDictt
MaxRobotIDRhR.R$R#RRtkeystrandomtshufflet PlayerFriendtGetFriendStructtGetSocialIDListt    GetFamilyRtGetCounttGetAttappendt__CheckCanHelpCommt__AddHelpPlayertGetFuncEvalCfgtchoice(7RiRjtmapIDt
funcLineIDtisClientRefresht costMoneyListtcalledPlayerIDDictthelpBattlePlayerDicttipyDatat fightPowerMint fightPowerMaxtlimitLVtdayFreeHelpCountInfotdayFreeHelpCountthelpCountLineIDtisAllLineCountt helpCountKeyRtonlyFreet goldCallCounttnowFreeRelationCounttnowRelationCountt nowRobotCounttatleastFreeRelationCounttatleastRelationCounttatmostRobotCounttallowNoRelationtcalledPlayerIDtcallInfot needGoldCallRtrelationR5RVtmaxHelpPlayerSelectCounttmaxGoldHelpPlayerCountRWRXtcheckInPlayerIDListtrelationIDListt friendIDListt    curFamilyt familyMemListR3tmembertmemberIDttempRelationHelpPlayerListt
relationIDtcanHelptlackRelationCounttcheckInPlayerIDt openJobListt    lackCounttrobotIDtrandJob((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRcêsæ              
 
 
 
        !*
 
 1  !.'
 
 
icCsÖ||kr'tjd|ƒttfS||krNtjd|ƒttfS|j}|j}|j}||kr™tjd|||fƒttfS|rÏ||krÏtjd|||fƒttfS|r||krtjd|||fƒttfS||}||krBtjd||||fƒttfS|jj|    dƒ}|
of||
k}|rÌ| r™tjd|||
fƒt|fS| | krÌtjd    || | fƒt|fSnt|fS(
Ns"    ×Ô¼º²»´¦Àí, 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=%sisH    ²»ÊÇÃâ·Ñ, checkInPlayerID=%s,todayHelpCount=%s > dayFreeHelpCount=%ssY    ³¬¹ý×î´ó¸¶·ÑÕÙ»½ÈËÊý, checkInPlayerID=%s,goldCallCount=%s > maxGoldHelpPlayerCount=%s(    RR`RRR    R RRptTrue(RR£RÇR5R§R¥R¦RXRVR¬R©R­R®R»tcheckInPlayerLVtcheckInPlayerFightPowerR tpassTimettodayHelpCountR¸((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRšs@ 
 
             
 
 
 
 
 
  c    Cs|r|d7}nt||ƒ}|rH|d7}|sH|d7}qHn|j}t|||j|ƒ||<tjd||||||fƒ|||fS(Nis~    ÖúÕ½ÁбíÌí¼ÓÍæ¼Ò: helpPlayerID=%s,needGoldCall=%s,relation=%s,goldCallCount=%s,nowRelationCount=%s,nowFreeRelationCount=%s(t__GetHelpBattleRelationRRŽRRR`(    RiR5R£R¸R®R°R¯R¹t helpPlayerID((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyR›¥s 
        cCs¢|s
dS|jƒ}|j}|j}tjddgƒ}x^|D]V}|dkrotj||ƒro|Sn|dkrD|rš|jƒ|krš|SqDqDWdS(NitHelpBattlePointiii(RaRR
RSRœR“tIsFriendRv(RiR5Rt tagPlayerIDt tagFamilyIDt relationListt checkRelation((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRÑ´s             cCs†i|d6}|s|S|r*d|d<n|j|d<|j|d<|j|d<|j|d<|j|d<|j|d    <||d
<|S( NtJobit NeedGoldCalltNametLVtFacetFacePictRealmLVt
FightPowertRelation(RRRRRR    (R5R¸RR¹thelpPlayerDict((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRŽÅs        
c"Cs?|d\}}i}tjd|ƒ}tjd||ƒ}| sK| rR|gS|jƒ}d}|jƒ}    |jƒ}
d} |} |
r¾t|
ƒdkr¾|
\} } | r¾d} q¾n|| f}|jƒ}tjd||| f|ƒt    t
j
ƒƒ}tj ddƒ}tj ddƒ}|d    }tj d
d ƒ}tj d
d ƒ}t }t jjƒ}tj|ƒtjd t|ƒ|ƒxà|D]Ø}t|ƒ|krÇtjd|ƒPnt j|}t|||||    |||||| |ƒ \}}|sqšnt||ƒ}| r6| r6qšn|jj|dƒd|j|<t|||j|ƒ||<qšWd}tjddƒ}|t|ƒ}d} x}|dkr#| tkr#||kr#| d7} | |krçq§n|d8}|d7}tj|ƒ}!tdt|!ƒ|| <q§Wtjd||ƒ|gS(s? É¨µ´ÖúÕ½ÁбíË¢ÐÂÇÒÖ±½ÓÕÙ»½
            Ëæ»úÑ¡ÔñÃâ·ÑµÄÍæ¼Ò
    itFBFuncR„iis;ɨµ´Ë¢ÐÂÖúÕ½Áбí: mapID=%s,funcLineID=%s,helpCountLineID=%sR†RQiR…iis    µÇ¼ÇÖúÕ½ÈËÊý=%ss,    ³¬¹ý×î´ó¸öÊýÁ˲»´¦Àí, checkInPlayerID=%sR‡s    helpBattlePlayerDict=%sN(RSRˆR‰R‹RŒR)RaRRR#RRRTRÌR/R0RR‘R’R`RšRÑRRpRŽRRœRRRhR("RiRjRžRŸR£t fbFuncIpyDatat fbHelpIpyDataR¥R¦R§R¨R©RªR«R¬RRVtmaxHelpPlayerCountRWRXR´RµR­R¼RÇR5RÅR¸R¹R±RÈRÉRÊRË((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRfÖsr       
     '
 
 
c    Cs"|d\}}}tjd|ƒ}tjd||ƒ}| sO| sO| rSdS|}|jƒ}    |    r™t|    ƒdkr™|    d}
|
r™d}q™n||f} tjd||| |f|ƒxV|jƒD]H} | tjkríqÒntj| } | j    j
| dƒd| j    | <qÒWdS(sb ÖúÕ½ÕÙ»½£¬²»¹Ü×îÖÕ¹ý¹ØÓë·ñ£¬±»ÕÙ»½·½¶¼Ö±½ÓËãÖúÕ½³É¹¦£¬ÕâÀï´¦Àí±»ÕÙ»½µÄ£¬Ö÷¶¯·½ÔÚµØÍ¼Ö±½Ó´¦Àí
    iRãR„NiisGÕÙ»½ÖúÕ½: mapID=%s, funcLineID=%s, helpCountKey=%s, calledPlayerDict=%s( RSRˆRŒR)RR`RR/R0RRp(t callPlayerIDtcallPlayerNameRjRžRŸtcalledPlayerDictRäRåRªR¨R«R¬R¶R5((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRds& 
    $c    CsÈ|d\}}}}i}xŒ|D]„}|tjkr>q#ntj|}i|jd6|jd6|jd6|jd6|jd6|jd6|jj    |dƒd    6||<q#Wt
j |||||ƒdS(
Nit
PlayerNameRÙRÝRÞRÜRßitTodayGiftCount( R/R0RRRRRRRRpt PlayerAssisttAddNewAssistThanks(    RiRjt
liheItemIDRžtlineIDtassistPlayerIDListtassistPlayerDicttassistPlayerIDR5((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyRg8s  !cCsW|jƒ}|tjkrdStj|}||j|<tjd||f|ƒdS(NsG    ¸üоµÏñЭÖú½ñÈÕ½ÓÊÕ¸ÐлÀñºÐ´ÎÊý: itemID=%s,updateTodayGiftCount=%s(RaR/R0RRR`(RititemIDtupdateTodayGiftCountRR5((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pytUpdateGetThanksGiftCountDictKs   ((!R“RSRnR|Rìt ShareDefineR/RRFR‘RRRt2Def_UniversalGameRecType_FBHelpBattleCheckInPlayerRRR=RPRYRZRmRbR{RƒRcRRšR›RÑRŽRfRdRgRõ(((s]E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFBHelpBattle.pyt<module>s<                   (                #                 ˜#             H