hxp
2018-09-01 ae67df5f1df07f5acfd73b7d02c8198b96b87448
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
aŠ[c@s"ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZedƒ\ZZZd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d    „Z&d
„Z'd „Z(d „Z)d „Z*d„Z+d„Z,d„Z-d„Z.d„Z/dd„Z1d„Z2d„Z3d„Z4d„Z5d„Z6d„Z7d„Z8d„Z9d„Z:d„Z;d„Z<d„Z=ej>ej?d „Z@d!„ZAd"„ZBd#„ZCd$„ZDd%„ZEd&„ZFd'„ZGd(„ZHd)„ZId*„ZJd+„ZKd,„ZLd-„ZMgeNd.„ZOd/„ZPd0„ZQd1„ZRd2„ZSeTd3„ZUd4„ZVd5„ZWd6„ZXd7„ZYd8„ZZd9„Z[d:„Z\d;„Z]d<„Z^d=„Z_d>„Z`d?„Zad@„ZbdA„ZcdB„ZddC„ZedD„ZfdE„ZgdF„ZhdG„ZidH„ZjdI„ZkdJ„ZldK„ZmdL„ZndM„ZodN„ZpdO„ZqdP„ZrdQ„ZsdR„ZtdS„ZueTdT„ZvdU„ZwdV„ZxdW„ZydX„ZzdY„Z{dZ„Z|d[„Z}d\„Z~d]„Zd^„Z€d_„Zd`„Z‚da„Zƒdb„Z„dc„Z…dd„Z†de„Z‡df„Zˆdg„Z‰dh„ZŠdi„Z‹dj„ZŒdk„Zdl„ZŽdm„Zdn„Zdo„Z‘dp„Z’dq„Z“dr„Z”ds„Z•dt„Z–du„Z—dv„Z˜dw„Z™dx„Zšdy„Z›dz„Zœd{„Zd|„Zžd}„ZŸd~„Z d„Z¡d€„Z¢d„Z£eNd‚„Z¤dƒ„Z¥d„„Z¦d…„Z§dS(†iÿÿÿÿNicCs
|jƒS(N(tGetPoint(t    curFamily((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyWarRank<scCs |j|ƒS(N(tSetPoint(Rtrank((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetFamilyWarRank=scCs|jƒtj|jƒS(N(t    GetExtra4tChConfigtDef_PerPointValuet    GetExtra5(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyTotalFightPower?scCs,|j|tjƒ|j|tjƒdS(N(t    SetExtra4RRt    SetExtra5(RttotalFightPower((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetFamilyTotalFightPower@scCs)tjƒj|ƒ}|sdSt|ƒS(Ni(t    GameWorldtGetFamilyManagert
FindFamilyR
(tfamilyIDtfamily((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyTotalFightPowerByIDDscCs
|jƒS(N(t    GetExtra3(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyBroadcastCntKscCs|jt|tjƒƒS(N(t    SetExtra3tminRtDef_UpperLimit_DWord(RtsetCnt((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetFamilyBroadcastCntLscCs
|jƒS(N(t    GetHornor(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyBossFoodNscCs|jt|tjƒƒS(N(t    SetHornorRRR(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetFamilyBossFoodOscCs
|jƒS(N(t    GetExtra2(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetCurWeekMissionMoneyRscCs|jt|tjƒƒS(N(t    SetExtra2RRR(Rtvalue((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetCurWeekMissionMoneySscCs
|jƒS(N(t
GetExattr3(t    curMember((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetMemberFightPowerVscCs |j|ƒS(N(t
SetExattr3(R&t
fightPower((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetMemberFightPowerWscCs
|jƒS(N(t
GetExattr4(R&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetMemberJoinTimeYscCs |j|ƒS(N(t
SetExattr4(R&tjoinTime((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetMemberJoinTimeZscCsßtjdƒ}tdt|ƒdƒ}tjddƒ}tjƒ}td||jƒƒ}g}d}xJt    |ƒD]<}t
j t
j |ƒ}|j |ƒ|rx|d7}qxqxW||}    |    dkr´tt|ƒt|ƒƒ}tj|ƒxá|D]¯}
||
d} tj| ƒ} tjƒj| ƒ} | rBqþnd|krRgS|jdƒ} t
jt
j | |
ƒtjd| |
fƒ|
|| <|    d8}    |    sþPqþqþWn'|    dkrÛtjd||fƒgS|S(s Ëæ»ú3¸ö¼ÙÏÉÃËtFakeFamilyNameiiis'    Ëæ»ú¼ÙÏÉÃË  changeIndex=%s,value=%ssQ    Ëæ»ú¼ÙÏÉÃËÒì³£ ÒÑ´æÔÚµÄËæ»úÊý´óÓÚ»¹ÐèÒªµÄËæ»ú¸öÊýlackFakeCnt=%s,fakeIDList=%s(t IpyGameDataPYtGetFuncEvalCfgtrangetlent
GetFuncCfgRRtmaxtGetCounttxrangetPlayerDBGSEventtGetDBGSTrig_ByKeytDef_FakeFamilyIndextappendtlisttsettrandomtshufflet    GbkToCodetFindFamilyByNametindextSetDBGSTrig_ByKeytDebugLogtErrLog(tfakeFamilyNameListt
randomListt    randomCntt familyManagert lackFakeCntt
fakeIDListt
curfakeCnttit    fakeIndextlackCntR#t
familyNamet
findFamilyt changeIndex((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytRandomFakeFamily]sF  
 
 
  cCstƒ}tt|ƒtdgƒƒ}tjƒ}|jƒt|ƒ|_||_|sÞt    j
ƒ}x–t d|j ƒƒD]Y}|j |ƒ}|dks~|jƒ r²q~ntj|ƒrÇq~ntj||ƒq~Wn#tj|ƒrñdStj||ƒdS(s֪ͨ¼ÙÏÉÃËÐÅÏ¢iN(RTR=R>tChPyNetSendPackttagGCFakeFamilyInfotClearR4tCountt
FakeIDListRtGetPlayerManagerR3tGetPlayerCounttGetPlayerByIndextNonet    GetInitOKt PlayerControltGetIsTJGt NetPackCommont SendFakePack(t    curPlayerRLtfakeFamilyPackt playerManagerRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSyncFakeFamilyInfo†s&     
     cCsê|jƒ}|jƒdkr2tj|dƒdS|jƒdkrXtj|dƒdStjƒj|ƒ}t    ||ƒ}|s†dSt
|||ƒsœdStj ƒ}|j ƒ}||j ƒkrÚtj|dƒdStƒ}|j|ƒ}    |    dkrtjd|ƒdStjd|    jƒ|fƒ|    jtjƒƒ|    jdƒ|    jtjƒtjƒj|    jƒƒt|    |tjƒ|rÚ||krÚtj tj!|j"|ƒdƒtj#d|j"|ƒƒnxx;t$|ƒD]-\}
} | rçtj tj!|
dƒPqçqçWt%j&dƒ} | rRt%j&dd    ƒ} |j'| | ƒnt(ƒt)ƒtj|d
ƒt*j+|j,ƒ||j-ƒ||    jƒƒtjd ||    jƒ|f|ƒtj.dd |j-ƒ||    jƒgƒdS( NtGeRen_chenxin_85890itXW_JZ_Family_Fulls¼Ò×å´´½¨ÊýÄ¿ÒÑÂú, ´´½¨¼Ò×åʧ°Üs!´´½¨ÏÉÃË: familyID=%s,playerID=%sis%    ´´½¨Ç°3¸öÏÉÃ˲»¿ÛÇ®! ¼ÙÏÉÃËË÷Òý%stCreateFamilyNeedMoneyitXW_JZ_EstablishSuds´´½¨¼Ò×å : %s(%s), fakeIndex=%stjiazu_liubo_671654(/t GetPlayerIDt    GetFamilyR]R_t
NotifyCodet GetFamilyIDRt GetGameWorldt GetCharTrimtGetFamilyFullNametCheckFamilNameRR7tGetFamilyUpperLimitCountRTt    AddFamilyRFtLogtGetIDt SetCreateTimetGetCurrentDataTimeStrtSetLVt SetAcceptJoint ShareDefinetFamilyAcceptJoin_Agreet PyDataManagertGetFamilyStoreItemManagertDelFamilyStoreItemAlltDoPlayerJionFamilytIPY_GameServert    fmlLeaderR9RDR;RCREt    enumerateR1R5tMapServer_PayMoneyRft DoFamilySorttDataRecordPacktDR_CreateFamilytGetAccIDtGetNamet WorldNotify(RcRQROttickt curPlayerIDtfullFamilyNameRJtcurCntt fakeIndexListRRNtfindext    needMoneyt    moneyType((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytDoCreateFamily®s`           #(c Csýtj|ƒ}ttjdƒƒ}|\}}}}}||ksQ|dkrltjd||fƒdStj||ƒ}    |    r“|    \}}n|t|ƒ}
t|
ƒ|krùtjd||
t|
ƒ|fƒt    j
|d|d|gƒdS|
S(NtFamilyNameFormatisOGetFamilyFullName serverID=%s error! maxServerID=%s, check FamilyNameFormat.txttsOGetFamilyFullName familyName=%s,È«Ãû=%s len=%s > %s, check FamilyNameFormat.txttGeRen_liubo_980181i( RtGetPlayerServerIDtevalt ReadChConfigt GetChConfigRFtGetDictValueByRangeKeyttupleR4R_Rn( RcRQtserverIDtroleNameFormatt
nameFormatt    paramListtmaxLent maxServerIDtspecServerDicttnameFormatInfotfullName((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRr"s#cCsÐ|j|ƒ}t||ƒ|tjkrg|j|jƒƒ|j|jƒƒ|j|j    ƒƒnt
|t t j ƒƒƒt ||tƒ|j|jƒƒ|j|ƒ|jƒt|tjƒræ|jƒtj|ƒnt|jƒ|jƒƒtj|jƒ|jƒƒtj|ƒtj|ƒtj |ƒt!j"ƒj#||jƒƒt$||j%ƒƒt&|jƒƒt'j(|ƒt)j*||jƒƒt+j,||jƒ|jƒ|j-ƒƒdS(N(.t    AddMembertRefreshFamilyMemberBaseMsgR‚Rƒt SetLeaderIDRlt SetLeaderNameRŠtSetLeaderOfficialRanktGetOfficialRankR/tintttimetChangeFamilyMemberLvtTruet SetFamilyIDRwt    SetFamilytMapServer_FamilyRefreshtGetFamilyMemberHasPowRtDef_PurviewDictKey_CanCalltSync_FamilyInfotPlayerFamilyActiontViewFamilyRequestInfot__OnFamilyNameChangetGameWorldFamilyWartAddFamilyWarMemtCheckPlayerJoinFamilyWarInfotPlayerFamilyRedPackettNotifyRedPacketInfotPlayerFamilyBosstNotifyFamilyBossFBInfoR~RtSyncFamilyStoreItemR*t GetFightPowert!AddFamilyIDToFightPowerChangeListtPlayerFamilyPartytNotifyFamilyPartyQuestiontPlayerFamilySWRHtNotifySWRHInfoR‡tDR_PlayerJoinFamilyR7(Rt
jionPlayertjionFamilySetLvt familyMember((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR=s4  
 
        (cCsŸtjd||ƒg}tjƒ}xr|D]j}|j|ƒ}|s_tjd|ƒq-n|j|ƒ}|sŠtjd|ƒq-n|j|ƒq-WdS(Ns(    Íæ¼ÒÕ½ÃËÃû±ä¸ü´¦Àí, newFamilyName=%ss;    Íæ¼ÒÕ½ÃËÃû±ä¸ü´¦Àí ÕÒ²»µ½ÕâÀàÐÍÅÅÐаñ billboardIndex=%ss,    Íæ¼ÒÕ½ÃËÃû±ä¸ü´¦Àí ¸ÃÍæ¼ÒûÓÐÔÚÅÅÐаñÉÏ (RREt GetBillboardt FindBillboardtFindByIDtSetName2(tplayerIDRQtneedChangeFamilyBillboardListt billboardMgrtbillboardIndext    billBoardtplayerBillBoardData((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¹ws  cCsF|jƒ}|tjkrtS|jt|t|ƒtjƒƒtS(N(tGetMoneyRRtFalsetSetMoneyRt!GetPlayerMoney_Change_FamilyMoneyR°(RcRt playerMoneytcurFamilyMoney((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPlayerAddFamilyMoney•s   cCst|tjƒS(N(R­R|t'Def_PlayerMoney_Change_FamilyMoney_Rate(RÚ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÙ¦scCsÉtj|ƒr#tj|dƒdSt|ƒdksJt|ƒtjkrqtj|dtjdtjgƒdStjƒj    |ƒ}|dkrÅ|j ƒ|j ƒkr®t Stj|dƒdSnt S(NtXW_JZ_Family_NameNoLegalityiR—itXW_JZ_EstablishErr_Name(t    DirtyListtIsWordForbiddenR_RnR4RtDef_CreatFamily_MaxStrRRRBR]RwRoR°(RcRQRŽRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRs®s'# cCsdS(N((RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytInputFamilyNameÏscCsdS(N((RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt__Func_InputFamilyNameÙscCsRtjƒj|ƒ}|j}|j}t||||ƒt|ƒ|jƒdS(N(RRZR\tNametFakeIDR”t__ClearViewFamilyStatetMapServer_LeaveEvent(RCt
clientPackRŒRct    inputNameRO((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt PyCreatFamilyés        
 
cCs|jtjƒdS(N(tSetViewFamilyStateR|tTViewFamilyType_None(Rc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRçúscCs…tjƒj|ƒ}tjƒ}tjƒj|jƒƒ}tjƒj    |ƒ}|dkrqt j |dƒdSt j |dƒdS(NtXW_JZ_Query_BeingtXW_JZ_Query_NoBeing( RRZR\R‚tIPY_CCheckFamilyNameExistRpRqRŠRRBR]R_Rn(RCRŒRctpackRQR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytCheckFamilyNameExist
s  cCsžttjƒ}tj||ƒ}|dkri|dksE||kritjd||f|jƒƒdStj|||ƒ\}}t|||||ƒdS(Nis>¿Í»§¶Ë²é¿´¼Ò×åÒ³·â°ü´íÎó,ÎÞ´ËÒ³ viewPage = %s, allPageCnt = %s(    R4t
PyGameDatatg_sortFamilyIDListRt GetIntUpperRvRlt GetViewPageBeginIndexAndEndIndextSync_PyAllFamilyInfo(RctviewPagetpageCnttsortRulet familyCountt
allPageCntt
startIndextendIndex((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSync_AllFamilyInfo(s$     cCsttjƒj|ƒ}|sdSxNt|jƒƒD]:}|j|ƒ}|jƒ}|r2tj||ƒq2q2WdS(N(    RRRR8R7tGetAtt    GetPlayerRaRb(RRéRRCtmembert    memPlayer((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSendFamilyFakePack?s c Csíttjƒ}|dks'||kr+dStjƒ}tjƒ}|jƒ||_||_    g|_
x\t ||dƒD]G}tj|}    |j |    ƒ}
|
sªq|n|j
j t||
ƒƒq|Wt|j
ƒ|_tj||ƒdS(Nii(R4RóRôRRRUttagGCPyAllFamilyViewRWt
TotalCounttCurPagetFamilyR8RR<t__GetFamilyViewt    PageCountRaRb( RcRüRøRýRþRût    familyMgrtfamilyViewPackRNRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR÷Ls$  
             cCsútjƒ}|jƒ||_|jƒ|_|jƒ|_t|jƒ|_    |j
ƒ|_ |j ƒ|_ t|j ƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_t|ƒ|_t|ƒ}|tj|_|tj|_|S(N(RUttagGCPyFamilyViewRWt FamilyIndexRwtFamilyIDRŠt
FamilyNameR4t FamilyNameLent GetLeaderIDtLeaderIDt GetLeaderNamet
LeaderNamet LeaderNameLentGetLeaderOfficialRanktLeaderOfficialRanktGetLVtFamilyLVR7tFamilyMemberCountt GetAcceptJoint
JoinAcceptRtWarRankR
RRtTotalFightPowertTotalFightPowerEx(RCRt
familyViewR ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR    as$ 
     cCsUtjƒj|ƒ}tjƒ}|jƒ}|sDt|dƒdSt||ƒdS(Ni(RRZR\R‚tIPY_CSearchFamilytGetMsgRÿtSync_SearchFamily(RCRŒRcRñtmsg((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt SearchFamilyzs    cCsÏtjƒ}tjƒ}|jƒd|_d|_g|_xitt    j
ƒD]X\}}|j |ƒ}|stqMn||j ƒkrŒqMn|jj t||ƒƒqMWt|jƒ|_tj||ƒdS(Ni(RRRURRWt IsSearchingRRR„RóRôRRŠR<R    R4R
RaRb(RcR%R R RNRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR$‰s   
            c CsHtjƒj|ƒ}|j}|j}td|jƒ}|j}tjƒ}t    j
ƒ}    |    j ƒ||    _d|    _ g|    _ x ttjƒD]\}
} |j| ƒ} | s¶qn|| jƒkrÎqn|rì| jƒ|krìqn|    j jt|
| ƒƒt|    j ƒ|krPqqWt|    j ƒ|    _tj||    ƒdS(Nii(RRZR\tMsgtLVRtMaxCountR'RRURRWRRR„RóRôRRŠRR<R    R4R
RaRb( RCt
clientDataRŒRcR%t minFamilyLVtmaxCountR'R R RNRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPySearchFamily§s2              
            cCstjƒj|ƒ}|jƒ}|jƒ}|dkrMtjd|ƒdS|j|ƒ}|dkr|tjd|ƒdSt|t    j
ƒs¢tjd|ƒdSt |ƒ}t j dƒ}||kr    t j ddƒ}t|ƒ}    |jddd|    t|    ƒƒnt||dƒtjƒ}
|j|
jƒƒ|jƒtjƒ} x»td|jƒƒD]¤} |j| ƒ} | j| jƒƒ}|dkr¡qen|jƒ|jƒkr¿qen|j|d|
jƒdtj|ƒƒtjƒj |j!ƒ|j!ƒƒqeWdS(    Ns'¸üй«¸æ -> ¿Í»§¶Ë·â°üÒì³£ ->Íæ¼ÒÎÞ¼Ò×ås)¸üй«¸æ -> ¿Í»§¶Ë·â°üÒì³£ ->ÕÒµ½³ÉÔ±´íÎós'¸üй«¸æ -> ¿Í»§¶Ë·â°üÒì³£ ->ÄãûÓÐȨÏÞtFamilyBroadcastiitFamilyBroadcastCosti("RRZR\RlRmR]Rvt
FindMemberR´RtDef_PurviewDictKey_CanBroadcastRR1R5tstrtMapServer_QueryPlayerResultR4RR‚tIPY_CFamilyChangeBroadcastt SetBroadcastR#tBroadcast_FamilyChangeR3R7RtFindPlayerByIDtChatMit
PlayerTalktGetTalkExtraValueR~tGetContactsManagertAddContactsBothRw(RCRŒRcRRR&tcurBroadcastCnttmaxBroadcastCnttcroadcastCostGoldtresultRñReRNt notifyMembert notifyPlayer((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytUpdateBroadcastÐsD       " 
  (&cCsP|jƒ}t|tjƒ}|jƒ|krDtj|dƒtS|j|ƒ}|dkrst
j d|ƒtSt |tj ƒs™tj|dƒtS|j|jƒƒ}|dkrÎtj|dƒtS|jƒdkrôtj|dƒtS|jƒtjkr&tj|dtjgƒtSt
j||ƒsLtj|dƒtStS(Ntjiazu_lhs_202580sÌí¼Ó¼Ò×å³ÉÔ± - >ÕÒµ½³ÉÔ±´íÎótXW_JZ_InviteErr_PopedomtXW_JZ_InviteErr_RepeattXW_JZ_InviteErr_LvtXW_JZ_InviteErr_Antagonize(RltGetFamilySettingRtDef_FamilySetting_MaxMemberCntR7R_RnR×R1R]RRFR´RµRwRmRtDef_Family_JionMinLVt IsSameCountryR°(RcRt    tagPlayerRt maxMemberCntR&t    tagMember((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt__CheckCanAddFamilyMembers4   cCstjtƒ||ƒdS(N(Rt GetPsycoFunct__Func_AddFamilyPlayer(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytAddFamilyPlayerLsc
CsJtjƒ}|j|ƒ}|jƒ}|jƒ}|dkrStjd|ƒdStjƒ}|j    ƒ}|j
ƒ}d}    |dkr›|j |ƒ}    n|j |ƒ}    |    dkrÊt j|dƒdSt|||    ƒsàdS|j|    jƒtj|tjƒ|    j||jƒ|jƒ|jƒƒt j|d|    jƒgƒdS(NsAddFamilyPlayer, Íæ¼ÒÎÞ¼Ò×åitjiazu_hwj35_367906tXW_JZ_InviteEnter(RRZR\RwRmR]RFR‚tIPY_CAddFamilyPlayertGetTagIDt
GetTagNameR8tFindPlayerByNameR_RnRQt
AddRequestt    reqFamilyRtDef_EventClearTimetFrm_FamilyAskIfJoinRŠ(
RCRŒReRcRRRñtpack_FindPlayerIDtpack_FindPlayerNamet
findPlayer((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRSUs.         "(cCstjtƒ||ƒdS(N(RRRt__Func_AskJoinFamilyReply(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytAskJoinFamilyReply–scCs9tjƒ}|j|ƒ}tjƒ}|j|jƒƒ}|dkr\tj    |dƒdSt
j ||tj ƒsxdS|j ƒs˜tj    |dƒdS|jƒ}|sÄtjd|jƒƒdSt|||ƒsÚdSt||tjƒ|jƒ}t||d|gƒtj    |d|jƒgƒ|jƒdS(Ntjiazu_hwj35_329496tXW_JZ_InviteErr_RefusesAskJoinFamilyReply, Íæ¼ÒÎÞ¼Ò×åtXW_JZ_EnterFamilytXW_JZ_EnterFamilyInfo(RRZR\R‚tIPY_AskJoinFamilyReplyR8tGetTagPlayerIDR]R_Rnt PlayerRequestt CheckRequestR\tGetIsOKRmRFRwRQRt    fmlMemberRŠtNotifyAllFamilyMemberMsgR7(RCRŒRetnoFamilyPlayerRñt    srcPlayert    srcFamilytnoFamilyPlayerName((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRbŸs0      
cCsjtjƒ}|j|ƒ}tj|tj|ƒs7dS|jƒ}|dkrSdS|j}g}tjƒ}|j    |t
j ƒ}    xqt d|    j ƒƒD]Z}|    j|ƒ}
|
jƒ} |dkrÖ|j| ƒn|| kr™|j| ƒPq™q™W|sdS|jƒ} t} x=|D]5} |j| ƒ}|js«|rŒtj|d| jƒgƒd|df}|jddd|t|ƒƒqtj|t
j d|ƒqn|s·qnt|| |ƒsÏqnt| |tjƒt } t!| |d|jƒgƒtj|d| jƒgƒd|df}|jddd|t|ƒƒqW| rf| j"ƒndS(    Nitjiazu_pan_592934s[%s, %s]tAddFamilyReplyRÐRfRgi(#RRZR\tRefurbishPlayerTickRtTYPE_Player_Tick_AddFamilyReplyRot TagPlayerIDtGetFamilyActionManagertGetFamilyActionR|tDef_ActionType_FamilyAddR3RXtAtt    GetValue1R<RmR×R8tIsOKR_RnRŠR4R4R·tClearFamilyActionRQRR‚RmR°RnR7(RCR+RŒReRctfamilyIdt tagPlayerIDttagPlayerIDListtallFamilyActionManagert familyActiontfamilyActionDataRÐRt
isNeedSyncRNtsendMsg((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRtÜsZ                  "# c    CsÒ|rtj|ƒrdStjƒ}x¦td|jƒƒD]}|j|ƒ}|j|jƒƒ}|dkrwq;n| r¢|r¢|jƒ|jƒkr¢q;ntj|ƒr·q;ntj
|||ƒq;WdS(Ni( R_R`RRZR3R7RR8RlR]Rn(    RRctcodetparListt includeSelfReRNRBRC((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRn1s  %cCs[d}xNtd|jƒƒD]7}|j|ƒ}|jƒ|krIqn|d7}qW|S(Nii(R3R7Rt GetFamilyLV(RtfamilyLVt    memberCntRNRË((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytFindFamilyMemberCntByPowLvPscCsP|tjkrdS|tjkr&dS|tjkr9dS|tjkrLdSdS(NRmt fmlCounsellort fmlViceLeaderRƒR–(R‚RmRŽRRƒ(tinfo((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt__GetFamilyLVInfo`scCstjtƒ||ƒdS(N(RRRt__Func_FamilyChangeMemberLV(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytFamilyChangeMemberLVyscCsˆtjƒj|ƒ}|jƒ}|jƒ}|dkrMtjd|ƒdStjƒ}|jƒ}|j    ƒ}t
||||ƒdS(Ns(¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->·â°üÒì³£->Íæ¼ÒûÓмÒ×å( RRZR\RlRmR]RvR‚tIPY_CFamilyChangeMemberRŠtDoChangeFamilyMemberLV(RCRŒRcRRRñt
pack_tagIDt pack_FamilyLv((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR’‚s      c Csž|jƒ}|j|ƒ}|dks3|dkrGtjd|ƒdS|s†t|tjƒscdS||kr†tjd|ƒdSn|j|ƒ}|dkr¹tjd||ƒdS|tjkràtjd||ƒdS|j    ƒt
j kr6|j    ƒ|j    ƒks||j    ƒkr6tjd|ƒdSn|j ƒ}|j ƒ}    |t
j kr‚tjdƒ}
|jƒ|
kr˜tj|d|
gƒdS|jƒ} |j| ƒ} | s½dSt| t
jƒtj|||    | jƒ| j ƒ| j    ƒ|ƒt||ƒt||d|j ƒ|gƒ|jƒ| jƒ} |rY| rY| jƒntjd    |j ƒ|j ƒf|ƒn€t||ƒ}|t|tj|ƒkrÁtj|d
ƒdS|j    ƒ|krõt||d|j ƒ|gƒnt||ƒtj||j ƒ|j ƒ|jƒ|j ƒ|j    ƒ|ƒ|jƒ}|dkr|jƒt|tjƒr|j ƒt!j"|ƒqn|j#ƒt$S( Ns$¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->·â°üÒì³£->Î޴˳ÉÔ±s(¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->·â°üÒì³£->²»ÄÜÈÎÃâ×Ô¼ºs0¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->·â°üÒì³£->Ä¿±ê²»´æÔÚ, tagID=%ss+¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->·â°üÒì³£->µÈ¼¶ = %s²»´æÔÚs>¸ü¸Ä¼Ò×å³ÉÔ±µÈ¼¶->Ä¿±êְλ±È×Ô¼ºµÄ¸ß»òÕß¶Ô·½µÄµ±Ç°Ö°Î»±È×Ô¼º¸ßtCreateFamilyMinLVs#DBB17139-6C93-4E66-9CC1314EAEB6F455tXW_JZ_AppointFamilys%s¼Ò×åתÈÃ×峤, ÉèÖÃΪ×峤:%stjiazu_chenxin_31379(%RlR1R]RRvR´Rt%Def_PurviewDictKey_CanChangeFamilyJobtDef_Family_MemberLVListRŠR‚RƒRwRŠR1R5RR_RnRR¯RmR‡tDR_PlayerChangeFamilyJobtSetFamilyLeaderRnR³RRRJt&Def_FamilyPowLvChangeFamilySettingDictRµR¶R·R¸R7R°(RRcttagIDR—tisGMOPRR&RPRRQtcreateFamily_MinLVtleaderIDt leaderMembert leaderPlayertfamilyLvMemberCntRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR•“sx   *    
   )" $  
 
 
cCstjtƒ||ƒdS(N(RRRt__Func_GetFamilyMember(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyMemberscCs±tjƒj|ƒ}|jƒ}|sAtjd|jƒƒdS||jƒtjkrttjd|jƒƒdS|j    |ƒ|j
ƒt |ƒr­|j |j ƒƒndS(Ns####²é¿´¼Ò×å½çÃæ·â°üÒì³££¬Íæ¼ÒÎÞ¼Ò×ås2ÒªÇóµÃµ½¼Ò×å³ÉÔ±ÐÅÏ¢ -> ¿Í»§¶Ë -> µÃµ½ÐÅÏ¢Ëٶȹý¿ì(RRZR\RmRvRltGetPlayerGetFamilyInfoTickRtDef_PlayerGetFamilyInfoTicktSetPlayerGetFamilyInfoTickR¶t__CheckCanRenameFamilyNametFrm_RenameFamilyAskRŠ(RCRŒRctcurPlayerFamily((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR§ s  
 cCs8tjƒj|ƒ}tjƒ}|j|jƒƒdS(N(RRZR\R‚tIPY_GSetPlayerViewFamilyStateRìtGetState(RCRŒRcRñ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_PlayerViewFamilyState/s cCstjtƒ||ƒdS(N(RRRt__Func_DeleteFamilyMember(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytDeleteFamilyMemberEsc
Csìtjƒ}|j|ƒ}tjƒ}|jƒ}|jƒ|kr_tjd|jƒƒdS|jƒ}|dkr‘tjd|jƒƒdS|j
|jƒƒ}|dkrÌtjd|jƒƒdSt |t j ƒsâdS|j
|ƒ}|dkrtjd|jƒƒdS|jƒtjkrFtjd|jƒƒdS|jƒ}    |    tjkr|jƒtjkrtjd|jƒƒdStj|jƒƒr¹tj|dƒdStjƒrÙtj|dƒdStjƒjtjtjƒr tj|dƒdS|jƒ}
|jƒ} |jƒ} t||d    |
gƒtj |
|jƒtj!tj"tj#g|ƒ|j$| ƒt%|| ƒ|j&|ƒ} t'| |ƒt(j)||jƒ|jƒ|j*ƒ|    | |
| ƒ|j+ƒdS(
Ns&ɾ³ý¼Ò×å³ÉÔ± ->·â°ü´íÎó ->²»ÄÜÌß³ö×Ô¼ºs&ɾ³ý¼Ò×å³ÉÔ± ->·â°ü´íÎó ->Íæ¼ÒûÓмÒ×ås"ɾ³ý¼Ò×å³ÉÔ± ->·â°ü´íÎó ->Î޴˳ÉÔ±s&ɾ³ý¼Ò×å³ÉÔ± ->·â°ü´íÎó ->²»ÄÜÌß³ö×峤s*ɾ³ý¼Ò×å³ÉÔ± ->·â°ü´íÎó ->»¤·¨²»ÄÜÌß³ö»¤·¨t FamilyWarFightingDeleteMemLimiittDungeonGuardSkyText2tFairyGrabBossExitErrortXW_JZ_LeaveFamily(,RRZR\R‚tIPY_CDeleteFamilyMembert GetMemberIDRlRvRmR]R1R´Rt Def_PurviewDictKey_CanKickMemberRŠRƒRRºtIsFamilyInWarFightingRwR_RnRÆtIsInFamilySWRHRpt GetDictByKeyR|t$Def_Notify_WorldKey_DailyActionStatetDailyActionID_FamilyRobBossRŠRnR·tAddFamilyActionNotetDef_ActionType_FamilyEventt"Def_FamilyActionEvent_MemberChangetDef_FamilyMemberChange_KickOutt DeleteMembert__DoPlayerLeaveFamilyByIDR8tPlayerForceLeaveFamilyR‡tDR_PlayerLeaveFamilyR7R7(RCRŒReRcRñt tagMemberIDRR&t curTagMembert curFamilyLVt tagPlayerNameR€t tagFamilyLVRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR²Nsf        $       $
cCstjtƒ||ƒdS(N(RRRt__Func_LeaveFamily(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt LeaveFamily¬sc
Cs9tjƒj|ƒ}|jƒ}|dkrGtjd|jƒƒdS|j|jƒƒ}|dkr‚tjd|jƒƒdS|jƒ}|j    ƒdkrÃ|t
j krÃt j |dƒdStj|jƒƒrìt j |dƒdStjƒr t j |dƒdStjƒjtjtjƒr?t j |dƒdSt||d|jƒgƒtj|jƒ|jƒtjtjtjg|ƒ|jƒ}|j|jƒƒt ||ƒt!||ƒt"j#||jƒ|jƒ|j    ƒ||jƒ|jƒ|ƒ|j    ƒd    kr+t$||ƒdS|j%ƒdS(
Ns$À뿪¼Ò×å -> ·â°ü´íÎó -> Íæ¼ÒûÓмÒ×åsÀ뿪¼Ò×å -> ·â°ü´íÎó ->Î޴˳ÉÔ±itXW_JZ_FamilyHeadCannotExittFamilyWarFightingLeaveLimiittDungeonGuardSkyText1R¶R·i(&RRZR\RmR]RvRlR1RŠR7R‚RƒR_RnRºR»RwRÆR¼RpR½R|R¾R¿RnRŠR·RÀRÁRÂtDef_FamilyMemberChange_LeaveRÄRÆRÅR‡RÇt __DelFamilyR7(RCRŒRcRR&R‹R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR͵sH    !    $ 
cCsDtj|jƒ|ƒt|dƒt|jƒƒtj|ƒdS(NR–(R·tDelFamilyOfficerModelEquipRwR¹RÃtPlayerViewCachetOnPlayerLeaveFamily(Rt leavePlayerID((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÅðs
  cCs&tjƒj|ƒ}t|dƒdS(Ni(RRZR\Rÿ(RCRŒRc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_PlayerViewAllFamilys cCstjtƒ||ƒdS(N(RRRt&__Func_MapServer_PlayerAddFamilyDetail(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_PlayerAddFamilyDetailscCs_tjƒj|ƒ}tjƒ}|jƒ}|jƒ}|jƒ}t||||dƒdS(Ni(    RRZR\R‚tIPY_GAddFamilyDetailtGetAddFamilyHornortGetAddFamilyMoneytGetFamilyActiveValuet)__DoLogic_MapServer_PlayerAddFamilyDetail(RCRŒRcRñtaddFamilyHornortaddFamilyMoneytaddFamilyActiveValue((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÙ s    c    CsVtjƒj|jƒ}|j}|j}|j}|j}t|||||ƒdS(N(    RRZR8tPlayerIDtAddFamilyHornortAddFamilyMoneytFamilyActiveValuet    AddResionRß(    t
routeIndextmapIDt curPackDataRŒRcRàRáRât    addResion((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytOnMGAddFamilyDetail4s                c
Cs^|stjdƒdS|jƒ}|jƒ}|dkrOtjd|ƒdS|j|ƒ}|dkr~tjd|ƒdStjd||||f|ƒt|t    j
ƒ}|dkr|t j kr|rt |ƒ}    t|t||    dƒƒ}tjd|    ||f|ƒn|dkrKt|tt|ƒ|t    jƒƒn|dkr¬|jt|jƒ|t    jƒƒ|t j kr¬|r¬t|t |ƒ|ƒq¬n|dkrë|jt|jƒ|t    jƒƒt||ƒn|dkr7tj|jƒ|jƒ|jƒ|jƒ||jƒ|ƒn|jƒ|dkrZt|ƒndS(Ns-MapServer_PlayerAddFamilyDetail Player = NonesAddFamilyDetail ->Íæ¼ÒûÓмÒ×åsAddFamilyDetail ->Î޴˳ÉÔ±s_PlayerAddFamilyDetail addFamilyHornor=%s,addFamilyMoney=%s,addFamilyActiveValue=%s,addResion=%sis\    ±¾ÖÜÈÎÎñÒÑ»ñµÃÏÉÃË×ʽðÊý!curWeekMissionMoney=%s,weekMissionMoneyMax=%s,addFamilyMoney=%s( RRFRlRmR]RvR1RERJRt%Def_FamilySetting_WeekMissionMoneyMaxR|tDef_AddFAVReason_DoFamilyMissonR!RR6RRRRØRÖR$tSetFamilyActiveValueRÞt#ReFreshPlayerFamilyTotalActiveValueR‡tDR_AddFamilyDetailRŠRwRR¶t&SendPack_MapServer_PlayerFamilyRefresh(
RcRàRáRâRëRRR&tweekMissionMoneyMaxtcurWeekMissionMoney((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRß=sH         !      & # # *
  cCsmtjƒj|ƒ}|sdS|j|ƒ}|s8dSt||ƒtjd||f|ƒt|ƒdS(Ns*ÏÉÃ˳ÉÔ±Õ½Á¦±ä¸ü familyID=%s,fightPower=%s(RRRR1R*RERÃ(RRÐR)RR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytUpdFamilyMemberFightPowerys 
cCstjtƒ||ƒdS(N(RRRt!__Func_MapServer_PlayerLVUpFamily(RCR+RŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytOnPlayerLVUpFamilyŒscCstjtƒ||ƒdS(N(RRRRö(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_PlayerLVUpFamily›scCs°tjƒj|ƒ}|jƒ}|jƒ}|dkrMtj|dƒdS|j|ƒ}|dkr|tj    d|ƒdSt
|t j ƒs¢tj|dƒdSt |ƒdS(Ntjiazu_pan_161795sFamilyLVUp -> Î޴˳ÉÔ±tjiazu_liubo_272921(RRZR\RlRmR]R_RnR1RFR´Rt Def_PurviewDictKey_CanFamilyLvUpt DoFamilyLvUp(RCRŒRcRRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRö¤s    
cCsV|jƒtjkrdSt|tjƒ}|jƒ|krRtjd|ƒdS|j|jƒ|ƒ|j    |jƒdƒt
j |j ƒd|gƒt j|jƒ|j ƒ|jƒƒtjƒjƒ}|jƒ}|j|ƒ}|r|jƒnd}tj||j ƒtjtj|jƒg|ƒt|ƒ|jƒtƒtS(NsÕ½ÃË×ʽð²»×ã! needMoney=%sitjiazu_chenxin_272921R–(RRtDef_Family_MaxLvRJtDef_FamilySetting_LvUpCostRÖRRERØRzR_t FamilyNotifyRwR‡t DR_FamilyLvUpRŠRptGetTickRR1R·RÀR|RÁtDef_FamilyActionEvent_LVUPRòR7R†R°(RR’RŒR£t    memLeadert
leaderName((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRüÆs(% 
 
cCsd|dkrdStjƒj|jƒtƒ|jdƒ|jdƒ|jƒt    |ddƒdS(Ni(
R]RRZtSetForbiddenEnterFamilyRlR°R²R±R³tSendPackClientImpeachMsg(RcRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÆùs   
cCsVtjƒj|jƒƒ}ttj|dƒƒ}|jddd|t|ƒƒdS(NitForbiddenFamilyAction(RRZtGetForbiddenEnterFamilyRlR3tToIntDefR4R4(RctisForbidR%((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytNoteForbiddenFamilyActionscCs|jƒdS(N(R³(RcRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytOnPlayerChangeMaps
cCst|ƒ|jƒ}d}x2tdƒD]$}|dkrŸtjƒj|jƒƒ}|dkrfdS|jƒ}tjd|jƒ|fƒ|j    |ƒntjƒ}|j
|ƒ}|dkrùt ||ƒtjd||jƒƒd}q)n|j |jƒƒ}|dkr)t ||ƒtjd||jƒƒd}q)q)q)W|j |ƒ|j|ƒ|j|ƒtj|ƒs¡|jdƒ|jƒn|jƒt|ƒ}|rßt|tjƒrßtj|ƒnt||d|jƒgtƒt||ƒtj ||ƒdS(NiisÍæ¼Ò(%s)ÈÔÈ»ÓмÒ×å(%s), ²¹¾Ès-PlayerLoginRefreshFamily -> Íæ¼ÒÀ뿪¼Ò×å = %ss/PlayerLoginRefreshFamily -> Íæ¼Ò±»Ìß³ö¼Ò×å = %stXW_JZ_LeaguerOnline(!RfRoR]R3RRtFindPlayerFamilyIndexRlRvR±RRÆR1R«R²t    SetPlayerR_R`t
SetExattr2R¶R³tGetPlayerFamilyMemberR´RRµR·R¸RnRŠR×t PlayerRefreshRºt OnPlayerLogin(RcRŒRRRNR®RJR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPlayerLoginRefreshFamily)sL
 
 
  cCsª|jƒ}|dkrdS|jƒ}|dkr8dS|j|jƒƒ}|sztjd|jƒ|jƒfƒdS|jdƒt||d|j    ƒgt
ƒdS(Nis<###Íæ¼Ò¼Ò×åÒì³££¬Íæ¼Ò = %s,ÓмÒ×å = %s£¬¼Ò×åÖÐÎÞ·¨²éÕÒ´ËÍæ¼ÒtXW_JZ_LeaguerLeaveline( RoRmR]R1RlRRvRRnRŠR×(RcRŒRRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPlayerLogoffRefreshFamilyxs    # cCsv|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|jƒƒ|j|j    ƒƒ|j
|j ƒƒdS(N( tSetNameRŠRzRtSetReincarnationLvtGetReincarnationLvtSetJobtGetJobtSetOperateInfotGetOperateInfotSetOfficialRankR¬(R&Rc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¨“scCsgt|ƒ}|dkrdSt||ƒ|jƒ}|jƒ|jƒkrc|j|jƒƒndS(N(RR]R¨RmRRwR«R¬(RcRŒR&R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¡s    cCs-t|ƒ}|dkrdS|j|ƒdS(N(RR]Rï(RcR#R&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytReFreshPlayerFamilyActiveValue´s
   cCsIt|ƒ}|dkrdS|jƒ}|jt||tjƒƒdS(sÉèÖóÉÔ±ÀúÊ·¹±Ï×¶ÈN(RR]t
GetExattr1t
SetExattr1RRR(RctaddValueR&tcurValue((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRð¾s    cCs/|jƒ}|dkrdS|j|jƒƒS(N(RmR]R1Rl(RcR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÍs  cCs*|jƒ}|sdSt|||ƒdS(N(RmtDoLogic_DeleteFamily(RcRŒR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt DeleteFamilyÙs
 cCsÔg}x6t|jƒƒD]"}|j|ƒ}|j|ƒqWxF|D]>}|jƒ}|j|jƒƒ|swqFnt||ƒqFW|dkrÃt    j
d|j ƒ|j ƒ|j ƒfƒnt ||ƒdS(Ns&Íæ¼ÒID = %s, Íæ¼ÒÃû = %s, É¾³ý¼Ò×å =%s(R3R7RR<RRÄRlRÆR]RRvRwRŠRÓ(RcRRŒt member_ListRCtplayerRËRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR%és   / c
Cs3|jƒ}|jƒ}t|ƒ}|dkr‚tj|jƒ|jƒ|jƒ|||jƒ|j    ƒ|j
ƒ|j ƒƒ    n4tj |||jƒ|j    ƒ|j
ƒ|j ƒƒt jƒj|ƒ|tjkrëtjj|ƒntj|ƒtjƒj|ƒtj||ƒtj|ƒtƒdS(N(RwRŠRR]R‡tDR_DismissFamilyByPlayerR‰RlRÖRRRtDR_DismissFamilyBySystemRRt    DelFamilyRóRôtremoveR·R~R~RR€RºtOnDeleteFamilyR½tDelRedPackByFamilyIDRf(RcRRRQt familyWarRank((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÓs&      cCsi|j|jƒƒ|j|jƒƒ|j|jƒƒt|tjƒt    j
|j ƒ|jƒƒdS(N( R©RlRªRŠR«R¬R¯R‚RƒRºtOnChangeFamilyLeaderRw(RRË((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRž4s cCsô|jƒ}|j|ƒt|ƒtjƒjƒ}|rDtjntj}t    j
|j ƒ|j ƒtj tj|||g|ƒ||kr”dS|tjkrÂt    j|j ƒ|jƒƒn.|tjkrðt    j|j ƒ|jƒƒndS(N(RŠt SetFamilyLVt__SetFamilyMemberPurviewRRpRR|tDef_FamilyMemberChange_JointDef_FamilyMemberChange_FMLVR·RÀRŠRoRÁRÂR‚RmtUpdFamilyOfficerModelEquipRlRÔ(RËtchangeFamilyLVtisJoint befFamilyLVRŒt
changeType((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¯Cs  
 cCsdS(N((RË((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR2bscCs?tjdƒ}|t|ƒkr%tS||}|jƒ|kS(Nt FamilyPurview(R1R2R4R×RŠ(RËtpowIDtpowListt needMemberLV((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR´ks
 
cCs?t|ƒ}|dkr2tjd|jƒƒtSt||ƒS(Ns%GetPlayerHasFamilyPow -> ¼Ò×åÎ޴˳ÉÔ±(RR]RRFRwR×R´(RcR;R&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetPlayerHasFamilyPowys
  cCsdS(N((Rc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytOnWeek†scCstjdƒdS(Ns
´Ë½Ó¿Ú·ÏÆú(RRF(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_FamilyWarCalcResult­s cCstjtƒ||ƒdS(N(RRRt__Func_RenameFamilyAnswer(RCRŒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytRenameFamilyAnswerÂscCs>tjƒj|ƒ}tjƒ}|jƒ}t||ƒdS(N(RRZR\R‚tIPY_CRenameFamilyAnswert GetFamilyNamet RenameFamily(RCRŒRcRñt cFamilyName((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRAËs
   c    Cs¨tjƒj|ƒ}t||ƒ}|j||ƒ|dkr¤|jƒ}tj|ƒ}t|dgƒ}tjƒj    dd||d|t
|ƒ|j ƒƒndS(NiR–itFamilyNameRefresh( RRpRqt__DoLogic_RenameFamilyAnswertSync_FamilyRenameResultRltGetQueryPlayerMapIDR3RZtMapServer_QueryPlayerR4tGetRouteServerIndex(RcRQRARtcurPlayerMapIDtmsgStr((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyREÔs   c
Cs–t|ƒsdSt||ƒ}|dkr/|S|jƒ}|jƒ}|jƒ}|j|ƒ|jƒtjƒ}t    j
||ƒg}xÎt d|j ƒƒD]·}|j |ƒ}    |    jƒ}
t|
|ƒ|j|
ƒ|j|
ƒ}|søq¢ntj|ƒ} | sq¢nt|jƒ|gƒ} |jdd|
| d| t| ƒ|jƒƒq¢Wtjd|g||gƒtjdd||gƒtS(NiiRGtFamilyNameChangetFamily_ChangeName(R¬tCheckRenameFamilNameRmRwRŠRR7RRZRºtOnRenameFamilyR3R7RRlR¹R<R8RJR3RKR4RLtPlayerCompensationt SendMailByKeyR_R‹R°( RcRQtcheckFamilyNameRt curFamilyIDtoldNameRet memberIDListRCR&t curMemberIDRMRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRHìs>     
     cCsR|jƒ}|sdS|j|jƒƒ}|s5dS|jƒtjkrNdStS(N(RmR1RlRŠR‚RƒR°(RcRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¬4    s  cCs†tj|ƒrdSt|ƒdks:t|ƒtjkr>dStjƒj|ƒ}|dkr‚|j    ƒ|j
ƒkr{dSdSndS(Niiiii( RàRáR4RRâRRRBR]RwRo(RcRQRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRQZ    s' cCs)tjƒj|ƒ}|r%|jƒSdS(NR–(RRRRŠ(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyName_ByIDt    s
cCs)tjƒj|ƒ}|r%|jƒSdS(NR–(RRRR(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetLeaderName_ByFamilyID€    s
cCs=|s
dS|j|ƒ}|s#dS|jƒ|kr9dStS(N(R1RŠR°(RÐRR‹R&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytCheckPlayerFamilyLVŽ    scCsBtjƒj|ƒ}|sdS|j|ƒ}|s8dS|jƒS(Ni(RRRR1RŠ(RRÐRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetPlayerFamilyMemberLVExœ    scCs?|jƒ}|sdS|j|jƒƒ}|s5dS|jƒS(Ni(RmR1RlRŠ(RcRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetPlayerFamilyMemberLV¨    s cCs t|ƒ}|sdSt|ƒS(Ni(RR,(RcR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetPlayerJoinFamilyTime³    s cCs`tjƒjƒtjƒ}g}xßtd|jƒƒD]È}|j|ƒ}|jƒ}t|ƒ}tj    d|j
ƒ|fƒ|t j dƒkrª|j |ƒq8ntj|j
ƒtjƒtj|j
ƒtjtjƒt|ƒ|jƒt|ƒq8WxK|D]C}tj|j
ƒdƒtjd|j
ƒƒtd||ƒq WtdƒdS(Nis    ÏÉÃË%s %sÌìûÈËÉÏÏßÁËt AutoDelFamilytjiazu_hwj35_59724s%s¼Ò×åÒò×ʽð²»×ãά»¤, ½âÉ¢ (RRZtClearForbiddenEnterFamilyRR3R7RRÖtGetLastOnlineMemberOfflineTimeRERwR1R5R<R·R~R|tDef_ActionType_FamilyArrestRzRt"Def_Family_ClearRequestAddNote_Dayt__AutoChangeLeaderR7RòR_RRvR%R]t __SetFamilyActivityDayStateValue(RŒRJt delFamilyListRNRt familyMoneyt
offlineDayt    delFamily((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt FamilyOnDay¿    s. 
 
 
 
 
cCsÌtjƒ}x¹td|jƒƒD]¢}|j|ƒ}|jƒ}|jƒ}|j|ƒ|jdƒt    |dƒt
|dƒt |ƒtj d|ƒt j||jƒ|ƒtj|ƒq"WdS(NisfamilyActiveValue = %s(RRR3R7RRwRÞtSetLastWeekFamilyActiveValueRïRR$RòRvR‡tDR_FamilyActiveValueByOnWeekRŠR¿tFamilyBossFBOnWeek(RŒRJRNRRtfamilyActiveValue((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt FamilyOnWeek
s       
cCs[xTtd|jƒƒD]=}|j|ƒ}|jƒ}|dkrIqn|jƒqWdS(Ni(R3R7RRR]R³(RRNR&Rc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRò 
s
  cCsf|tjkrdS|jƒ}tjd|ƒ}|sLtjd|ƒdStj|}t||ƒS(NiRskey = %s not in tagFamily.txt(RtFamilySettingDictRR1tGetIpyGameDataRRFtgetattr(RRCtfamilyLvtcurFamilyLvSettingtkeyStr((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRJ:
s  cCs;tjƒj|ƒ}|j}|j}t|||ƒdS(N(RRZR\t    PageIndext    ShowCountRÿ(RCR+RŒRcRøtshowCnt((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPyViewFamilyPage[
s
        
c
Cs®tjƒ}g}x•|D]}|j|tjƒ}t}xVtd|jƒƒD]?}|j|ƒ}|j    ƒ}    |j
ƒ|    kr‰qPnt }qPW|j ||gƒqW|S(Ni( RRxRyR|RzR×R3RXR{R|RwR°R<(
Rct
familyListR‚t
resultListRRƒtisExistRCR„RÐ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytQueryRequestIsFamilyq
s   
cCs|dkrdS|jƒ}tjƒj|ƒdkr;dS|j|ƒ}|dkrktjd|ƒdStj|jƒƒ}tj    |ƒS(Nis)GetLeaderOfflineTime->FindMember, None;%s(
R]RRRZR8R1RvtChangeTimeNumToStrt
GetExattr2t GetPastHour(RR£R&t offLineTime((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetLeaderOfflineTimeŒ
s   cCsÀd}x‘td|jƒƒD]z}|j|ƒ}|jƒ}tjƒj|ƒ}|r\dS|jƒsldS|s|jƒ}qt||jƒƒ}qW|s¤dStj    |ƒ}tj
|ƒS(s»ñȡսÃ˶à¾ÃûÈËÉÏÏßÁËi( R3R7RRlRRZR8RR6R€t
GetPastDay(RRƒRNRRÐRN((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRc
s   c Cs¥t|ƒ}tjd|ƒ|tjdƒkr6dSd}d}d}xtd|jƒƒD]î}|j|ƒ}|j    ƒt
j krŽq^n|j    ƒt
j kr­|}Pn|s¼|}n!|j ƒ|j ƒkrÝ|}n|jƒrtjtj|jƒƒƒnd}|dkr^|s(|}qL|j ƒ|j ƒkrL|}qLq^q^W|p_|p_|}|sldStjd|jƒ|jƒ|jƒfƒ|jƒ}|j|ƒ}    t|    t
jƒt|dd|jƒt
jgƒt||ƒt|dd|jƒt
j gƒ|jƒ}
|jƒ} tj|
| |jƒ|jƒ|j    ƒƒtj|
| |    jƒ|    jƒ|    j    ƒƒ|jƒ} | r¡| jƒndS(s×Ô¶¯´«Î»s°ïÖ÷ÏÂÏßÁË%sСʱtAutoChangeLeaderNii0s,ÏÉÃËfamilyID=%s,leaderID=%s´«Î»¸øtoMember=%sR™(R„RRER1R5R]R3R7RRŠR‚RƒRR!RR‚R€RwRRlR1R¯RmRnRRžRŠR‡tDR_ImpeachChangeFamilyJobRR³( RtleaderOffLineTimettoMembert    toMember1t    toMember2RNRt offLineHourR£R¤RRQR¥((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRf²
sX         0     , " "    c    Cs{|jƒ}|dkrdS|jƒ}t|ƒ\}}|jƒ|jƒkrº|dkrbdSt|||ƒ|j|ƒ}|dkr‘dSt||d|jƒ|j    ƒgƒdSt
j dƒ}t |ƒ}||t krédS||tkrtj|dt|dƒgƒdS|j|ƒ}|rZ|j    ƒ}tj|d||gƒntj|dƒt||ƒdS(Nitjiazu_xyj_202580tFamilyLeaderImpeacht jiazu_xyj_0itjiazu_xyj_861048tjiazu_xyj_31379(RmR]RwtGetLeaderImpeachDataRtClearFamilyImpeachR1RnRRŠRštGetEvalChConfigR„tImpeachNoteTimetCanImpeachTimeR_RnR­tSendClientImpeachMag(    RcRRt notePlayerIDtnoteTimeR&t impeachTimeRˆt
playerName((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytLeaderImpeachOnLoginô
s:          c    Cs(|jƒ}|dkrdStjdƒ}t|ƒ|tkrUtj|dƒdS|jƒ}|jƒ}t    |ƒ\}}||krŸtj|dƒdSt
j |j ƒ|t j|g|ƒ|jdddddƒ|j ƒ}t||d||gƒt    |ƒ\}}t|||ƒdS(NRŽtjiazu_xyj_161795itDelFamilyImpeachItemR–R(RmR]RšR”R„R–R_RnRwR’R·RÀRŠR|t Def_ActionType_LeaderImpeachTimeR4RntSendClientAllMemberImpeachMag(    RcRŒRRšRtplayerIdR˜R™R›((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytPlayerExecLeaderImpeach3 s,       cCsbtjƒ}|j|tjƒ}|jƒdkr^|jdƒ}|jƒt|j    ƒƒfSdS(Ni(ii(
RRxRyR|RŸRXR{R|R­tGetTime(RR‚RƒR„((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR’^ s  cCsÛtjtj|ƒsdStjdƒ}x¬tdtjƒjƒƒD]}tjƒj    |ƒ}t
|j ƒƒ\}}|dkr‰qDn|j ƒ}|j |ƒ}|dkrÄt|||ƒdStj|ƒ}tjt|ƒƒ|tkrøqDn|jƒ}    |j |    ƒ}
|
dkr0tjdƒdStjdƒ} |jƒ| ks]|    |krqt|||ƒdS|
jƒ} tj| |tjtjtjg|ƒt|
t j!ƒt"|dd| t j!gƒ|jƒ} t#j$|| |    | ƒt%||ƒ|j&ƒ}|jƒ}t#j'|| |j(ƒ||ƒt"|dd||gƒt)j*dd|| gƒtj+ƒj,|ƒ}|dkr¶|j-ƒt.|tj/ƒr¶|j0ƒq¶n|j1ƒt|||ƒqDqDWdS(NRŽis/OnLeaderImpeachTick: Can not find family leaderR˜R™tjiazu_xyj_272921(2RtSetWorldDictKeyRtTYPE_LeaderImpeachTickRšR”R3RR7RR’RwR1R]R“R€tGetPastSecondsR3tImpeachLastTimeRRFR1R5RRŠR·RÀR|RÁRÂtDef_FamilyMemberChange_ImpeachR¯R‚RmRnR‡tDR_ImpeachLeaveFamilyRžRŠR‡RlR_R‹RZR8R³R´RµR¶R7(RŒRšRNRR˜R™RR&RƒR£RR¢RRQRÊtnotePlayerNameR(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytOnLeaderImpeachTicko s`"           
 
 
cCs´|dkrDtjdƒ}tj|ƒ}|ttj|ƒ}nxitd|jƒƒD]R}|j|ƒ}tj    ƒj
|j ƒƒ}|dkrœqZnt |||ƒqZWdS(NiRŽ(RšR”RR€R¨R§R3R7RRZR8RlR]R(RR˜R™RšRƒRNRBRc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR × s  cCst|jƒƒ\}}|dkr(dStjdƒ}tj|ƒ}|ttj|ƒ}|dkrmdSt|||ƒdS(NiRŽ(    R’RwRšR”RR€R¨R§R(RcRR˜R™RšRƒ((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR—ò s  cCsdS(N((RcR˜R™((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR scCs3|jƒ}tj|tjƒt|ddƒdS(Ni(RwR·R~R|RŸR (RR˜R™R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR“ s cCs&tjƒj|ƒ}tj|ƒdS(N(RRZR\R·R¸(RCRéRŒRc((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR¸4 s cCs2tjƒj|ƒ}|j}tj||ƒdS(N(RRZR\tMapIDR¿tOpenFamilyBossFB(RCR+RŒRctfbMapID((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR®? s    cCsåtjƒj|ƒ}|jƒ}|dkr1dS|jƒ}|dkrMdS|jƒ}|j|ƒ}|dkrxdSt|t    j
ƒsŽdS|j ƒ|j kr§dS|j t jkr½dS|j|j ƒ|jƒ|jƒdS(Ni(RRZR\RoRmR]RlR1R´RRµRtTypeR|tFamilyAcceptJoin_RefuseR{R¶R7(RCR+RŒRcRRRR&((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytChangeFamilyAcceptJoinTypeQ s*      
 
cCsÙ|stjdƒdS|jƒ}|jƒ}|dkrOtjd|ƒdS|j|ƒ}|dkr~tjd|ƒdS|s˜tjd|ƒdStjdt|ƒ|ƒt    }|j
ƒ|rÕt |ƒndS(Ns,MapServer_PyAddFamilyInfoValue Player = Nones-MapServer_PyAddFamilyInfoValue ->Íæ¼ÒûÓмÒ×ås)MapServer_PyAddFamilyInfoValue ->Î޴˳ÉÔ±s,MapServer_PyAddFamilyInfoValue ->ÎÞ¸üÐÂÐÅÏ¢!s,MapServer_PyAddFamilyInfoValue ->infoDict=%s( RRFRlRmR]RvR1RER3R×R7Rò(RctinfoDictRRR&tisMapServerRefresh((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytMapServer_PyAddFamilyInfoValues s*     
 cCs*tjtj|ƒtjtj|ƒdS(s ÉèÖÃÕ½Ã˻½ñÌ쿪Æô״ֵ̬ N(R9RDR|t*Def_Notify_WorldKey_FamilyActivityDayStateRtSendMapServerMsgEx(tupdValue((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRg˜ scCs3tjtjƒ}|td|ƒB}t|ƒdS(s ÉèÖÃÕ½Ã˶ÔÓ¦»î¶¯½ñÈÕ¿ªÆô¹ý iN(R9R:R|R¶tpowRg(t activityTypetfadStatetupdState((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytSetFamilyActivityDayOpenž s
cCs†tjƒj|ƒ}|sdSd}|jƒ}xNtd|jƒƒD]7}|j|ƒ}|jƒ|krG|jƒ}PqGqGW|S(s »ñȡսÃËÃËÖ÷µÈ¼¶ i(    RRRRR3R7RRlR(RRtleaderLVR£RNR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyLeaderLV¥ s  cCs:|tjkr6tjj|ƒtjdtjƒndS(Ns7ÏÉÃËÕ½Á¦±ä¸ü´ý´¦ÀíÁбí: fightPowerChangeFamilyIDList=%s(Rótg_fightPowerChangeFamilyIDListR<RRE(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRó scCsÙtjs dStjdtjƒtjƒ}x’tjD]‡}|j|ƒ}|sXq7nd}x9t|jƒƒD]%}|j|ƒ}|t    |ƒ7}qqWt
||ƒtjd||fƒq7Wgt_t t ƒt S(Ns.¸üÐÂÏÉÃË×ÜÕ½Á¦ fightPowerChangeFamilyIDList=%sis"    familyID=%s,totalFightPower=%s(RóRÀRRERRR8R7RR'RR†R×R°(RJRRR RNR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytUpdFamilyTotalFightPower¹ s"          
cCstjS(N(RóRô(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetSortFamilyIDListÒ scCs4|tjkr ttjƒdStjj|ƒdS(s»ñÈ¡ÏÉÃ˵ÄÅÅÃû£¬ ×¢ÒâÓëÁªÈüÅÅÃûÇø·Ö
    Ã¿¸öÏÉÃËÒ»¶¨ÓÐÅÅÃû£¬µ«ÊDz»Ò»¶¨ÓÐÁªÈüÅÅÃû£¬ÁªÈüÅÅÃûÖ»ÊǾö¶¨ÏÉÃË×îÖÕÅÅÃûµÄÒ»¸ö±È½ÏÒòËØ
    i(RóRôR4RC(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytGetFamilyIDRankÓ sc    Cstjdƒ|rtƒng}tjƒ}x6t|jƒƒD]"}|j|ƒ}|j|ƒqBW|jdt    ƒgt
_ xtt |dƒD]c\}}tjd|t |ƒt|ƒ|jƒ|jƒ|jƒfƒt
j j|jƒƒq‘Wtjdt
j ƒdS(s} ÏÉÃËÅÅÐò£¬ ÅÅÐò¹æÔò: ÁªÈüÆÀ¼¶ > ×ÜÕ½Á¦ > µÈ¼¶ > ´´½¨Ê±¼ä
    ¶¨Ê±5·ÖÖÓÅÅÐòÒ»´Î
    ÏÉÃËÁªÈü·Ö×éǰ¼°Ã¿ÖܽáÊøºóÇ¿ÖÆÅÅÒ»´Î
    s7ÏÉÃËÅÅÐò, ÅÅÐò¹æÔò: ÁªÈüÆÀ¼¶ > ×ÜÕ½Á¦ > µÈ¼¶ > ´´½¨Ê±¼ätcmpisA    i=%s,warRank=%s,fightPower=%s,LV=%s,CreateTime=%s,familyID=%ss    sortFamilyIDList=%sN(RRERÁRR8R7RR<tsortt CmpFamilySortRóRôR„RR
Rt GetCreateTimeRw(tisUpdTotalFightPowerR|RJRNR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyR†Û s  
         8cCsät|ƒ}t|ƒ}|rF|rFt||ƒ}|dkr_|Sn|sR|r_t||ƒStt|ƒt|ƒƒ}|dkrŠ|St|jƒ|jƒƒ}|dkrµ|St|jƒ|jƒƒ}|dkrà|SdS(Ni(RRÄR
RRÇ(tfamily1tfamily2tfamilyWarRankCmpValue1tfamilyWarRankCmpValue2tret((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyRÆó s$         cCsètjƒ}|jtjtjƒ}|tjkrEtj    dƒdStj
ƒ}t ƒ}x‡t |dƒD]v\}}|j |ƒ}|s‘qjnt|ƒ}|s§Pn||krjt||ƒtjd|jƒ|fƒqjqjWdS(s¸üÐÂÏÉÃËÁªÈüÅÅÃû
    ×¢Ò⣺¸ÃÂß¼­ÔÚÏÉÃËÁªÈüÖÜÆÚÖв»¿ÉÖ´ÐУ¬½öÔÚÏÂÖÜ·Ö×鶨¼¶×´Ì¬Ï¿ɸüÐÂ
    ÏÉÃËÁªÈüÐÂÒ»ÖÜÆÚ¿ªÊ¼Ê±¡¢ÏÉÃ˽âɢʱ »á´¥·¢¸ÃÂß¼­
    s'·ÇÏÂÖÜ·Ö×鶨¼¶½×¶Î²»¿É¸üÐÂÏÉÃËÁªÈüÅÅÃû!Nis)¸üÐÂÏÉÃËÁªÈüÏÉÃËÅÅÃû: familyID=%s,rank=%s(RRpR½R|tDef_Notify_WorldKey_FBFuncStateRtDef_FBMapID_FamilyWarRºt FamilyWarState_NextWeekGroupRankRERRÂR„RRRRvRw(t    gameWorldtstateR tsortFamilyIDListRRRtcurRank((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytUpdFamilyWarRank s$          $cCs¹tjƒj|ƒ}|jƒr%dStj}|jƒ}|jƒ}|jƒ||j    ƒ|j
ƒg}tj ƒ}tj ƒ}    t |    jƒƒ}
tj|
ƒd} x{|
D]s} |    j| ƒ} | sÏq®n| jƒ}| jƒ}|tjkrüq®n|tjkr—t| tjƒ}| jƒ|kr®|tjkr®t| |tjƒt| |d|gƒtj|d| jƒgƒ| jƒdSq®n| s®|j ||ƒ}|j!ƒ}t"}xHt d|ƒD]7}|j#|ƒ}|jƒ}||krÑt$}PqÑqÑW|rq®n|} q®q®W| r¥|    j%| ƒ}t&j'|| |||t"ƒ}|r¥|r¥t(| gƒ}|j)ddd|t*|ƒƒt&j+|ƒq¥ntj|dƒdS(NiRfRgt    FamilyAddtjiazu_pan_500807(,RRZR\RoR|RzRŠRRwRRÂRxRR3R7R?R@RRR±R}RJRRKRLRR‚RmRnR_RnR7RyRXR×R{R°RR·RÀR3R4R4tNotifyFamilyRequestInfo(RCR+RŒRct
actionTypetrequestPlayerNametplayerLVtactionDataListR‚RJt    indexListt joinFamilyIDRNRRtcurAcceptJoinTypeRORƒtfamilyActionCntthasApplyR„tnamet
joinfamilyRAR†((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pytQuicklyJoinFamily2 sf       $      !
     (¨RR‚RRjR_RàRšR9R|R·R‡R¿R1R½RºRURaR~RóRSRÄRÆRÕt GameWorldBossR:tcopyR?R®R3R•R–R¨RRR
RRRRRRR!R$R'R*R,R/RTR]RfR”RrRR¹RÜRÙRsRãRäRëRçRòtDef_ViewAllFamilyPageCountt    fsrHornorRÿRR÷R    R&R$R.RDRQRTRSRcRbRtR°RnRR‘R“R’R×R•R¨R§R±R³R²RÎRÍRÅRØRÚRÙRìRßRõR÷RøRöRüRÆR R RRR¨RR RðRR&R%RÓRžR¯R2R´R>R?R@RBRARERHR¬RQRZR[R\R]R^R_RlRqRòRJR{RR„RcRfRœR¢R’R¬R R—RR“R¸R®R²RµRgR½R¿RÃRÁRÂRÃR†RÆRÕRä(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFamily.pyt<module>s>                                                                                            ) (    t        :                !    
                                         )    6    F            A            =    U                     p            #                ^            ;                            <                    "    3                  O                
                     ,                          '                            H    &                                    B            !                    B    ?    +        h                             "    %