hwj35
2025-06-16 12bfd1cd414e0fa14310a800df8288a844d6489f
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
_Kÿgc@s<ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z d„Z d„Zd„Zdd„Zd„Zddd„Zd„Zd    d    d    dd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCs
|jƒS(N(t    GetValue1(trecData((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyt GetXGPlayerID"scCs[tjƒ}xHt|jƒƒD]4}|j|ƒ}|s@qnt||||ƒqWdS(N(t IpyGameDataPYtIPY_DatatrangetGetXiangongCounttGetXiangongByIndext$SendShowXiangongPlayerToClientServer(t serverGroupIDtserverIDtplayerIDt
ipyDataMgrtindextipyData((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytOnPlayerLogin_CrossLogic%s cCs^tjƒ}|jtjƒ}x9|jƒD]+}|jtj||gdtƒr+tSq+WtS(Ntfindone(    t PyDataManagertGetDBGameRecDataManagertGetGameRecDataDictt ShareDefinetDef_GameRecType_XiangongtkeystGetGameRecDataMatchtTruetFalse(R t
gameRecMgrt recDataDictt
xiangongID((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytIsXiangongPlayer1s  !c Cs2tjƒsdSd\}}x‹|D]ƒ}|d}tjd|ƒ}|sQq#n|jƒ}    |    tjkrrq#n|jƒ}
|
tjkr“q#n|j    ƒ}|}Pq#W|sÎtj
dt |ƒ|ƒdSt |ƒ} | sþtj
d||f|ƒdStj d||| f|ƒt| |||ƒdS(NitChinItems$½±ÀøÃ»Óиø³ÆºÅ£¬²»Óô¦Àí³ÆºÅÏɹÙ! %ss7½±ÀøµÄ³ÆºÅûÓжÔÓ¦Ïɹٲ»´¦Àí! titleItemID=%s,titleID=%ssA¸ù¾Ý½±Àø³ÆºÅÎïÆ·½úÉýÏɹÙ: titleItemID=%s,titleID=%s,xiangongID=%s(ii(t    GameWorldt IsCrossServerRtGetIpyGameDatat GetItemTypetChConfigtDef_ItemType_Titlet
GetEffect1tDef_Effect_AddDienstgradtGetEffectValueA1tDebugLogtstrtGetTitleXiangongIDtLogtAddXiangongPlayer( t awardItemListR t serverIDListtrankttitleIDt titleItemIDtitemInfotitemIDRtitemTypeteffIDR((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytAddXiangongPlayerByItem:s6   
    cCsµtjdƒ}|s¥i}tjƒ}xWt|jƒƒD]C}|j|ƒ}|jƒ}|jƒ}|ssq:n|||<q:Wtjd|ƒt    j
