hxp
2025-05-26 81342bcf945a4c73820094cae42e5cc5164c5403
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
Í/hc
@sÎddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZdZedƒZ\
ZZZZZZZZZZ eddEƒ\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„Z0d„Z1e j%e2d„Z3e2dd„Z4d„Z5d„Z6d„Z7d„Z8dd„Z:d„Z;eddd„Z<ddd„Z=gdd„Z>d„Z?d„Z@d „ZAd!„ZBd"„ZCd#„ZDe2d$„ZEd%„ZFd&„ZGd'„ZHd(„ZId)„ZJd*„ZKeLd+„ZMd,„ZNd-„ZOd.„ZPd/„ZQd0„ZRd1„ZSd2„ZTd3„ZUeLd4eLd5„ZVd4d4d4d4d6„ZWd4d4d4d7„ZXd8„ZYd9„ZZdd:„Z[d4Z\dZ]d;Z^d<„Z_d=„Z`eLd>„Zad?„Zbd@„ZcdA„ZddB„ZedC„ZfddD„ZgdS(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 PlayerOnDayHs
 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.pyRTs  
 
 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.pytOnWeekExrscCs#|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.pyRys.      
 cCsdS(N((R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRCœscCstjƒ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ƒsdSntj|ƒ} |j|
| ƒ}    |    dkrQtjd|ƒdS|    jƒ}|    jdƒtjƒ}| s‰||kr›tj|ƒ}ntjd|||fƒ|    j |ƒt!|    ||t"j#ƒ|j$ƒtj|dƒtj%dd    |j&ƒ|
|gƒdS(
NtGeRen_chenxin_85890t CreateFamilyiis ´´½¨¼Ò×åʧ°Üs-´´½¨ÏÉÃË: familyID=%s,playerID=%s,emblemID=%stXW_JZ_EstablishSuditjiazu_liubo_671654('t    GameWorldtGetPlayerManagertGetPlayerByIndextNametEmblemIDRRRRRRRRR R!R
t
NotifyCodetCheckInputFamilyNamet IpyGameDataPYt
GetFuncCfgtPayMoneytGetPlayerServerIDt    AddFamilytNonetErrLogtGetIDtSetLVtPlayerFamilyEmblemtGetDefaultFamilyEmblemIDListtrandomtchoicetLogt SetEmblemIDtDoPlayerJionFamilyRARBtSortt WorldNotifyR>(tindext
clientPackRRt    inputNametemblemIDR)tplayerFamilyIDR+t    curFamilytfullFamilyNamet    needMoneyt    moneyTypetserverIDt newFamilyIDt 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 GetCharTrimtGetFamilyFullNameRVRt    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( RIRSRPRQRVtGetFuncEvalCfgtGetDictValueByRangeKeytevalttupleRwR
RN( RRzRkt 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 RWt    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_ActionTypeListRIRVRRtGetFamilyActionMgrtGetFamilyActiont    AddActiontSetNamet SetUserDatat    enumeratetgetattrR    ( tcurNameR*t
actionTypetactionDataListRt isClearNonetuseDatat familyActiont
actionDatatnumtvaluetsetFunc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyR”Hs    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ïRtFindPlayerByIDRUR9R;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+RgR tiR›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.pytOnRequesJoinFamilyRs           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îR[tshuffleRïRWRßRÝtGetFamilySettingR_(
RR)tplayerLVR+t    indexListRbR,R*tlvMinR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRes8          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:RRRî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)R2((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+R0Rc((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRÖs   
    c Csžtjƒ}|j|ƒ}|s%dS|jƒ}tjƒ}tjƒ}g|_x3|j    ƒD]%\}}|j
|ƒ}tj ƒ}    ||    _ ||    _ |rªt|    _ntj|ƒ}
|
r[|
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    tIsOnLinetPlayerViewCachet FindViewCacheR&RLRwRôR®RõRöR÷RøRùRúRûRüRýRãRäRåRæRáRâRtReqCnt( R*R+RgR3R RcR)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.tkeysR6R RR>R
R=RPRQRR®RîR5R_RRR'R’(RbRRRRtisOKR)R*R+R,R-R3ttagPlayerIDListR RtofflinePlayerCanJoinRtjoinOKPlayerIDListR((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.pytOnChangeFamilyJoinls.              
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(RIRJRKRMRYtOnChangeFamilyEmblem(RbRRRtchangeEmblemID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRb¬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_ChangeFmlvRUR@tFamilyChangeType_LeaderChangetChangeFamilyLeaderRRîRïRR®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.pyRd¿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( RWRêRR!RmRAt    fmlMemberR‘RBRIR](R,t newLeaderMemR*t befLeaderIDt newLeaderIDt befLeaderMem((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRis     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%(RqtchangeFamilyLVR*RntmemNamet befFamilyLVRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyRms       
cCs#tjƒj|ƒ}t|ƒdS(N(RIRJRKR8(RbRRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnGetFamilyInfo:s
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ÎEs6     !        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-RqtcurFmlvttagFmlvt tagPlayerNameRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytOnDeleteFamilyMemberysJ                 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ÕR R›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>ttagMCFamilyViewRWRØ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.pytAddPlayerFamilyActiveValueEscCsdS(N((RtaddFamilyHornortaddFamilyMoneytaddFamilyActiveValuetresion((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt#SendPack_GameServer_AddFamilyDetailHscCsdS(N((RtaddPlayerActiveValueR¼R»R¾((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pyt%SendPack_GameServer_AddFamilyDetailExJscCsdS(N((R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytGetFamilyDayAwardOscCs>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.pyRSs
     cCsdS(N((RR2taddCnt((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerFamily.pytAddFamilyActivityZsicCs|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.pytOnFamilyAffairOPks            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.pyRxs
 
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ÜRkRÐ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(RURPRQRRR#R$R}RØRðRÖttagMCFamilyAffairRËtStartStateR÷tRemainDurationttagMCFamilyAffairInfoR9RÅ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(hRÍR RIRR
R;RCRÖRRYRRARPR¼RR“RRuR[R$RxRtFamilyChangeTypestFamilyChangeType_NoneR’R„RWR_tFamilyChangeType_EChangeRhRlR?R(R:RgR\R†Rut fmlCounsellort fmlViceLeaderRjRRR.R3RRCRnRORtR    R_R”R6R½R»R9RUR8RÔR'R
R%RRRRRRRR=RTRZRaRbReRRdRiRmRRÎ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