hxp
2025-05-08 89f7f7d58dadee954ce631260046ed79dceb0acf
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
Ç*hc
@sÂddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZdZedƒZ\
ZZZZZZZZZZeddEƒ\Z Z!Z"Z#ide
j$6de
j%6de
j&6Z'd    „Z(d
„Z)d „Z*d „Z+d „Z,d„Z-d„Z.d„Z/d„Z0e
j$e1d„Z2e1dd„Z3d„Z4d„Z5d„Z6d„Z7dd„Z9d„Z:eddd„Z;ddd„Z<gdd„Z=d„Z>d„Z?d „Z@d!„ZAd"„ZBd#„ZCe1d$„ZDd%„ZEd&„ZFd'„ZGd(„ZHd)„ZId*„ZJeKd+„ZLd,„ZMd-„ZNd.„ZOd/„ZPd0„ZQd1„ZRd2„ZSd3„ZTeKd4eKd5„ZUd4d4d4d4d6„ZVd4d4d4d7„ZWd8„ZXd9„ZYdd:„ZZd4Z[dZ\d;Z]d<„Z^d=„Z_eKd>„Z`d?„Zad@„ZbdA„ZcdB„ZddC„ZeddD„ZfdS(FiÿÿÿÿNi!i
iit    MemberMaxtEliteMaxtDeputyLeaderMaxcCs`tj|tjƒsdSt|ƒt|tƒtj|t    j
dƒtj|t    j dƒdS(Ni( t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_FamilytSync_FamilyDayRewardStatet__FamilyAffair_RefreshtTruet PlayerControltNomalDictSetPropertytChConfigt"Def_Player_Dict_FamilyZhenbaogeCutt"Def_Player_Dict_FamilyZhenbaogeBuy(t    curPlayer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt PlayerOnDayGs
 cCsetj|tjƒsdSt||ƒt|tƒt|ƒtj    |ƒt
|ƒt j |ƒdS(N( RRRRtPlayerLoginRefreshFamilytSync_RequestAddFamilyInfotFalseRtPlayerFamilyTechtSync_PlayerFamilyTechLVt__FamilyAffair_CheckResettPlayerFamilyZhenfat OnPlayerLogin(Rttick((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRSs  
 
 cCs¬|jƒ}|jƒ}|s"dStjƒ}|j|ƒ}|sGdS|j|ƒ}|s`dS|jttjƒƒƒt    |d|j
