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
8äßfc@s±ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zeedd „Zd „Zd „Z d„Z!dd„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)dS(iÿÿÿÿNcCsÆtjƒj|ƒ}tjƒ}|jƒ}t|||jƒ|dtjƒsUdSt    ||tj|ƒtj
ƒj ƒtj krµtj ƒ rµt|ƒ}|j|d|ƒn t||ƒtS(NttalkTypei(t    GameWorldtGetPlayerManagertGetPlayerByIndext IPY_GameWorldt IPY_CTalkAreat
GetContentt __CheckTalktGetLenttcAreat SetTalkTimetGetMapt GetMapFBTypetfbtNullt IsCrossServertGetTalkExtraValuetChatAreat__DoLogic_FB_TalkAreatTrue(tindexttickt    curPlayertsendPacktcontenttextras((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytTalkArea,s  $(  cCsytjƒ}xftd|jƒƒD]O}|j|ƒ}|jƒsIq"nt|ƒ}|j|jƒ|d|ƒq"WdS(Ni(RtGetMapCopyPlayerManagertrangetGetPlayerCountRt GetPlayerIDRt Sync_ChatArea(RRt playerManagerRt
tempPlayerR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRKs    c    Csºtjƒj|ƒ}tjƒ}|jƒ}t|||jƒ|dtdtj    ƒs[dSt
||tj    |ƒt |ƒ}|j |d|ƒt j|tjdƒtj|dƒdS(Nt checkSameMsgRiit    talkworld(RRRRt IPY_CTalkGongRRRtFalsettcWorldR
RtChatGongt PlayerSuccesstDoAddSuccessProgresst ShareDefinetSuccType_FeastRedPack_TalkWorldt
EventShelltEventRespons_Talk(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt    TalkWorld_s  * c    CsÄtjƒrdStjƒj|ƒ}tjƒsEtj|dƒdStj    ƒ}|j
ƒ}t |||j ƒ|dt dtjƒs‹dSt||tj|ƒt|ƒ}|j|d|ƒdS(NtCrossMatching18R!Ri(RRRRtCrossRealmPlayertIsCrossServerOpent PlayerControlt
NotifyCodeRtIPY_CTalkCountryRRRR$t    tcCountryR
Rt ChatCountry(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt TalkCountryzs    * cCsÚtjƒj|ƒ}|jƒdkr;tj|dƒdStjƒ}|jƒ}t    |||j
ƒ|dtj ƒs{dSt ||tj |ƒt |ƒ}|j|d|ƒtj|tjdƒtj|dƒdS(Nis jiazu_lhs_0 Rit
talkfamily(RRRt GetFamilyIDR1R2Rt IPY_CTalkBangRRRttcFamilyR
Rt
ChatFamilyR'R(R)tSuccType_TalkFamilyR+R,(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt
TalkFamily™s  $ cCs´tjƒj|ƒ}|jƒdkr;tj|dƒdStjƒ}|j    ƒ}t
|||j ƒ|dtj ƒs{dSt ||tj |ƒt|ƒ}|j|d|ƒdS(NsGeRen_lhs_161795 Ri(RRRtGetTeamtNoneR1R2Rt IPY_CTalkDuiRRRttcTeamR
RtChatTeam(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytTalkTeamµs  $ cCs tjƒj|ƒ}tjƒ}|jƒ}t|||jƒ|dtjƒsUdSt    ||tj|ƒt
|ƒ}|j |j ƒ|j ƒ|d|ƒdS(NRi(RRRRtIPY_CTalkMiFixRRRt    tcPrivateR
Rt
ChatMiByIDt GetTalkTypeR(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt TalkPrivateÏs  $ %cCs/d}t|ƒ}|j|||d|ƒdS(Nii(RRF(Rt tagPlayerIDRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytTalkPrivateByIDàs cCs tjƒj|ƒ}tjƒ}|jƒ}t|||jƒ|dtjƒsUdSt    ||tj|ƒt
|ƒ}|j |j ƒ|j ƒ|d|ƒdS(NRi(RRRRt IPY_CTalkMiRRRRER
Rt ChatMiByNameRGt GetTargetName(RRRRRR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytTalkPrivateNameîs  $ %c Cs#|rt|ƒrtS||jƒtjkr3tS|dkrÖtjddiƒ}t|ƒ|krÖ|t|ƒd}|j    |ƒ}    |||    }
|
dkrÓt
j |dt t j|
dƒƒgƒtSqÖn|tjkrùt
j |dƒtS|jƒdkrt
j |d    ƒtStS(
NtTalkCDiièit CanootTalk01g@@t CanootTalk13tt CanootTalk14(tGetGMToolForbidTalkR$tGetLastChatTicktChConfigtDef_PlayerTalkTickR?t IpyGameDataPYtGetFuncEvalCfgtstrt GetTalkTickR1R2tinttmathtceiltDef_PlayerTalkMaxCounttstripR( RRtlengthRtcheckGMForbidenTalkR!Rt
talkCDDicttcdTickst lastTalkTickt
remainTick((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR    s(  )
cCs
|jƒS(N(tGetGMForbidenTalk(R((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRT/scCs!|j|ƒ|j||ƒdS(N(tSetLastChatTickt SetTalkTick(RRttypeR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR
=s cCsdS(N((RR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytGBLetterKsRRcCsdS(N((t
messageStrRt    tagPlayerRtaddinfo((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt__LogInDBPlayerTalkgsc CsC|jƒ}|jƒ}|jƒ}|jƒ}d}|ttjƒ|7}|ttjƒ|dk7}|ttjƒ|7}|ttj    ƒt
j |ƒ7}|ttj ƒt
j |ƒ7}|ttjƒ|jƒ7}t
j|ƒ}t
j|ƒ}t
j|ƒ}|jƒ}    |jƒ}
d|||||    |
f}|S(NRRis%s|%s|%s|%s|%s|%s(tGetVIPLvt
GetGMLeveltGetJobtGetIDtGetTalkExtraValueStarR)tDef_TalkExtraValue_Bit_VipLvtDef_TalkExtraValue_Bit_GMtDef_TalkExtraValue_Bit_JOBt Def_TalkExtraValue_Bit_BubbleBoxR1tGetChatBubbleBoxt$Def_TalkExtraValue_Bit_ServerGroupIDtGetPlayerServerGroupIDtDef_TalkExtraValue_Bit_LVtGetLVt GetCoupleNamet GetCoupleJobtGetBridePriceMaxIDtGetFacet
GetFacePic( tobjTalktvipLvtGMLeveltjobtplayerIDt extraValueStrt
coupleNamet    coupleJobtbridePriceMaxIDtfacetfacePic((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyR{s$        cCs6tjj|ƒ}|d|d}dt|ƒdS(Niis%0td(R)tDef_TalkExtraValue_LenDicttgetRZ(textraValueTypetextraValueInfot extraValueLen((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRt›scCstjƒj|ƒ}|jƒ}|j}|j}|j}|j}|j}    t    ||    ||ƒsgdS|rt
j d|ƒ}
|
sštj d|ƒdSt jid|
6ƒ} | sºdStj} i|d6|
tj6} tj|| | tj| dƒs+dSn)tj|||ƒs+tjd|ƒdSd}t|ƒ}t||    ||gƒ}tjƒj|ddd|t|ƒƒdS(Nt    BugleItemsG¹¦ÄÜÅäÖñíûÓÐÅäÖöÔÓ¦À®°ÈÀàÐÍÎïÆ·ÏûºÄ£¡SpeakerType=%s,Çë¼ì²éBugleItem!it SpeakerTypes    À®°ÈµÀ¾ß²»¿ÉÓã¡it    PYSpeaker(RRRRR•t    IsUseGoldt    ItemIndextTextLentTextRRXt
GetFuncCfgtErrLogt
ItemCommontGetAutoBuyItemNeedGoldRtTYPE_Price_Gold_MoneyRVtDef_Cost_Reason_SonKeyR1tPayMoneytDef_Cost_UseSpeakertChItemtDoSpeaker_UseItemtLogRRZtGameServer_QueryPlayerResulttlen(Rt
clientDataRRR‡R•R—R˜R™Ršt bugleItemIDt    costMoneyt    moneyTypetinfoDictt
extraValueRtmsgList((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytOnUsePYSpeaker­s:                         ! (c
Csàtjƒj|ƒ}|j}|j}|j}|tjkr]tjd||j    ƒƒdSt
||||ƒsvdSd}t |ƒ}t }    |tj kr¸t|||||ƒ}    n|    sÂdS|j|ƒ|j|ƒtS(Ns$OnPyTalk talkType(%s) is not define!i(RRRtTalkTypetLentContentR)t TalkTypeListRœRRRR$tDef_TalkType_FBFactiont__ChatFBFactionRhtSetLastChatContentR(
RR¨RRRt
contentLenRR­RtisChatOK((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pytOnPyTalkæs&               cCs}tjƒ}|jƒ||_|jƒ|_t|jƒ|_|jƒ|_    t|ƒ|_
||_ ||_ ||_ |S(N(tChPyNetSendPackt tagMCPyTalktClearR°t GetPlayerNametNameR§tNameLenRtPlayerIDR±R²t
ExtraValuetExtras(RRRR­RtpyTalk((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt__GetPyTalkPack
s 
                c
Cs³|jƒ}|stSt|||||ƒ}tjƒ}xrt|jƒƒD]^}|j|ƒ}    |    snqMn|    jƒ|kr†qMntj    |    ƒr›qMnt
j |    |ƒqMWt S(N( t
GetFactionR$RÄRRRRRt    PlayerTJGtGetIsTJGt NetPackCommont SendFakePackR(
RRRR­Rt
curFactiont
pyTalkPackRRtplayer((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyRµs  cCsdS(N((Rt
clientPackR((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt OnVoiceChat>s#(*RRR1RVtFBLogicR)RºR/RÈt EventReportR'RXRR£RÆR+t
PyGameDatat
PlayerLoveR]RRR-R6R=RCRHRJRNRR?RRTR
RkRoRRtR¯R¹RÄRµRÎ(((sjE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerTalk.pyt<module>sN                  
                                    &                          9    $        &