d|ƒn|j |dƒS(NtTitleXiangongIDs¼ÓÔØ³ÆºÅID¶ÔÓ¦Ïɹ¬ID: %si( Rt GetConfigExRRRRt GetXiangongIDt
GetTitleIDt SetConfigExRR+tget(R0tTitleXiangongIDDictR R RRttID((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR*]s   c
Cs|s
dStjd|ƒ}|s&dStjƒ}|jtj||gƒ}tj|dddƒ}|j    ddƒ}    g|}
|
r°|    r°t
j |    |
ƒ r°|
j |    ƒn|j tj|
ƒ|j tj|ƒt
jd||||    |
|fƒ|dkrt|rt|jƒ} |jƒ} | s/dn | dd} || | g}tj|jƒ|g| |d    tƒn|jƒ}|jƒ}|r«tj||||ƒnt|tƒrí||krÓg||<n||}|j |ƒnti|g|6ƒdS(
NtXiangongtServerIDtFacetFacePicisRнúÏɹÙÍæ¼Ò: xiangongID=%s,playerID=%s,rank=%s,serverID=%s,saveServerIDList=%s,%si'it    crossMail(RR!RRtAddGameRecDataRRtPlayerViewCachetGetShotCacheDictR<RtCheckServerIDInListtappendtSetUserDataByKeyR#tDef_RecDataKey_ServerIDListtDef_RecDataKey_PlayerInfoR+R:tGetAwardItemListtPlayerCompensationt SendMailByKeyt
GetMailKeyRtGetWorshipTypetGetWorshipValuet GameWorshiptAddWorshipPlayert
isinstancetdictt#SendNewXiangongPlayerToClientServer(RR R.R/tsyncDictRRRt
playerInfoR
tsaveServerIDListR0t addItemListtaddQiyunt    paramListt worshipTypet worshipValuetnewRecDataList((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR,nsB 
      (    
cCsj| st|tƒ rdSxH|jƒD]:\}}tjd|ƒ}|sRq(nt|d|ƒq(WdS(NR?tsyncRecDataList(RTRUtitemsRR!R(RWRR_R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyRVœsicCse|s
dS|jƒ}|jƒ}ttjƒƒ}|rC|}n!tjƒ}    |    jtj|ƒ}|sndSt    j
d|t |ƒfƒt    j
d|||fƒg}
xE|ddd…D]0} t | ƒ} | j ƒ} t    j|| ƒd}||kr t    j
d| | ||fƒPn| jtjƒ}|r|dkr[t    j
d| ƒq¿nt    j||ƒst    j
d| ||fƒq¿qntj| dd    d
d d ƒ}|sËt    jd | ƒq¿n| |d<||d<|
jd|ƒq¿Wt    j
dt |
ƒƒ|
sdS|r#|gng}idd6|d6|
d6|d6}tjtj||ƒdS(Ns=·¢ËÍÐèҪչʾµÄнúÏɹ¬Íæ¼Òµ½×Ó·þ: xiangongID=%s,recDataLen=%ss3serverGroupID=%s,playerServerID=%s,queryPlayerID=%siÿÿÿÿis-    xgPlayerID=%s,addTime=%s,passDays=%s > %ss&    xgPlayerID=%s,serverIDList is Nones-    xgPlayerID=%s,playerServerID=%s not in %stPlayerIDR@tModelRARBs3ÕÒ²»µ½Íæ¼Ò»º´æµÄÔݲ»Í¬²½Ïɹ¬Ð½úÏɹÙ! xgPlayerID=%stAddTimet ServerIDListisplayerInfoListLen=%stShowXiangongPlayertmsgTypeRtplayerInfoListt queryPlayerID(R9t GetShowDaystintttimeRRtGetGameRecDataListRRRR(tlenRtGetTimet GetDiff_DaytGetUserDataByKeyR#RJtNoneRGRERFR+tinsertt CrossRealmMsgtSendMsgToClientServertCrossServerMsg_Xiangong(RR    tplayerServerIDRiR`RtshowDaystcurTimet recDataListRRhRt
xgPlayerIDtaddTimetpassDaysR.RXtserverGroupIDListtdataMsg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR§sV               
 
"cCsM|d}|d}|d}g}ttjddƒdƒ}tjƒ}|jtj|ƒ}x¥|ddd…D]}    |    jt    j
ƒ}
|    jt    j ƒ} | stt j ||
ƒ r¾qtn|    jƒ| d<t|    ƒ| d    <|jd
| ƒt|ƒ|krtPqtqtW|g} id d 6|d6|d 6|d6} tjtj| | ƒdS(NR
RiRt XiangongSetiiÈiÿÿÿÿRdRbitQueryXiangongPlayerRgRh(tminRt
GetFuncCfgRRRmRRRqR#RJRKRRGRoRRsRnRtRuRv(R    tmsgDataR
RiRRht maxSyncCountRRzRR.RXtserverGroupListtsendMsg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytClientServerMsg_QueryXiangongÞs*
 
 
     "cCsktjƒj|ƒ}|jƒ}|j}tj|ƒ}i|d6|d6|d6}tjtj    |ƒdS(NR
RiR(
RtGetPlayerManagertGetPlayerByIndext GetPlayerIDt
XiangongIDtGetPlayerServerIDRttSendMsgToCrossServerRRˆ(R t
clientDatattickt    curPlayerR RR
R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytOnQueryXiangongRecPlayerss     cCs_tjƒj|ƒ}|jƒ}|j}|r    tjd|ƒ}|sLdS|jƒ}tj    j
|iƒ}||kr‘tj d||ƒdS||}    tj t tjƒƒ|    ƒd}
|
|krítj d||    |
|f|ƒdS|jƒ|jƒ} } ntjddƒ\} } td|| | ggƒ} |jddd| t| ƒƒdS(NR?s/¸ÃÏɹ¬Ã»ÓÐÐèҪչʾµÄнúÍæ¼Ò¼Ç¼! xiangongID=%sisW¸ÃÏɹ¬Ð½úչʾʱ¼ä³¬¹ý×î´óչʾÌìÊý£¬ÎÞ·¨µãÔÞ! xiangongID=%s,addTime=%s,passDays=%s > %sR€t LikeXiangongi(RR‰RŠR‹RŒRR!Rjt
PyGameDatatg_xiangongCanLikeTimeDictR<R(RpRkRlt GetMoneyTypet GetMoneyValuetGetFuncEvalCfgR)tMapServer_QueryPlayerResultRn(R RRR‘R RRRxttimeDictR|R}t    moneyTypet
moneyValuetmsgInfo((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytOnLikeXiangongs.       
"     cCs@|d}|dkr#t|ƒn|dkr<t|ƒndS(NRgRfR(t__Client_ShowXiangongPlayert__Client_QueryXiangongPlayer(R„Rg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyRv1s 
    cCsß|d}|d}|jddƒ}|s0dSg}xê|D]â}tjƒ}|d|_|d|_|d|_|d|_t|jƒ|_|d    |_    |d