ƒgƒt |t d|gƒdS(NtXW_JZ_LeaguerLeavelinet excludeIDList( t GetPlayerIDt GetFamilyIDt    DBDataMgrt GetFamilyMgrt
FindFamilyt
FindMembert
SetOffTimetintttimetNotifyAllFamilyMemberMsgt GetPlayerNametBroadcast_FamilyChangetFamilyChangeType_MemLogout(RtplayerIDtfamilyIDt    familyMgrtfamilyt    curMember((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnPlayerLogout_s   cCsHtj|tjdƒx+tjD] }tj|tj|dƒq WdS(Ni(R
R R t#Def_PDict_FamilyActivityAwardRecordRtFamilyActiveIDListt!Def_PDict_FamilyActivityFinishCnt(Rtactionid((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnWeekExqscCs#|jƒ}tjƒ}|j|ƒ}t||ƒ|jƒ}|sJdS|j|ƒ}|scdS|j|ƒ}|s|dS|jdƒ|j    |ƒt
|ƒt |t ƒrÈt j|t|ƒƒnt|d|jƒg|gƒt|td|gƒ|jƒtjkrt|ƒndS(NitXW_JZ_LeaguerOnlineR(RRRtGetPlayerFamilyIDtMapServer_FamilyRefreshRR R!R"t RefreshMembertSync_FamilyInfotGetFamilyMemberHasPowtFamilyPowerID_Callt NetPackCommont SendFakePacktGetPack_FamilyReqJoinInfoR%tGetNameR'tFamilyChangeType_MemLogintGetFmLVtIPY_PlayerDefinet    fmlLeadertOnFamilyLeaderLogin(RRR)R+trefreshFamilyIDR*R,R-((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRxs.      
 cCsdS(N((R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRC›scCs!tjƒj|ƒ}|j}|j}tj|tjƒs@dS|j    ƒ}|j
ƒ}t j ƒ}|r¨|j |ƒ}    |    r¨|    j|ƒr¥tj|dƒdSq¨nt||ƒ}
|
sÁdStjddƒ} tjddƒ} | r| rtj|| | dƒsdSntjddƒ} tj|ƒ}|j| |
|ƒ}    |    dkrftjd|ƒdS|    jdƒtjƒ}| s’||kr¤tj|ƒ}ntjd| ||fƒ|    j |ƒt!|    ||t"j#ƒ|j$ƒtj|d    ƒtj%d
d |j&ƒ|
| gƒdS( NtGeRen_chenxin_85890t CreateFamilyiii'i Ns ´´½¨¼Ò×åʧ°Üs-´´½¨ÏÉÃË: familyID=%s,playerID=%s,emblemID=%stXW_JZ_EstablishSuditjiazu_liubo_671654('t    GameWorldtGetPlayerManagertGetPlayerByIndextNametEmblemIDRRRRRRRRR R!R
t
NotifyCodetCheckInputFamilyNamet IpyGameDataPYt
GetFuncCfgtPayMoneytrandomtrandinttGetPlayerServerIDt    AddFamilytNonetErrLogtSetLVtPlayerFamilyEmblemtGetDefaultFamilyEmblemIDListtchoicetLogt SetEmblemIDtDoPlayerJionFamilyRARBtSortt WorldNotifyR>(tindext
clientPackRRt    inputNametemblemIDR)tplayerFamilyIDR+t    curFamilytfullFamilyNamet    needMoneyt    moneyTypet newFamilyIDtserverIDt emblemIDList((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnCreateFamily¨sN           
 
"cCsßtjƒj|ƒ}t||ƒ}|sDtjd|jƒƒdStj|ƒrgtj    |dƒdSt
|ƒdks‹t
|ƒt kr¬tj    |dt dt gƒdSt j ƒ}|j|ƒrÛtj    |dƒdS|S(s_¼ì²éÍæ¼ÒÊäÈëµÄÏÉÃËÃûÊÇ·ñºÏ·¨£¬½¨ÃË¡¢¸ÄÃûͨÓÃ
    @return: None-²»ºÏ·¨£»·Ç¿Õ-ºÏ·¨µÄÏÉÃËÈ«Ãû
    s ¼Ò×åÈ«ÃûÒì³£!NtXW_JZ_Family_NameNoLegalityitGeRen_liubo_980181itXW_JZ_EstablishErr_Name(RIt GetGameWorldt GetCharTrimtGetFamilyFullNameRXRt    DirtyListtIsWordForbiddenR
RNtlentDef_CreatFamily_MaxStrRRtFindFamilyByName(RRdt
familyNameRhR+((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyROÜs $ c CsItj|ƒ}tjddƒ}||ks9|dkrTtjd||fƒdStjddiƒ}tj||ƒ}|s–tjddƒ}n|s dS|d}g|dD]}t|ƒ^qµ}|t|ƒ}    tjddƒ}
t    |    ƒ|
krEtjd    ||    t    |    ƒ|
fƒt
j |d
|
d|
gƒdS|    S( NtFamilyNameFormatiisFÏÉÃËÈ«Ãû serverID=%s error! maxServerID=%s, check FamilyNameFormat.txttiiisFÏÉÃËÈ«Ãû familyName=%s,È«Ãû=%s len=%s > %s, check FamilyNameFormat.txtRp( RIRURPRQRXtGetFuncEvalCfgtGetDictValueByRangeKeytevalttupleRwR
RN( RRzRlt maxServerIDtspecServerDicttnameFormatInfot
nameFormattpNamet    paramListtfullNametmaxLen((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRtús(
##c
Cs©t|tƒr3|}tjƒ}|j|ƒ}n|}|sCdS|jƒ}|j|ƒ}|j|ƒ|r|j|ƒn |j    |ƒ|j
|j ƒ|j ƒƒ|t j krÊ|j|ƒn|rêt||ƒt|ƒn|t j krb|rt|td|gƒnt|d|jƒgd|gƒ|rbtj|d|jƒgƒqbntjƒjƒ}    t|jƒ|tjtjtj|dg|    ƒdS(sM¼ÓÈë¼Ò×壬֧³ÖÀëÏßÍæ¼Ò¼ÓÈë
    @param jionPlayer: Èç¹ûÊÇÀëÏßÍæ¼ÒÔòΪNone
    NRtXW_JZ_EnterFamilytXW_JZ_EnterFamilyInfoi( t
isinstanceR#RRR tGetIDt    AddMembertSetFmLVR7tRefreshMemberByIDtSetFightPowerTotaltGetFightPowerTotalRARBt SetLeaderIDR6R8R'tFamilyChangeType_MemJoinR%R&R
RNR>RIRrtGetTicktAddFamilyActionNoteRtDef_ActionType_FamilyEventt"Def_FamilyActionEvent_MemberChangetDef_FamilyMemberChange_Join(
R,R)t
jionPlayertjionFamilySetLvtbroadcastFamilyChangeR*R+RgtmemberR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR_s:      ""R|c Cs²|tjkr tjdƒtStjƒj||ƒ}|jƒ}|sNtS|j    |ƒ|j
|ƒxCt |dƒD]2\}    }
t |d|    ƒ} | rx| |
ƒqxqxWt S(sͳһÌí¼Ó¼Ò×åActionÊý¾Ý
    s¼Ç¼¼Ò×åÐÐΪÀàÐÍ:%s ´íÎóis
SetValue%s(RtDef_ActionTypeListRIRXRRtGetFamilyActionMgrtGetFamilyActiont    AddActiontSetNamet SetUserDatat    enumeratetgetattrR    ( tcurNameR*t
actionTypetactionDataListRt isClearNonetuseDatat familyActiont
actionDatatnumtvaluetsetFunc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR•Gs    cCsEtjƒjƒ}|jƒ}d}d}d}d}|r±tjƒ}|j|ƒ}    |    r¨|    jƒ}|    jƒ}|    j    ƒ}|    j
|ƒ}
|
r®|
j ƒ}q®q±d}n|j ƒ} |j ƒ} tj|ƒ} | |krô|j|ƒn|jƒ|kr |j|ƒ|jƒntj|ƒ|krHtj||ƒn| |krgtj||ƒn| |krÃt}| r”|dkr”t}n|j|ƒtj|tj|ƒ|rÃqÃn| dkrñ|j ƒdkrñt||ƒnF| dkr7|j ƒdkr7|jƒtjkr'nt ||ƒn|j!ƒdS(sf Ï൱ÓÚGameServerµ÷ÓàcurPlayer.MapServer_FamilyRefresh()
    @param familyID: Íæ¼Ò¸üеÄfamilyID
    iR|N("RIRrR”RRRR tGetLVR>t GetEmblemIDR!R@Rt GetFamilyLVR
tGetFamilyMemberLVt SetFamilyIDt GetFamilyNamet SetFamilyNametNotify_FamilyNameRefreshtGetFamilyEmblemIDtSetFamilyEmblemIDtSetFamilyMemberLVRR    t SetFamilyLVR R tDef_Player_Dict_FamilyLVt__OnLeaveFamilyt IPY_GameWorldRBt__OnEnterFamilytView_FamilyInfoRefresh(RRDRR)t refreshFmLVtrefreshFamilyLVtrefreshEmblemIDtrefreshFamilyNameR+RgRœt lastFamilyIDt lastFamilyLVtlastFmLVtisLVUP((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR6]sZ                     
cCsDtjƒ}|j|jƒƒt|ƒt|ƒtj|ƒdS(N(RRtDelPlayerReqJoinFamilyIDAllRRRRR(RRR+((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR¾£s  
 
 cCsq|jdƒ|jdƒ|jdƒ|jdƒ|jdƒtj|ttjƒƒƒt    j
||ƒdS(Ni( t    SetPerExptSetFamilyHornortSetFamilyActiveValuetSetLastWeekFamilyActiveValueRºR
tSetLeaveFamilyTimeExR#R$tFBLogict OnLeaveFamily(RR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR¼±s     cCsKtjddiƒ}t|ƒ|kr+tS|t|ƒ}|jƒ|kS(Nt FamilyPoweri(RPR}tstrRR@(RœtpowerIDt    powerDictt needMemberLV((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR9Às
cCs?|jƒ}|sdS|s+t|ƒ}ntj||ƒdS(N(RtGetPack_FamilyInfoR;R<(RtinfoPackR*((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR8Ès cCsKtjƒ}|j|ƒ}|s%dStjƒ}||_|jƒ|_|jƒ|_    |j
ƒ|_ |j ƒ|_ |jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_|jƒ|_t|jƒ|_|jƒ|_g|_x8t|j ƒƒD]$}|j!|ƒ}tj"ƒ}|j#ƒ|_$|j%ƒ|_&|j'ƒ|_(t|j(ƒ|_)|jƒ|_*|j+ƒ|_,|j-ƒ|_.|j/ƒ|_0|j1ƒ|_2|jƒ|_|jƒ|_|j3ƒ|_4|jƒ|_|j5ƒ|_6|j7ƒ|_8|j9ƒ|_:|jj;|ƒq Wt|jƒ|_<|S(N(=RRR tChPyNetSendPackttagMCRoleFamilyInfotFamilyIDR>t
FamilyNameR¯tFamilyLVtGetExpt FamilyLVExpt GetJoinReviewt
JoinReviewt GetJoinLVMint    JoinLVMint GetServerIDtServerIDR°RMt GetFightPowert
FightPowertGetFightPowerExt FightPowerExt GetBroadcastt    BroadcastRwt BroadcastLent GetLeaderIDtLeaderIDt
MemberListtxrangetGetCounttGetAtttagMCRoleFamilyMemberRtPlayerIDt GetJoinTimetJoinTimeR&RLtNameLentLVtGetJobtJobt
GetRealmLVtRealmLVtGetFacetFacet
GetFacePictFacePicR@tFmLVtGetContribTotalt ContribTotaltGetContribWeekt ContribWeekt
GetOffTimetOffTimetappendt MemberCount(R*R+RgRcRbRœtmemInfo((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÕÒsR           cCs,tjƒ}||_t||||ƒdS(N(R×ttagMCFamilyChangetTypetBroadcast_FamilyPack(R*t
changeTypeRÒRRc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR'þs     c CsÜ|s
dStjƒ}|j|ƒ}|s/dStjƒ}xšt|jƒƒD]†}|j|ƒ}|jƒ}    |r‡|    |kr‡qNn|j    |    ƒ}
|
s¢qNn|dkrÄt ||ƒ rÄqNnt j |
|ƒqNWdS(N(RRR RIRJRîRïRðRtFindPlayerByIDRWR9R;R<( R*RcRÒRR+Rgt playerManagerRbRœR)R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR s&   c Cs³tjƒ}|j|ƒ}|s%dStjƒ}x{t|jƒƒD]g}|j|ƒ}|jƒ}    |r}|    |kr}qDn|j    |    ƒ}
|
s˜qDnt
j |
||ƒqDWdS(N( RRR RIRJRîRïRðRR R
RN( R*tcodeR†RR+RgRtiRœR)R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR%!s   cCsŒtjƒj|ƒ}|j}tjƒj|ƒ}|sNtjd|ƒdS|jƒ}|dkr{tjd|ƒdSt||ƒdS(Ns¶Ô·½²»ÔÚÏß! tagPlayerID=%sis¶Ô·½Ã»ÓмÒ×å! tagPlayerID=%s(RIRJRKt TagPlayerIDR tDebugLogRtRequestJoinTagFamily(Rbt
clientDataRRt tagPlayerIDt    tagPlayert tagFamilyID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnRequestJoinFamilyByPlayer;s       cCsvtjƒj|ƒ}|j}|j}|dkrV|sFt|ƒqrt||ƒn|dkrrt||ƒndS(Nii(RIRJRKt TagFamilyIDR
tAutoJoinFamilyRtCancelJoinTagFamily(RbRRRRt requestType((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnRequesJoinFamilyQs           c
Csf|jƒrdS|jƒ}|jƒ}tjd||ƒtjƒ}t|jƒƒ}t    j
|ƒxë|D]ã}|j |ƒ}|sqnn|j ƒ}|j ƒ}|rÙ||krÙtjd||f|ƒqnn|jƒrÿtjd||ƒqnnt|jƒdƒ}    |jƒ|    kr@tjd||ƒqnnt|||ƒdSWtjdƒdS(Ns"Íæ¼ÒÒ»¼ü×Ô¶¯¼ÓÈë¼Ò×壡 playerLV=%ss*    µÈ¼¶²»×ãµÄ²»´¦Àí! familyID=%s,lvMin=%ss!    ÐèÒªÉóºËµÄ²»´¦Àí! familyID=%sRs!    ³ÉÔ±ÒÑÂúµÄ²»´¦Àí! familyID=%ssûÓпÉ×Ô¶¯½øÈëµÄÏÉÃË!(RRR¯RIRRRtrangeRïRStshuffleRðRŒRàRÞtGetFamilySettingR_(
RR)tplayerLVR+t    indexListRbR,R*tlvMinR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRds8          cCsS|s
dStjd|ƒ}|s&dSd|}t||ƒsCdSt||ƒƒS(NitFamilysGet%s(RPtGetIpyGameDatathasattrR¤(tfamilyLVt    fieldNametipyDatatattrName((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR ‡s
c Cs7|jƒ}|jƒr6tjd|jƒ|ƒdStjƒ}|j|ƒ}||krutjd||ƒdStjddƒ}t    |ƒ|kr½tjdt    |ƒ|f|ƒdS|j
|ƒ}|sÖdS|j ƒ}|j ƒ|krtjd|j ƒ|f|ƒdS|j ƒrØ|jƒ}||kr—tjddƒ}    t    |ƒ|    kr—tjdt    |ƒ|f|ƒtj|d    ƒdSn|j|ƒt|t|ƒtƒtj|d
ƒt|ƒdSt|j ƒd ƒ}
|jƒ|
kr#tjd |j ƒ|
f|ƒdSt|||ƒdS( Ns%ÒѾ­ÓÐÏÉÃ˲»ÄÜÔÙÉêÇë¼ÓÈë! familyID=%ss%ÒѾ­ÔÚÉêÇë¼ÓÈëÏÉÃËÁбíÖÐ! familyID=%st FamilyReqJoinis"ÒѾ­´ïµ½×î´óÉêÇë¼ÓÈëÏÉÃËÊý! %s, %ss,µÈ¼¶Î´´ïµ½¸ÃÏÉÃ˼ÓÈë×îµÍµÈ¼¶ÏÞÖÆ! lv=%s < %sisÄ¿±êÏÉÃËÉêÇë¼ÓÈëÊýÒÑÂú! %s, %stjiazu_pan_141056tjiazu_pan_500807Rs*Ä¿±êÏÉÃ˳ÉÔ±ÒÑÂú! familyLV=%s,memberMax=%s(RRRIRRRtGetPlayerReqJoinFamilyIDListRPRQRwR RàR¯RÞtGetReqJoinPlayerInfoR
RNtAddReqJoinPlayerIDR R=R:RR RïR_( RR*R)R+treqFamilyIDListtmaxReqFamilyCntt    tagFamilyR#treqPlayerIDDicttmaxReqPlayerCntt    memberMax((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR“sN            
 cCsqtjƒ}|jƒ}|j|ƒ}|r=|j|ƒn|j||ƒt|t|ƒtƒt    |ƒdS(N(
RRRR tDelReqJoinPlayerIDtDelPlayerReqJoinFamilyIDR R=R:R(RR*R+R)R3((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÉs  
cCs~|jƒ}tjƒ}|j|ƒ}| r9| r9dStjƒ}|jƒ||_t|jƒ|_    t
j ||ƒdS(N( RRRR.R×t tagMCNotifyRequestJoinFamilyInfotCleartRequestJoinFamilyIDListRwt RequestCountR;R<(RtisForceR)R+R1Rc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÕs   
    c Cs¤tjƒ}|j|ƒ}|s%dS|jƒ}tjƒ}tjƒ}g|_x9|j    ƒD]+\}}|j
