hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
¤¼gc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    d„Z
d„Z dd„Z edd„Zd„Zdd„Zd    „Zd
„Zd „Zd „Zdd „Zdd„Zdd„Zdd„ZdS(iÿÿÿÿNcCst|ƒt|ƒdS(N(tSyncChatBoxInfotSyncEmojiPackInfo(t    curPlayer((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyt OnPlayerLogins
 
c    Csžttjƒƒ}g}tjƒ}x¹t|jƒƒD]¥}|j|ƒ}|jƒ}|jƒrjq7nt    j
|t j |ƒsˆq7n|j t j|ƒ}| s7||kr·q7nt||tdƒr7|j|ƒq7q7W|rót|ƒnx¤t|jƒƒD]}|j|ƒ}|jƒ}|jƒr9qnt    j
|t j|ƒsWqn|j t j|ƒ}| s||kr†qnt||dƒqWdS(NtChatBoxTimeouttEmojiPackTimeout(tintttimet IpyGameDataPYtIPY_DatatrangetGetChatBubbleBoxCounttGetChatBubbleBoxByIndextGetBoxIDtGetUnlockDefaultt    GameWorldtGetDictValueByBittChConfigtDef_PDict_ChatBubbleBoxStatetNomalDictGetPropertytDef_PDict_ChatBoxEndTimet
DelChatBoxtFalsetappendtRefreshBoxAttrtGetEmojiPackCounttGetEmojiPackByIndextGetEmojiPackIDtDef_PDict_EmojiPackStatetDef_PDict_EmojiPackEndTimet DelEmojiPack(    RtcurTimet
delBoxListt
ipyDataMgrtindextipyDatatboxIDtendTimetpackID((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pytOnMinute#s:      c
Csâ|dkrdS|jƒ}tjd|ƒ}|s8dS|jƒr\tjd||ƒdS|jƒd}ttjƒƒ}tj    |t
j |ƒ}|j t
j |ƒ}tjd||||||f|ƒ|}    |dkr ||}    tjd||    f|ƒn†|dkr:d}    tjd||    f|ƒnW||krm||}    tjd||    f|ƒn$||}    tjd    ||    f|ƒtj|t
j |d
ƒtj|t
j ||    ƒt|ƒt||gƒtS( Nit ChatBubbleBoxs"ÆøÅÝ¿òĬÈϽâËøµÄ²»ÓÃÌí¼Ó: boxID=%si<sYÌí¼ÓÆøÅÝ¿ò: boxID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss*    Ö¸¶¨ÆøÅÝ¿òʱ³¤: boxID=%s,updEndTime=%ss*    Ìí¼ÓÓÀ¾ÃÆøÅÝ¿ò: boxID=%s,updEndTime=%ss*    ÀÛ¼ÓÆøÅÝ¿òʱ³¤: boxID=%s,updEndTime=%ss*    ÖØÐ¼¤»îÆøÅÝ¿ò: boxID=%s,updEndTime=%si(t GetPlayerIDRtGetIpyGameDataRRtDebugLogtGetExpireMinutesRRRRRRRtLogtSetDictValueByBitt PlayerControltNomalDictSetPropertyRRtTrue(
RR$tsetExpireTimestplayerIDR#tipyExpireSecondsRtstateR%t
updEndTime((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyt
AddChatBoxLs@        
 
 
 
tcCs|jƒ}tjd|ƒ}|s(dS|jƒr8dStjd||f|ƒtj|tj|dƒt    j
|tj |dƒt    j |ƒ|krÍt |ƒ}t    j||ƒtjd||ƒn|ràt|ƒnt||gƒ|rt    j||gg|gƒntS(NR(s*ɾ³ýÍæ¼ÒÁÄÌìÆøÅÝ¿ò: boxID=%s,notifyMail=%sis'Íæ¼ÒÁÄÌìÆøÅÝ¿ò±»É¾³ý£¬ÖØÐÂÉèÖÿÉÓÃID=%s(R)RR*RRR-R.RRR/R0RtGetChatBubbleBoxtGetCanUseBoxIDtSetChatBubbleBoxR+RRt SendMailByKeyR1(RR$t isRefreshAttrt
notifyMailR3R#tcanUseID((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyRxs&    cCsktjƒ}xXt|jƒƒddd…D]7}|j|ƒ}|jƒ}t|||ƒr,|Sq,WdS(Niÿÿÿÿi(RR    R
R R R t IsBoxCanUse(RR!R"R#R$((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyR:s & cCsÖtj|tj|ƒ}|r"tS|s=tjd|ƒ}n|rÒ|jƒrStS|jƒ}|r{|j    ƒ|kr{t
S|j ƒ}|r¿|j tj ƒ}|td|ƒ@}|s¿t
Sn|sË|rÒtSnt
S(NR(i(RRRRR1RR*Rt    GetNeedLVtGetLVRtGetNeedVIPLVGiftRtDef_Player_Dict_VipAwardRecordtpow(RR$R#R5tneedLVt needVIPLVGifttrecordthasBuy((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyR@šs(    cCs!t|ƒtj|ƒjƒdS(N(t CalcBoxAttrR/tRefreshPlayerAttrState(R((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyR¸s
cCs™d}gtdƒD] }i^q}tjƒ}x5t|jƒƒD]!}|j|ƒ}|jƒ}t|||ƒs}qDn||jƒ7}|jƒ}|j    ƒ}    x7t
|ƒD])\}}
|    |} t j |
| |ƒq²W|j tj|ƒ} tjd|| ƒ} | rD| jƒ}| jƒ}x:t
|ƒD])\}}
||} t j |
| |ƒq5WqDqDWt j|tj|ƒt j|tj|ƒdS(NiitChatBubbleBoxStar(R
RR    R R R R@tGetLightFightPowertGetLightAttrTypetGetLightAttrValuet    enumerateR/tCalcAttrDict_TypeRRtDef_PDict_ChatBoxStartGetIpyGameDataNotLogtGetStarAttrTypetGetStarAttrValuetSetCalcAttrListValuetDef_CalcAttrFunc_ChatBoxtSetMFPExFightPowert ShareDefinetDef_MFPType_ChatBox(Rt fightPowerExtit allAttrListR!R"R#R$t lightAttrTypetlightAttrValuetattrIDt    attrValuetboxStart starIpyDatat starAttrTypet starAttrValue((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyRJ½s2    
 
cCsytjƒj|ƒ}|j}|jƒ}t||ƒsQtjd||ƒdStjd||ƒtj||ƒdS(Ns'ÁÄÌìÆøÅÝ¿ò²»¿ÉÓã¬ÎÞ·¨ÉèÖÃ! useBoxID=%ss#ÉèÖÃʹÓõÄÁÄÌìÆøÅÝ¿òID: useBoxID=%s(    RtGetPlayerManagertGetPlayerByIndext BubbleBoxTypeR)R@R+R/R;(R"t
clientDatattickRtuseBoxIDR3((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pytOnSetChatBubbleBoxçs     c Cs…tjƒj|ƒ}|jƒ}|j}t||ƒsQtjd||ƒdS|jtj    |ƒ}|d}t
j d||ƒ}|sªtjd||f|ƒdS|j ƒ}    |    sÀdS|j ƒjtjƒ}
tj|    |
ƒ\} } | rtjd|||    | f|ƒdStj||
| dƒtj|tj    ||ƒtjd|||f|ƒt|ƒt||gƒdS(NsÁÄÌìÆøÅÝ¿ò²»¿ÉÓÃ! boxID=%siRLs(²»´æÔÚ¸ÃÆøÅÝ¿òÐǼ¶! boxID=%s,nextStar=%ssLÆøÅÝ¿òÉýÐÇËùÐèÎïÆ·²»×ã! boxID=%s,nextStar=%s,needItemList=%s,lackItemDict=%st ChatBoxStarUPs+ÆøÅÝ¿òÉýÐÇ! boxID=%s,curStar=%s,nextStar=%s(RRfRgR)tBoxIDR@R+RRRRRR*tGetStarUpNeedItemListtGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListt DelCostItemR/R0RR( R"RiRjRR3R$tcurStartnextStart nextIpyDatat needItemListtitemPackt lackItemDictt delInfoDict((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pytOnChatBubbleBoxStarUPùs6     
     
c CsP|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}xœ|D]”}tj    |t
j |ƒ}| rª|dkrªqsnt j ƒ}    ||    _||    _|jt
j|ƒ|    _|jt
j|ƒ|    _|j|    ƒqsW|sdSt jƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(tNoneRR    R
R R RR RRRRtChPyNetSendPackttagMCChatBubbleBoxRntStateRRtEndTimeRRtStarttagMCChatBubbleBoxStatetBoxListtlentCountt NetPackCommont SendFakePack( Rt    boxIDListt
syncIDListR!R"R#tboxListR$R5tboxt
clientPack((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyRs2                 c
CsØ|dkrdS|jƒ}tjd|ƒ}|s8dS|jƒr\tjd||ƒdS|jƒd}ttjƒƒ}tj    |t
j |ƒ}|j t
j |ƒ}tjd||||||f|ƒ|}    |dkr ||}    tjd||    f|ƒn†|dkr:d}    tjd||    f|ƒnW||krm||}    tjd||    f|ƒn$||}    tjd    ||    f|ƒtj|t
j |d
ƒtj|t
j ||    ƒt||gƒtS( Nit    EmojiPacks#±íÇé°üĬÈϽâËøµÄ²»ÓÃÌí¼Ó: packID=%si<sZÌí¼Ó±íÇé°ü: packID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss+    Ö¸¶¨±íÇé°üʱ³¤: packID=%s,updEndTime=%ss+    Ìí¼ÓÓÀ¾Ã±íÇé°ü: packID=%s,updEndTime=%ss+    ÀÛ¼Ó±íÇé°üʱ³¤: packID=%s,updEndTime=%ss+    ÖØÐ¼¤»î±íÇé°ü: packID=%s,updEndTime=%si(R)RR*RRR+R,RRRRRRRR-R.R/R0RR1(
RR&R2R3R#R4RR5R%R6((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyt AddEmojiPack<s>        
 
 
cCs¾|jƒ}tjd|ƒ}|s(dS|jƒr8dStjd||f|ƒtj|tj|dƒt    j
|tj |dƒt ||gƒ|rºt    j ||gg|gƒntS(NRs+ɾ³ýÍæ¼ÒÁÄÌì±íÇé°ü: packID=%s,notifyMail=%si(R)RR*RRR-R.RRR/R0RRR<R1(RR&R>R3R#((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyRhs  c Cs7|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}xƒ|D]{}tj    |t
j |ƒ}| rª|dkrªqsnt j ƒ}    ||    _||    _|jt
j|ƒ|    _|j|    ƒqsW|südSt jƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(RRR    R
RRRRRRRRR€ttagMCEmojiPacktPackIDR‚RRRƒttagMCEmojiPackInfot EmojiPackListR‡RˆR‰RŠ( Rt
packIDListRŒR!R"R#tpackListR&R5tpackR((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyRxs0                 (RRYR/RrR€RR‰RtRRRR'RR7R1RR:R@RRJRlR~RR‘RR(((smE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerChatBox.pyt<module>s.                  ) ,    
        *        " ! ,