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
¨Šic@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z idej 6dej6dej6Zd„Zd„Zed„Zd„Zd    d
„Zd „ZdS( iÿÿÿÿNiidiÈcCs2tjƒj|jƒƒ}t|tjgƒdS(N(t CrossPlayertGetCrossPlayerMgrtFindCrossPlayert GetPlayerIDtNotifyTalkCachet IPY_GameWorldttcWorld(t    curPlayert crossPlayer((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt OnPlayerLogin'sc
Cs1tjƒj|ƒ}|jƒ}|jƒ}|j}|j}|tjkrk|st    j
|dƒdSn"|tj krtj ƒrdSnt ||||ƒs¦dS|j|ƒ|jtj||ƒt    j|ƒ}tjƒ}    ||    _||    _|jƒ|    _t|    jƒ|    _||    _t|    jƒ|    _||    _|jƒ|    _|jƒ|    _|j ƒ|    _!|j"ƒ|    _#|j$ƒ|    _%t    j&|ƒ|    _'tj(|ƒ|    _)|tj*kràt+j,|    ƒt-|||||ƒnM|tjkrt.j/|||    |ƒn%|tj kr-t.j0||    |ƒndS(Nt jiazu_lhs_0(1t    GameWorldtGetPlayerManagertGetPlayerByIndexRt GetFamilyIDt ChannelTypetContentRttcFamilyt PlayerControlt
NotifyCodet    tcCountryt IsCrossServert __CheckTalktSetLastChatTicktSetDicttChConfigtDef_ChannelTalkTickt
GetChatBoxtChPyNetSendPackt    tagMCTalktPlayerIDt GetPlayerNametNametlentNameLentLent    BubbleBoxtGetLVtLVtGetJobtJobtGetOfficialRanktRealmLVtGetFacetFacet
GetFacePictFacePict
GetTitleIDtTitleIDtGetPlayerServerIDtServerIDRt NetPackCommontSendFackPackOnlinet DoTalkCachet PlayerFamilyt OnFamilyTalktOnCrossFamilyTalk(
tindext
clientDatattickRtplayerIDtfamilyIDt channelTypetcontentt    bubbleBoxt
clientPack((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytOnTalk5sP                              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 GetDictByKeyRRRtinttmathtceilR!tDef_PlayerTalkMaxCounttstriptTrue(    RR>R?R;tcheckGMForbidenTalkt
talkCDDicttcdTickst lastTalkTickt
remainTick((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRhs(  )
cCs
|jƒS(N(tGetGMForbidenTalk(R((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRH‹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?(tChannelCacheMaxRMRNtmintgetRRt    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.pyR5s      cCs(|s
dSxtjƒD]    }||kr/qng}|tjkr|jƒ}|s\qntjƒj|tj    ƒ}x7t
|j ƒƒD]w}|j |ƒ}|j ƒ}|jƒ}    |jƒ}
|jƒjddƒ} | sè| n|j||    |
| gƒqŠWn©tjƒjtj|ƒ} x‹t
| jƒƒD]w}| j |ƒ} | j ƒ}| jƒ}    | jƒ}
| jƒjddƒ} | s”| n|j||    |
| gƒq6W|s½qng}x|D]\}}    }
} tj|    ƒ}|s÷qÊntjƒ}|    |_|jƒ|_t|jƒ|_| |_ t|j ƒ|_!|
|_"|j#ƒ|_$|j%ƒ|_&|j'ƒ|_(|j)ƒ|_*|j+ƒ|_,|j-ƒ|_.|j/ƒ|_0||_1|j|ƒqÊW|sàqntj2ƒ}||_3||_4t|j4ƒ|_ t5j6||ƒqWdS(NR?RF(7R^tkeysRRRRaRbRcRdRetrangetCounttAttGetTimet    GetValue1t    GetValue2RiR`tappendRkRlRmtGetCounttPlayerViewCachet FindViewCacheRttagMCTalkCacheInfoRRR R!R"RR#R$R%R&R'R(t
GetRealmLVR*R+R,R-R.R/R0t GetServerIDR2tTalkTimettagMCTalkCacheListRtInfoListRt SendFakePack(RtchannelTypeListR>t    cacheListR=RqR9RrttalkTimeR<R@R?RsRtt packCacheListt    viewCachet    talkCacheRA((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR¨sz                                   (RR RdRRR~R3RMRR6RRaRRRRRR^R    RBRVRRHR5R(((siD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt<module>s*              
         3 #