|ƒ}tj ƒ}    ||    _ ||    _ |rªt|    _ntjƒj|ƒ}
|
ra|
jƒ|    _t|    jƒ|    _|
jƒ|    _|
jƒ|    _|
jƒ|    _|
jƒ|    _|
jƒ|    _|
j ƒ|    _!|
j"ƒ|    _#|
j$ƒ|    _%n|jj&|    ƒt|jƒdkr_Pq_q_Wt|jƒ|_'|S(Nid((RRR R/RIRJR×ttagMCFamilyReqJoinInfot ReqJoinListtitemsR ttagMCFamilyReqJoinPlayerRòtReqTimeR    tIsOnLinetGetPlayerViewCacheMgrt FindViewCacheR&RLRwRõR¯RöR÷RøRùRúRûRüRýRþRäRåRæRçRâRãRtReqCnt( R*R+RgR4RRcR)treqTimeRtreqInfot    viewCache((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR=äs@                  cCs>tjƒj|ƒ}|j}|j}|jƒ}|jƒ}|dkrOdStjƒ}|j    |ƒ}    |    stdS|    j
|ƒ}
|
sdSt |
t ƒs°t j|dƒdStjd|||f|ƒ|    jƒ} | jƒ} |r|| kr tjd|ƒdS|g} n| s/tjdƒdStjƒ} |sºx\| D]T}|    j|ƒ| j|ƒ}|svqHnt|ƒt j|d|    jƒgƒqHWt|t|ƒt ƒdStjddƒ}t|    jƒd    ƒ}g}x| D]}|    jƒ|krt j|d
ƒPn| j|ƒ}|sb|sbtjd ||ƒt j|d ƒqîqbn|    j
|ƒr›tjd ||ƒt j|dƒqîn|j|ƒ}|ràtjd||f|ƒt j|dƒqînt|    ||dtƒ|j |ƒqîW|sdSt!|t"d|ƒt|t|ƒt ƒdS(NitXW_JZ_InviteErr_Popedoms0ÉóºËÈëÃËÉêÇë: tagPlayerID=%s,familyID=%s,isOK=%ss ²»´æÔÚ¸ÃÉêÇëÈËÔ±! tagPlayerID=%ss ûÓÐÉêÇëÈËÔ±!tjiazu_pan_592934R+iRtjiazu_lhs_202580s$ÀëÏßÍæ¼ÒÎÞ·¨¼ÓÈëÏÉÃË! tagPlayerID=%stjiazu_hwj35_367906sÒѾ­ÊDZ¾Ã˳ÉÔ±! tagPlayerID=%stXW_JZ_InviteErr_Repeats/ÒѾ­¼ÓÈëÆäËûÏÉÃË! tagPlayerID=%s,tagFamilyID=%sR›R(#RIRJRKRtIsOKRRRRR R!R9R:R
RNRR/tkeysR7R RR>R R=RPRQR R¯RïR5R_RRR'R“(RbRRRRtisOKR)R*R+R,R-R4ttagPlayerIDListRRtofflinePlayerCanJoinRtjoinOKPlayerIDListR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnJoinFamilyReplysˆ                    
      c Cstjƒj|ƒ}|j}|j}|jƒ}|jƒ}|dkrOdStjƒ}|j    |ƒ}    |    stdS|    j
