hwj35
2025-03-06 dd6e4b64952f7ec9a93bae9e1aa333021d52859e
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
Ó$gc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zddd„Zd„Zddddd„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.pytIsXiangongPlayer0s  !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ƒnt|tƒr¶||krœg||<n||}|j |ƒndS(
NtXiangongtServerIDtFacetFacePicisRнúÏɹÙÍæ¼Ò: xiangongID=%s,playerID=%s,rank=%s,serverID=%s,saveServerIDList=%s,%si'it    crossMail(RtGetIpyGameDataRRtAddGameRecDataRRtPlayerViewCachetGetShotCacheDicttgett    GameWorldtCheckServerIDInListtappendtSetUserDataByKeytChConfigtDef_RecDataKey_ServerIDListtDef_RecDataKey_PlayerInfotLogt
GetTitleIDtGetAwardItemListtPlayerCompensationt SendMailByKeyt
GetMailKeyRt
isinstancetdict(RR t serverIDListtranktsyncDictRRRt
playerInfoR
tsaveServerIDListttitleIDt addItemListtaddQiyunt    paramListtnewRecDataList((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytAddXiangongPlayer9s8 
      (  
cCsj| st|tƒ rdSxH|jƒD]:\}}tjd|ƒ}|sRq(nt|d|ƒq(WdS(NRtsyncRecDataList(R5R6titemsRR#R(R9RR@R((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyt#SendNewXiangongPlayerToClientServer_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 %stPlayerIDRtModelR R!s3ÕÒ²»µ½Íæ¼Ò»º´æµÄÔݲ»Í¬²½Ïɹ¬Ð½úÏɹÙ! xgPlayerID=%stAddTimet ServerIDListisplayerInfoListLen=%stShowXiangongPlayertmsgTypeRtplayerInfoListt queryPlayerID(t GetXiangongIDt GetShowDaystintttimeRRtGetGameRecDataListRRR(tDebugLogtlenRtGetTimet GetDiff_DaytGetUserDataByKeyR,R-tNoneR)R%R&R/tinsertt CrossRealmMsgtSendMsgToClientServertCrossServerMsg_Xiangong(RR    tplayerServerIDRLRBRtshowDaystcurTimet recDataListRRKRt
xgPlayerIDtaddTimetpassDaysR7R:tserverGroupIDListtdataMsg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyRjsV               
 
"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
RLRt XiangongSetiiÈiÿÿÿÿRGREitQueryXiangongPlayerRJRK(tminRt
GetFuncCfgRRRQRRRVR,R-R.R(R)RTRRXRSRYRZR[(R    tmsgDataR
RLRRKt maxSyncCountRR_RR7R:tserverGroupListtsendMsg((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytClientServerMsg_QueryXiangong¡s*
 
 
     "cCsktjƒj|ƒ}|jƒ}|j}tj|ƒ}i|d6|d6|d6}tjtj    |ƒdS(NR
RLR(
R(tGetPlayerManagertGetPlayerByIndext GetPlayerIDt
XiangongIDtGetPlayerServerIDRYtSendMsgToCrossServerRRm(R t
clientDatattickt    curPlayerR RR
Rd((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytOnQueryXiangongRecPlayersÇs     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(NRs/¸ÃÏɹ¬Ã»ÓÐÐèҪչʾµÄнúÍæ¼Ò¼Ç¼! xiangongID=%sisW¸ÃÏɹ¬Ð½úչʾʱ¼ä³¬¹ý×î´óչʾÌìÊý£¬ÎÞ·¨µãÔÞ! xiangongID=%s,addTime=%s,passDays=%s > %sRet LikeXiangongi(R(RnRoRpRqRR#RNt
PyGameDatatg_xiangongCanLikeTimeDictR'RRRURORPt GetMoneyTypet GetMoneyValuetGetFuncEvalCfgtstrtMapServer_QueryPlayerResultRS(R RtRuRvR RRR]ttimeDictRaRbt    moneyTypet
moneyValuetmsgInfo((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pytOnLikeXiangongØs.       
"     cCs@|d}|dkr#t|ƒn|dkr<t|ƒndS(NRJRIRf(t__Client_ShowXiangongPlayert__Client_QueryXiangongPlayer(RiRJ((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR[ôs 
    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(NRRKRLiRGRREtNametLVtJobtRealmLVR R!tEquipShowSwitcht EquipShowIDiÿÿÿÿiÿÿÿRH(%R'tChPyNetSendPackttagGCXiangongNewPlayerRGRRER‡RStNameLenRˆR‰RŠR R!R‹RŒtEquipShowIDCountR*R(RntFindPlayerByIDt__updXiangongCanLikeTimettagGCXiangongNewPlayerInfoRqt NewPlayerListtNewPlayerCountt NetPackCommont SendFakePackRtGetPlayerCountRoRWt    GetInitOKt    enumerateR)RrRp(RiRRKRLt newPlayerListR:tnewPRvt
clientPackt playerManagertitsyncNewPlayerListtnIndexR7((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(RyRzR'R(RR(R RRaR€t canLikeTime((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR’Es  
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(NRRKRLiRGRRER‡RˆR‰RŠR R!(R'R(RnR‘RttagGCXiangongRecPlayerRGRRER‡RSRRˆR‰RŠR R!R*ttagGCXiangongRecPlayerInfoRqt RecPlayerListtRecPlayerCountR–R—(    RiRRKRLRvt recPlayerListR:trecPR((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyR†Os8
 
                  (RRR–RR2R%RYRRyR(R,RPRRRRWRARDRRmRwR„R[R…R’R†(((s_E:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\GameWorldLogic\GameXiangong.pyt<module>s0                             &     7    &                 D