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
Ž%ic@söddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z idej 6dej6Zd„Zd„Zed„Zd„Zdd    „Zd
„ZdS( iÿÿÿÿNiidcCst|ƒdS(N(tNotifyTalkCache(t    curPlayer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt OnPlayerLogin&s
c
Cs9tjƒj|ƒ}|jƒ}|jƒ}|j}|j}|tjkrk|s­t    j
|dƒdSnB|tj kr­tj ƒrŠdSt jƒs­t    j
|dƒdSnt||||ƒsÆdS|j|ƒ|jtj||ƒ|tj krýdSt    j|ƒ}tjƒ}    ||    _||    _|jƒ|    _t|    jƒ|    _||    _t|    jƒ|    _||    _|jƒ|    _|j ƒ|    _!|j"ƒ|    _#|j$ƒ|    _%|j&ƒ|    _'t    j(|ƒ|    _)tj*|ƒ|    _+|tj,krýt-j.|    ƒn"|tjkrt/j0||    ƒnt1|||||ƒdS(Nt jiazu_lhs_0tCrossMatching18(2t    GameWorldtGetPlayerManagertGetPlayerByIndext GetPlayerIDt GetFamilyIDt ChannelTypetContentt IPY_GameWorldttcFamilyt PlayerControlt
NotifyCodet    tcCountryt IsCrossServertCrossRealmPlayertIsCrossServerOpent __CheckTalktSetLastChatTicktSetDicttChConfigtDef_ChannelTalkTickt
GetChatBoxtChPyNetSendPackt    tagMCTalktPlayerIDt GetPlayerNametNametlentNameLentLent    BubbleBoxtGetLVtLVtGetJobtJobtGetOfficialRanktRealmLVtGetFacetFacet
GetFacePictFacePict
GetTitleIDtTitleIDtGetPlayerServerIDtServerIDttcWorldt NetPackCommontSendFackPackOnlinet PlayerFamilytBroadcast_FamilyPackt DoTalkCache(
tindext
clientDatattickRtplayerIDtfamilyIDt channelTypetcontentt    bubbleBoxt
clientPack((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytOnTalk3sV                              c    Cs0|rt|ƒrtS||jƒtjkr3tS|dkrÝtjddiƒ}t|ƒ|krÝ|t|ƒd}|j    tj
|ƒ}|||}|dkrÚt j |dt tj|dƒƒgƒtSqÝnt|ƒtjkrt j |dƒtS|jƒdkr,t j |d    ƒtStS(
NtTalkCDiièit CanootTalk01g@@t CanootTalk13tt CanootTalk14(tGetGMToolForbidTalktFalsetGetLastChatTickRtDef_PlayerTalkTicktNonet IpyGameDataPYtGetFuncEvalCfgtstrt GetDictByKeyRRRtinttmathtceilRtDef_PlayerTalkMaxCounttstriptTrue(    RR<R=R9tcheckGMForbidenTalkt
talkCDDicttcdTickst lastTalkTickt
remainTick((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRks(  )
cCs
|jƒS(N(tGetGMForbidenTalk(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRFŽsic Cs|tkrdStjddiƒ}tt||j|dƒƒ}|tjkr´tjƒj    |t
j ƒ}|j |ƒ}|j |ƒ|j|ƒ|jƒji|d6ƒn^tjƒjt
j|ƒ}    |    j|ƒ}
|
j |ƒ|
j|ƒ|
jƒji|d6ƒdS(Nt    TalkCacheiiR=(tChannelCacheMaxRKRLtmintgetR R t    DBDataMgrtGetFamilyActionMgrtGetFamilyActiont ShareDefinetDef_ActionType_TalkCachet    AddActiont    SetValue1t    SetValue2t GetUserDicttupdatet GetGameRecMgrtGetRecTypeIDMgrtDef_GameRecType_TalkCachet
AddRecData( R<R:R=R>R;t cacheMaxDicttmaxCounttfamilyActonMgrt
actionDatat recTypeIDMgrtrecData((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR6“s      cCs xtjƒD]÷}g}|tjkrì|jƒ}|s@q ntjƒj|tj    ƒ}x7t
|j ƒƒD]w}|j |ƒ}|j ƒ}|jƒ}|jƒ}    |jƒjddƒ}
|
sÌ|
n|j|||    |
gƒqnWn©tjƒjtj|ƒ} x‹t
| jƒƒD]w}| j |ƒ} | j ƒ}| jƒ}| jƒ}    | jƒjddƒ}
|
sx|
n|j|||    |
gƒqW|s¡q ng} x|D]\}}}    }
tj|ƒ}|sÛq®ntjƒ}||_|jƒ|_t|jƒ|_|
|_ t|j ƒ|_!|    |_"|j#ƒ|_$|j%ƒ|_&|j'ƒ|_(|j)ƒ|_*|j+ƒ|_,|j-ƒ|_.|j/ƒ|_0||_1| j|ƒq®W| sÄq ntj2ƒ}||_3| |_4t|j4ƒ|_ t5j6||ƒq WdS(NR=RD(7R\tkeysR R R    R_R`RaRbRctrangetCounttAttGetTimet    GetValue1t    GetValue2RgR^tappendRiRjRktGetCounttPlayerViewCachet FindViewCacheRttagMCTalkCacheInfoRRRRR R R!R"R#R$R%R&t
GetRealmLVR(R)R*R+R,R-R.t GetServerIDR0tTalkTimettagMCTalkCacheListR
tInfoListR2t SendFakePack(RR<t    cacheListR;RoR7RpttalkTimeR:R>R=RqRrt packCacheListt    viewCachet    talkCacheR?((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR«sr                                  (RRRbR RRR|R2RKRR4R_RPR R1R\RR@RTRRFR6R(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt<module>s(                        8 #