hxp
2025-10-22 378d852041f213839b2d9a19c943131022657339
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
_ïhc@s„ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zded„Zedd„Zd„Zdd„Zd    „Zd
„Zd „Zd „Zdd „Zded„Zedd„Zd„Zdd„Zd„Z d„Z!d„Z"d„Z#dd„Z$dS(iÿÿÿÿNcCst|ƒt|ƒdS(N(t SyncFaceInfotSyncFacePicInfo(t    curPlayer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt OnPlayerLogin"s
 
c
Cs¨ttjƒƒ}g}tjƒ}x§t|jƒƒD]“}|j|ƒ}|jƒ}tj    |t
j |ƒsvq7n|j t
j |ƒ}| s7||kr¥q7nt||tdƒr7|j|ƒq7q7W|rát|ƒng}x§t|jƒƒD]“}|j|ƒ}|jƒ}    tj    |t
j|    ƒs9qún|j t
j|    ƒ}| sú||krhqúnt||    tdƒrú|j|    ƒqúqúW|r¤t|ƒndS(Nt FaceTimeouttFacePicTimeout(tintttimet IpyGameDataPYtIPY_DatatrangetGetPlayerFaceCounttGetPlayerFaceByIndext    GetFaceIDt    GameWorldtGetDictValueByBittChConfigtDef_PDict_FaceStatetNomalDictGetPropertytDef_PDict_FaceEndTimetDelFacetFalsetappendtRefreshFaceAttrtGetPlayerFacePicCounttGetPlayerFacePicByIndext GetFacePicIDtDef_PDict_FacePicStatetDef_PDict_FacePicEndTimet
DelFacePictRefreshFacePicAttr(
RtcurTimet delFaceListt
ipyDataMgrtindextipyDatatfaceIDtendTimetdelFacePicListt    facePicID((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pytOnMinute's:     c    Cs |dkrdS|jƒ}tjd|ƒ}|s8dS|jƒdkrbtjd||ƒdS|s|jƒ}|jƒ}| sŽ| r’dS||gg}|jƒj    t
j ƒ}    t j ||    ƒ\}
} |
rõtjd||
f|ƒdSt j||    | dƒn|jƒd} ttjƒƒ} tj|tj|ƒ}|jtj|ƒ}tjd||||| | f|ƒ|}|dkr½| |}tjd    ||f|ƒn’| dksÕ|dkrød}tjd
||f|ƒnW|| kr+|| }tjd ||f|ƒn$| | }tjd ||f|ƒtj|tj|d ƒtj|tj||ƒt|ƒt||gƒtS(Nit
PlayerFaceis·ÇµÀ¾ß¼¤»îµÄ²»ÓÃÌí¼Ó: faceID=%ss+¼¤»îËùÐèÎïÆ·²»×ã! faceID=%s,lackItemDict=%stAddFacei<sXÌí¼ÓÍ·Ïñ: faceID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss)    Ö¸¶¨Í·Ïñʱ³¤: faceID=%s,updEndTime=%ss)    Ìí¼ÓÓÀ¾ÃÍ·Ïñ: faceID=%s,updEndTime=%ss)    ÀÛ¼ÓÍ·Ïñʱ³¤: faceID=%s,updEndTime=%ss)    ÖØÐ¼¤»îÍ·Ïñ: faceID=%s,updEndTime=%si(t GetPlayerIDRtGetIpyGameDatat GetUnlockWayRtDebugLogtGetUnlockValuetGetUnlockNeedCnttGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListt DelCostItemtGetExpireMinutesRRRRRRRtLogtSetDictValueByBitt PlayerControltNomalDictSetPropertyRRtTrue(RR$tsetExpireTimestisFreetplayerIDR#titemIDt    itemCountt needItemListtitemPackt lackItemDictt delInfoDicttipyExpireSecondsRtstateR%t
updEndTime((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyR*NsX         
 
 
 
tcCsD|jƒ}tjd|ƒ}|s(dStj|tj|ƒsDdStjd||f|ƒtj|tj|dƒt    j
|tj |dƒ|j ƒ|krøt ƒ}|rÁtj|ƒnd}|j|ƒtjd||ƒtj|ƒn|r t|ƒnt||gƒ|r@t    j||gg|gƒntS(NR)s!ɾ³ýÍ·Ïñ: faceID=%s,notifyMail=%sis3Íæ¼ÒÅå´÷µÄÍ·Ïñ±»É¾³ý£¬Ëæ»úÖØÖÃĬÈÏÍ·Ïñ! randFace=%s(R+RR,RRRRR9R:R;R<RtGetFacetGetDefaultFaceIDListtrandomtchoicetSetFaceR.t PlayerFamilytRefreshFamilyMemberRRt SendMailByKeyR=(RR$t isRefreshAttrt
notifyMailR@R#tdefaultFaceIDListtrandFace((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyR‡s*       cCssg}tjƒ}xZt|jƒƒD]F}|j|ƒ}|jƒ}|jƒdkr^q%n|j|ƒq%W|S(Ni(RR    R
R R R R-R(RUR!R"R#R$((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRL¢s  cCsžtj|tj|ƒ}|r"tS|s=tjd|ƒ}n|rš|jƒ}|jƒ}|dkrktS|dkrš|}t    j
||ƒr“tSt Snt S(NR)ii( RRRRR=RR,R-R/t
PlayerHerotGetHeroActiviteR(RR$R#RHt    unlockWayt unlockValuetheroID((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt IsFaceCanUse­s    cCstj|ƒdS(N(t    PlayerHJGtRefreshHJGAttr(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRÀs cCse|jƒ}t||ƒs3tjd||ƒdStjd||ƒ|j|ƒtj|ƒdS(Ns¸ÃÍ·Ïñ²»¿ÉÓÃ! faceID=%ssÍ·Ïñ»Ã»¯! faceID=%s(R+R\RR.RORPRQ(RR$R@((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt    OnUseFaceÄs   c Cs|jƒ}t||ƒs3tjd||ƒdStjd|ƒ}|sOdS|jƒ}|jtj    |ƒ}||kržtjd|||f|ƒdS|j
ƒdkr´dS|j ƒ}|j ƒ}| sÚ| rÞdS||gg}|j ƒjtjƒ}    tj||    ƒ\}
} |
rAtjd||
f|ƒdStj||    | dƒ|d} tjd|| f|ƒt||| ƒdS(    Ns¸ÃÍ·Ïñ²»¿ÉÓÃ! faceID=%sR)s(Í·ÏñÐǼ¶ÒÑÂú! faceID=%s,curStar=%s >= %sis/Í·ÏñÉýÐÇËùÐèÎïÆ·²»×ã! faceID=%s,lackItemDict=%st
FaceStarUPisÍ·ÏñÉýÐÇ! faceID=%s,nextStar=%s(R+R\RR.RR,t
GetStarMaxRRtDef_PDict_FaceStarR-R/R0R1R2R3R4R5R6R7t SetFaceStar( RR$R@R#tstarMaxtcurStarRARBRCRDRERFtnextStar((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt OnFaceStarUPÎs:     
cCs|t||ƒsdStjd|ƒ}|s/dSt||jƒƒ}tj|tj||ƒt    |ƒt
||gƒt S(NR)( R\RR,tminRaR;R<RRbRRR=(RR$tsetStarR#((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRcîs
c Csh|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x¨|D] }tj    |t
j |ƒ}| rª|dkrªqsnt j ƒjtjƒ}    ||    _||    _|jt
j|ƒ|    _|jt
j|ƒ|    _|j|    ƒqsW|s!dSt j ƒjtjƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(tNoneRR    R
R R RR RRRRtObjPoolt
GetPoolMgrtacquiretChPyNetSendPackt    tagMCFacetFaceIDtStateRRtEndTimeRbtStart tagMCFaceInfotFaceListtlentCountt NetPackCommont SendFakePack( Rt
faceIDListt
syncIDListR!R"R#tfaceListR$RHtfacet
clientPack((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRús2               c    Cs |dkrdS|jƒ}tjd|ƒ}|s8dS|jƒdkrbtjd||ƒdS|s|jƒ}|jƒ}| sŽ| r’dS||gg}|jƒj    t
j ƒ}    t j ||    ƒ\}
} |
rõtjd||
f|ƒdSt j||    | dƒn|jƒd} ttjƒƒ} tj|tj|ƒ}|jtj|ƒ}tjd||||| | f|ƒ|}|dkr½| |}tjd    ||f|ƒn’| dksÕ|dkrød}tjd
||f|ƒnW|| kr+|| }tjd ||f|ƒn$| | }tjd ||f|ƒtj|tj|d ƒtj|tj||ƒt|ƒt||gƒtS(Nit PlayerFacePicis"·ÇµÀ¾ß¼¤»îµÄ²»ÓÃÌí¼Ó: facePicID=%ss.¼¤»îËùÐèÎïÆ·²»×ã! facePicID=%s,lackItemDict=%st
AddFacePici<s]Ìí¼ÓÍ·Ïñ¿ò: facePicID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss.    Ö¸¶¨Í·Ïñ¿òʱ³¤: facePicID=%s,updEndTime=%ss.    Ìí¼ÓÓÀ¾ÃÍ·Ïñ¿ò: facePicID=%s,updEndTime=%ss.    ÀÛ¼ÓÍ·Ïñ¿òʱ³¤: facePicID=%s,updEndTime=%ss.    ÖØÐ¼¤»îÍ·Ïñ¿ò: facePicID=%s,updEndTime=%si(R+RR,R-RR.R/R0R1R2R3R4R5R6R7R8RRRRRRRR9R:R;R<RRR=(RR'R>R?R@R#RARBRCRDRERFRGRRHR%RI((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyR€sX         
 
 
 
cCsD|jƒ}tjd|ƒ}|s(dStj|tj|ƒsDdStjd||f|ƒtj|tj|dƒt    j
|tj |dƒ|j ƒ|krøt ƒ}|rÁtj|ƒnd}|j|ƒtjd||ƒtj|ƒn|r t|ƒnt||gƒ|r@t    j||gg|gƒntS(NRs&ɾ³ýÍ·Ïñ¿ò: facePicID=%s,notifyMail=%sis8Íæ¼ÒÅå´÷µÄÍ·Ïñ¿ò¹ýÆÚ£¬Ëæ»úÖØÖÃĬÈÏÍ·Ïñ¿ò! randFacePic=%s(R+RR,RRRRR9R:R;R<Rt
GetFacePictGetDefaultFacePicIDListRMRNt
SetFacePicR.RPRQRRRRR=(RR'RSRTR@R#tdefaultFacePicIDListt randFacePic((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRTs*       cCssg}tjƒ}xZt|jƒƒD]F}|j|ƒ}|jƒ}|jƒdkr^q%n|j|ƒq%W|S(Ni(RR    R
RRRR-R(R„R!R"R#R'((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyR‚ns  cCsftj|tj|ƒ}|r"tS|s=tjd|ƒ}n|rb|jƒ}|dkrbtSntS(NRi(    RRRRR=RR,R-R(RR'R#RHRY((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pytIsFacePicCanUseys  cCstj|ƒdS(N(R]R^(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRˆs cCse|jƒ}t||ƒs3tjd||ƒdStjd||ƒ|j|ƒtj|ƒdS(Ns¸ÃÍ·Ïñ¿ò²»¿ÉÓÃ! facePicID=%ssÍ·Ïñ¿ò»Ã»¯! facePicID=%s(R+R†RR.RƒRPRQ(RR'R@((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt OnUseFacePicŒs   c Cs|jƒ}t||ƒs3tjd||ƒdStjd|ƒ}|sOdS|jƒ}|jtj    |ƒ}||kržtjd|||f|ƒdS|j
ƒdkr´dS|j ƒ}|j ƒ}| sÚ| rÞdS||gg}|j ƒjtjƒ}    tj||    ƒ\}
} |
rAtjd||
f|ƒdStj||    | dƒ|d} tjd|| f|ƒt||| ƒdS(    Ns¸ÃÍ·Ïñ¿ò²»¿ÉÓÃ! facePicID=%sRs-Í·Ïñ¿òÐǼ¶ÒÑÂú! facePicID=%s,curStar=%s >= %sis4Í·Ïñ¿òÉýÐÇËùÐèÎïÆ·²»×ã! facePicID=%s,lackItemDict=%st FacePicStarUPis$Í·Ïñ¿òÉýÐÇ! facePicID=%s,nextStar=%s(R+R†RR.RR,RaRRtDef_PDict_FacePicStarR-R/R0R1R2R3R4R5R6R7tSetFacePicStar( RR'R@R#RdReRARBRCRDRERFRf((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pytOnFacePicStarUP–s:     
cCs|t||ƒsdStjd|ƒ}|s/dSt||jƒƒ}tj|tj||ƒt    |ƒt
||gƒt S(NR( R†RR,RhRaR;R<RR‰RRR=(RR'RiR#((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRжs
c Csh|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x¨|D] }tj    |t
j |ƒ}| rª|dkrªqsnt j ƒjtjƒ}    ||    _||    _|jt
j|ƒ|    _|jt
j|ƒ|    _|j|    ƒqsW|s!dSt j ƒjtjƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(RjRR    R
RRRRRRRRRkRlRmRnt tagMCFacePict    FacePicIDRqRRRrR‰RsttagMCFacePicInfot FacePicListRvRwRxRy( Rt facePicIDListR{R!R"R#t facePicListR'RHtfacePicR~((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyRÂs2               (%RRPR;R3RnRRxR5RWR]RRkRMRRR(RjRR*R=RRLR\RR_RgRcRR€RR‚R†RR‡R‹RŠR(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFace.pyt<module>sB                      '9             
          !9