|_
|d |_ |jd dƒ|_ |jd dƒ|_ |d|_|d|_t|jƒ|_|j|ƒq=W|s-dS|r²tjƒj|ƒ}|sRdSt|||ddƒtjƒ}||_|d|_t|jƒ|_tj||ƒdStjƒ}||_tjƒ}    xtd|    jƒƒD]î}
|    j|
ƒ}|dksé|j ƒ rqéng} xvt!|ƒD]h\} }|| }|d} tj"tj#|ƒ| ƒsqq0n| j|ƒt|j$ƒ||dƒq0W| s¨qén| d|_t|jƒ|_tj||ƒqéWdS(NRRhRiiRdR@RbtNametLVtJobtRealmLVRARBtEquipShowSwitcht EquipShowIDiÿÿÿÿiÿÿÿRe(%R<tChPyNetSendPackttagGCXiangongNewPlayerRdR@RbR¡RntNameLenR¢R£R¤RARBR¥R¦tEquipShowIDCountRHRR‰tFindPlayerByIDt__updXiangongCanLikeTimettagGCXiangongNewPlayerInfoRŒt NewPlayerListtNewPlayerCountt NetPackCommont SendFakePackRtGetPlayerCountRŠRrt    GetInitOKt    enumerateRGRR‹(R„RRhRit newPlayerListRXtnewPR‘t
clientPackt playerManagertitsyncNewPlayerListtnIndexR.((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyRŸ>sp
 
                       
 
  cCsu|tjkritj|<ntj|}|j|dƒ}||krq|||<tjd||f|ƒndS(Nis<¸üÐÂÍæ¼Ò¶ÔÓ¦Ïɹ¬¿ÉµãÔÞµÄ×îÐÂʱ¼ä´Á: xiangongID=%s,addTime=%s(R”R•R<RR((R RR|Ršt canLikeTime((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR¬‚s  
c    Cs\|d}|d}|jddƒ}tjƒj|ƒ}|sEdSg}xÊ|D]Â}|sdqRntjƒ}|d|_|d|_|d|_|d|_    t
|j    ƒ|_ |d    |_ |d
|_ |d |_|jd dƒ|_|jd dƒ|_|j|ƒqRWtjƒ}||_||_t
|jƒ|_tj||ƒdS(NRRhRiiRdR@RbR¡R¢R£R¤RARB(R<RR‰R«R§ttagGCXiangongRecPlayerRdR@RbR¡RnR©R¢R£R¤RARBRHttagGCXiangongRecPlayerInfoRŒt RecPlayerListtRecPlayerCountR°R±(    R„RRhRiR‘t recPlayerListRXtrecPR·((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR Œs8
 
                  (RRRRR°R§RMRERtRR”RR#RlRRRRrR6R*R,RVRRˆR’RžRvRŸR¬R (((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyt<module>s6                               #    .     7    &                 D