|ƒ}
|
sdSt |
t ƒs°tj d|ƒdStj d|||f|ƒ|    j|ƒ|    j|ƒt|ƒt|tt d|gƒdS(Nis ûÓÐÕÐÈËȨÏÞs4ÐÞ¸ÄÕÐÈËÉèÖÃ: familyID=%s,joinReview=%s,joinLVMin=%sR(RIRJRKRßRáRRRRR R!R9R:Rt SetJoinReviewt SetJoinLVMinR8R'tFamilyChangeType_JoinSet( RbRRRt
joinReviewt    joinLVMinR)R*R+R,R-((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnChangeFamilyJoinks.              
c
Cs
tjƒj|ƒ}|j}|jƒ}|jƒ}|dkrFdStjƒ}|j|ƒ}|skdS|j    |ƒ}    |    s„dSt
|    t ƒs§tj d|ƒdS|j |ƒtj dtj|jƒƒtj|ƒf|ƒt|ƒt|td|gƒdS(NisûÓÐÐ޸Ĺ«¸æÈ¨ÏÞs¸ü¸ÄÏÉÃ˹«¸æ: Family=%s,¹«¸æ=%sR(RIRJRKtMsgRRRRR R!R9tFamilyPowerID_BroadcastRt SetBroadcastt    CodeToGbkR>R8R'tFamilyChangeType_Broadcast(
RbRRRt    broadcastR)R*R+R,R-((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnChangeFamilyBroadcastŒs*         2
cCs2tjƒj|ƒ}|j}tj||ƒdS(N(RIRJRKRMRZtOnChangeFamilyEmblem(RbRRRtchangeEmblemID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRc«s    cCs/tjƒj|ƒ}t||j|jƒdS(N(RIRJRKtOnChangeFamilyMemberLVRòRÿ(RbRRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnChangeFamilyMemLV¹scCs´|s
dS|jƒ}|jƒ}|dkr2dStjƒ}|j|ƒ}|sWdS|j|ƒ}|spdS|dks‹|tjkr tj    d|ƒdS|sÜt
|t ƒs¹dS||krÜtj    d|ƒdSn|j|ƒ}    |    dkrtj    d||ƒdS|s|j ƒtjkr||j ƒkrTtj    d||ƒdS|    j ƒ|j ƒkrtj    d|    j ƒ|ƒdSqn|tjkrµt}
t||    ƒnÂd} xKt|jƒƒD]7} |j| ƒ} | j ƒ|krûqÎn| d7} qÎWt|jƒtj|d    ƒƒ}| |krdtj|d
ƒtj    d || |fƒdSt}
t|    |ƒ|r|jd    ƒnt|ƒt||
d ||gƒtS( sαä¸ü³ÉԱְλ
    @param curPlayer: ²Ù×÷µÄÍæ¼Ò
    @param tagID: Ä¿±ê³ÉÔ±ID
    @param changeFmlv: ÐÞ¸ÄΪxxְλ
    @param isGMOP: ÊÇ·ñÊÇGMºǫ́·¢ÆðµÄ£¬Èç¹ûÊÇGM·¢ÆðµÄ£¬Ò»°ãcurPlayer´«ÈëµÄΪĿ±ê³ÉÔ±IDʵÀý
    Nis²»´æÔÚ¸ÃְλµÈ¼¶! changeFmlv=%ss²»ÄÜÈÎÃâ×Ô¼ºµÄ¼Ò×åְλs*¸ü¸Ä¼Ò×å³ÉԱְλʱĿ±ê³ÉÔ±²»´æÔÚ! tagID=%ss+Ð޸ĵÄְλ²»ÄܱÈ×Ô¼º¸ß»òƽ¼¶! changeFmlv=%ss0Ð޸ĵÄÄ¿±ê³ÉԱְλ²»ÄܱÈ×Ô¼º¸ß»òƽ¼¶! tagFmlv=%siR|tjiazu_chenxin_31379s?Ŀǰ¸ÃְλµÄÈËÊýÒѾ­´ïµ½ÉÏÏÞ! changeFmlv=%s,fmLVMemCnt=%s >= %sR(RRRRR R!RARBRIRR9tFamilyPowerID_ChangeFmlvRWR@tFamilyChangeType_LeaderChangetChangeFamilyLeaderRRïRðR R¯tDef_FmlSetAttrNametgetR
RNtFamilyChangeType_MemFmlvChangetChangeFamilyMemberLvR^R8R'R    (RttagIDt
changeFmlvtisGMOPR)R*R+R,R-t    tagMemberR t
fmLVMemCntRbt familyMembertmaxCnt((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRe¾sn      
!  
cCs—|jƒ}|jƒ}|jƒ}||kr4dS|j|ƒ}|r\t|tjƒn|j|ƒt|tjƒt    j
d|||fƒdS(Ns9¼Ò×åÉèÖÃÐÂ×峤! familyID=%s,newLeaderID=%s,befLeaderID=%s( RŒRëRR!RnRAt    fmlMemberR’RBRIR](R,t newLeaderMemR*t befLeaderIDt newLeaderIDt befLeaderMem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRjs     cCsñ|jƒ}|jƒ}|jƒ}|jƒ}|j|ƒtjƒj|ƒ}|ršt||ƒt    |ƒt
|t ƒršt j |t|ƒƒqšntjƒjƒ}t||tjtjtj||g|ƒt|d||gƒdS(NtXW_JZ_AppointFamily(RRR&R@RŽRIRJR R6R8R9R:R;R<R=RrR”R•RR–R—tDef_FamilyMemberChange_FMLVR%(RrtchangeFamilyLVR*RotmemNamet befFamilyLVRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRns       
cCs#tjƒj|ƒ}t|ƒdS(N(RIRJRKR8(RbRRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnGetFamilyInfo9s
c
Csbtjƒj|ƒ}|jƒ}|jƒ}|dkr=dStjƒ}|j|ƒ}|sbdS|j|ƒ}|s{dS|j    ƒ}    |j
ƒdkr¼|    t j kr¼tj d|ƒdStj d||ƒ|j|ƒt|jƒ|tjtjtjg|ƒt|d|jƒgƒt|dƒ|j
ƒdkrQ|j|ƒdSt|tƒdS(Niis%×峤ÔÚ³ÉÔ±ÈËÊý´óÓÚ1ʱ²»ÄÜÖ±½ÓÍ˳ö¼Ò×åsÀ뿪¼Ò×å! familyID=%stXW_JZ_LeaveFamily(RIRJRKRRRRR R!R@RïRARBRt DeleteMemberR•R>RR–R—tDef_FamilyMemberChange_LeaveR%R6t    DelFamilyR'tFamilyChangeType_MemLeave(
RbRRRR)R*R+R,R-R'((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÏDs6     !        cCs«tjƒj|ƒ}|j}|jƒ}||kr:dS|jƒ}|dkrVdStjƒ}|j|ƒ}|s{dS|j    |ƒ}    |    s”dSt
|    t ƒs´tj dƒdS|j    |ƒ}
|
sÍdS|    j ƒ} |
j ƒ} | | krtj d|| | f|ƒdS|
jƒ} |
jƒ}|j|ƒt| |tjtjtjg|ƒt|d| gƒtjƒj|ƒ}|ršt|dƒnt|tƒdS(Nis ûÓÐÌßÈËȨÏÞ!sCÖ»ÄÜÌß±È×Ô¼ºÖ°Î»µÍµÄ³ÉÔ±! tagMemberID=%s,tagFmlv(%s) >= curFmlv(%s)R(RIRJRKtMemberIDRRRRR R!R9tFamilyPowerID_KickRR@R&R‚R•RR–R—tDef_FamilyMemberChange_KickOutR%R R6R'R…(RbRRRt tagMemberIDR)R*R+R,R-RrtcurFmlvttagFmlvt tagPlayerNameRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnDeleteFamilyMemberxsJ                 cCsìtjƒj|ƒ}|j}|j}|jƒ}|jƒ}|dkrOdStjƒ}|j    |ƒ}    |    stdS|    j
|ƒ}
|
sdS|
j ƒt j kr¶tjd|ƒdSt||ƒ} | sÏdS|jƒjtjƒ} | j|ƒ} tj| ƒ s| jƒtjkr3tjd||ƒdStj|| dtdƒ|    j| ƒt|ƒ}tjƒ}xtt|    jƒƒD]`}|    j|ƒ}|jƒ}|j |ƒ}|sÀq„nt!||ƒ|j"| ƒ|j#ƒq„WdS(Nis·ÇÃËÖ÷²»¿É¸ÄÃû!sûÓÐÏÉÃ˸ÄÃûµÀ¾ß! itemIndex=%sitUpdateFamilyName($RIRJRKtNewNamet    ItemIndexRRRRR R!R@RARBRROtGetItemManagertGetPackR½trptItemRðt
ItemCommontCheckItemCanUsetGetTypeR tDef_ItemType_ChangeFamilyNametDelItemR    R¡RÕRîRïR R8RµR¶(RbRRRtnewNamet    itemIndexR)R*R+R,R-RztitemPacktcurItemRÖRRœtmemIDtplayer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRޏsN            %      cCs¸tjƒj|ƒ}|j}|j}t|jdƒ}tjƒ}|j    ƒ}d}    |s™||}
|
|d} |dkr»tj
||ƒ}    q»n"d}d}d}    d}
|d} t j ƒ} || _t | jƒ| _|| _|| _|    | _g| _x›t|
| dƒD]†}||kr0Pn|j|ƒ} | sKqn|ri|| jƒkriqnt jƒ}| jƒ|_| jƒ|_t |jƒ|_| jƒ|_| j|jƒ}|rØ|jƒnd|_t |jƒ|_| jƒ|_ | j!ƒ|_"| j#ƒ|_$| j%ƒ|_&| j'ƒ|_(| j)ƒ|_*| j+ƒ|_,| j    ƒ|_-| jj.|ƒt | jƒ| _/| j/|krPqqWt0j1|| ƒdS(Ni2iiiR|(2RIRJRKR\t    PageIndextmint    ShowCountRRRït GetIntUpperR×ttagMCFamilyViewListRwtMsgLent    TotalPaget
FamilyListRRðR>ttagMCFamilyViewRŒRÙRÚt FamilyNameLenRëRìR!R&t
LeaderNamet LeaderNameLenR¯RÛRÞRßRàRáRâRãR°RMRäRåRæRçRRt FamilyCountR;R<(RbRRRtmsgt    pageIndext    showCountR+t familyCountt    totalPaget
startIndextendIndexRcR,t
familyViewt leaderMember((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnViewFamilyPageõsl          
 
                       cCsdS(N((RbRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnFamilyMoneyDonate;sicCstS(N(R    (RtaddValuetsendPackGameServertreasontisSysMsg((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytAddPlayerFamilyActiveValueDscCsdS(N((RtaddFamilyHornortaddFamilyMoneytaddFamilyActiveValuetresion((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt#SendPack_GameServer_AddFamilyDetailGscCsdS(N((RtaddPlayerActiveValueR½R¼R¿((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt%SendPack_GameServer_AddFamilyDetailExIscCsdS(N((R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytGetFamilyDayAwardNscCs>tjƒ}d|_|jtjƒ|_tj||ƒdS(Ni(    R×ttagMCFamilyDayAwardtGetStatetNomalDictGetPropertyR t"Def_Player_Dict_FamilyDonateRecordtMoneyDonateCountR;R<(RRc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRRs
     cCsdS(N((RR2taddCnt((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytAddFamilyActivityYsicCs|tjƒj|ƒ}|j}|j}|dkr@t|ƒn8|dkr\t||ƒn|dkrxt||ƒndS(Niii(RIRJRKtOPTypetAffairIDRt__FamilyAffair_Startt__FamilyAffair_GetAward(RbRRRtopTypetaffairID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnFamilyAffairOPjs            cCs:|jtjdƒ}|s,t|tƒn
t|ƒdS(Ni(RÆR t Def_Player_Dict_FamilyAffairInfoRR    tSyncFamilyAffairInfo(Rtinfo((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRws
 
cCs‡|jƒ}d \}}|jtjƒ}|s‹tjddƒ}|r‹||kr‹tjddƒ\}}tj|||ƒsˆdSq‹ng}g}tjddƒ}    tjddƒ}
d} g} xR|
j    ƒD]D\} }t
| ƒ}|| kr|} n| j |d|gƒqÔWxt d|    dƒD]{}t ||ƒ\}}|rƒ|tkrs|j ||gƒn|j |ƒq0|tkr0|| kr0|j |ƒq0q0Wtjd||||f|ƒtjd||ƒxk|D]c}|\}}t|ƒ|
krqên||g}|
t|ƒd}tjd    |g||ƒqêW|rÂtj|tjdƒx‘t d|    dƒD]:}tj|tj|dƒtj|tj|dƒqWn?|rç|rçtj|||dƒntj|tj|dƒtjd
| |ƒtjd ||ƒxM|D]E}tj| dƒ}t|||tƒtjd ||f|ƒq0Wt|ƒdS(Nit FamilyAffairiiiisFË¢ÐÂÊÂÎñ: isReset=%s,moneyType=%s,moneyValue=%s,dayRefreshFreeCount=%ss    sendMailAffairList=%stFamilyAffairAwards    starWeightList=%ss    refreshAffairIDList=%ss     Ëæ»úÊÂÎñ:affairID=%s,star=%s(ii(RRÆR t'Def_Player_Dict_FamilyAffairRefreshFreeRPRQR}R
t    HaveMoneyR@R#RRt__GetAffairInfotAffairState_UnderwaytAffairState_NoneRIRRÑt SendMailByKeyR RÒt%Def_Player_Dict_FamilyAffairStartTimeRRtGetResultByWeightListt__SetAffairInfoRÓ(RtisResetR)Rjt
moneyValuetdayRefreshFreeCountt freeCountMaxtsendMailAffairListtrefreshAffairIDListtaffairCountMaxtaffairStarDicttmaxStartstarWeightListtstarStrtstarInfotstarRÐtstatetmailInfoR†t addItemList((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRsl  
              !  
cCsÅ|jƒ}t||ƒ\}}|s+dS|tkrXtjd|||f|ƒdSttjƒƒ}tj|t    j
||ƒt |||t ƒtjd|||f|ƒt ||ƒdS(NsBÏÉÃËÊÂÎñÒѾ­½øÐÐÖлòÒÑÍê³É£¬ÎÞ·¨¿ªÊ¼: affairID=%s,star=%s,state=%ss.ÏÉÃËÊÂÎñ¿ªÊ¼: affairID=%s,star=%s,startTime=%s(RRÙRÛRIRR#R$R
R R RÝRßRÚRÓ(RRÐR)RìRít    startTime((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÍÇs   c
Cse|jƒ}ttjƒƒ}tjddƒ}t||ƒ\}}|tkrtjd|||f|ƒt    ||ƒdS|j
t j |ƒ}t |||||ƒ}|dkrçtjd|||f|ƒt    ||ƒdSt|ƒ|krýdS|t|ƒd}    tj||    ƒs'dSt|||tƒtjd||f|ƒt    ||ƒdS(NRÕis:ÏÉÃËÊÂÎñ״̬·Ç½øÐÐÖÐÎÞ·¨ÁìÈ¡: affairID=%s,star=%s,state=%sisFÏÉÃËÊÂÎñµ±Ç°Ê£Óàʱ³¤Î´Íê³É: affairID=%s,remainDuration=%s,startTime=%sis!ÏÉÃËÊÂÎñÁì½±: affairID=%s,star=%s(RR#R$RPR}RÙRÚRIRRÓRÆR RÝt__GetAffairRemainDurationRÑR”t GiveAwardItemRßtAffairState_Finish(
RRÐR)tcurTimeRçRìRíRðtremainDurationRï((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÎ×s0          cCs5|jtj|ƒ}|d|d}}||fS(Ni
(RÆR RÒ(RRÐt
affairInfoRìRí((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÙòscCs,|d|}tj|tj||ƒdS(Ni
(R
R R RÒ(RRÐRìRíRÔ((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRßösc
Cs®|jtj|ƒ}|s dS|jt|ƒgƒ}t|ƒdkrT|dnd}tj|ƒ}|r“t|t    d|dƒdƒ}nt    |||dƒ}    |    S(Niÿÿÿÿiii'gˆÃ@(
RÆR RÝRlRÑRwR
tGetAffairSpeedPerR#tmax(
RRÐRìRôRçRðRët needDurationtspeedPerRõ((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRñús"$c Csm|dkrRg}tjddƒ}x4td|dƒD]}|j|ƒq8Wn    |g}ttjƒƒ}tjddƒ}g}x|D]y}t||ƒ\}}t    |||||ƒ}    t
j ƒ}
||
_ ||
_ ||
_td|    ƒ|
_|j|
ƒqŒW|sdSt
jƒ} | jƒ|jtjƒ| _|| _t| jƒ| _tj|| ƒdS(NRÕiii(RWRPRQRRR#R$R}RÙRñR×ttagMCFamilyAffairRÌtStartStateRøtRemainDurationttagMCFamilyAffairInfoR:RÆR R×tRefreshFreeCounttAffairInfoListRwtCountR;R<( RRÐt affairIDListRæRôRçtaffairInfoListRìRíRõRöRc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÓ
s6                    
    i(gRÎR RIRR
R;R×RRZRRARPR½RR”RRuRSR$RxRtFamilyChangeTypestFamilyChangeType_NoneR“R…RXR`tFamilyChangeType_EChangeRiRmR?R(R:RhR]R‡Rvt fmlCounsellort fmlViceLeaderRkRRR.R3RRCRnRORtR    R_R•R6R¾R¼R9RWR8RÕR'R R%RRRR RRRR=RUR[RbRcRfRReRjRnR€RÏRRŽRµR¶R»RÀRÂRÃRRÊRÛRÚRóRÑRRRÍRÎRÙRßRñRÓ(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt<module>sª                   .
 
                       #         4        3    F            
    ,            #         6         ,    [    !             H                  4    @    =    F                 
         
F