cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
9b \c@s˜ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z defd„ƒYZdefd„ƒYZdefd„ƒYZdefd    „ƒYZd
efd „ƒYZd efd „ƒYZdefd„ƒYZdefd„ƒYZeƒd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNt SocialPlayerscBsneZd„Zed„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z RS( cCs(||_||_i|_||_dS(N(tPlayerIDt classObjectt
SocialDictt    GroupType(tselfRRt    groupType((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt__init__!s            cCsAtjd|j|j|fƒ||jkr@tjdƒtS|jƒ|j|<|j|}|j|_||_tjƒj    |ƒ}|sÎt
j ƒj |ƒ}|r¸|j ƒqát
j ƒj|ƒnt
j ƒj|ƒt||jƒ|sûtStjƒj    |jƒ}|stS|j||ƒ|j||ƒtS(NsSocialPlayers----Add %s-%s-%ssSocialPlayers----Add Öظ´(t    GameWorldtDebugLogRRRtFalseRtTagIDtGetPlayerManagertFindPlayerByIDt PyDataManagertGetPersonalSocialManagertGetSocialPlayert AddSocialReftAddPlayerInfoByViewCachet AddPlayerInfot AddBeSocialtTruet NotifyC_AddtSync_SocialPlayer(RttagIDtisNotifyt    newPlayert    tagPlayert
playerDatat    curPlayer((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytAdd(s0         cCs©tjd|j|j|fƒ||jkr@tjdƒdS|jj|ƒtjƒj|ƒt    ||jƒtj
ƒj |jƒ}|s•dS|j ||ƒdS(Ns SocialPlayers----Delete %s-%s-%ss SocialPlayers----Delete Òѱ»É¾³ý( RR    RRRtpopRRt DelPlayerInfot SubBeSocialR R t NotifyC_Del(RRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytDeletePs  cCs t|jƒS(N(tlenR(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytGetCountcscCs |jjƒS(N(Rtkeys(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytGetSocialIDListfscCs|jj|dƒS(N(RtgettNone(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytFindhscCs?tjƒ}|jƒ||_|j|_tj||ƒdS(N(tChPyNetSendPackttagGCAddSocialPlayertClearRRt NetPackCommont SendFakePack(RRRtpack((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRls  
     cCs?tjƒ}|jƒ||_|j|_tj||ƒdS(N(R+ttagGCDelSocialPlayerR-RRR.R/(RRRR0((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR"us  
     cCs±tjƒ}|jƒ|j|_g|_|jƒ|_x`|jjƒD]O}tj    ƒ}|j
|_ t |dƒr€|j nd|_|jj|ƒqJWtj||ƒdS(Nt    Timestampi(R+ttagGCGroupPlayersR-RtPlayersR%tCountRtvaluesttagGCGroupPlayerR RthasattrR2t    SortValuetappendR.R/(RRR0tplayertinPack((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytSync_SocialsInfos 
       !cCsvtjƒ}|jƒd|_g|_tjƒ}|j|ƒjtj    ƒƒ}|jj
|ƒt j ||ƒdS(Ni( R+ttagGCSocialPlayersR-R5tPlayerRRRt GetPackStructttagGCSocialPlayerR:R.R/(RRRtsendPackt socialManagert
socialInfo((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR’s 
         cCsLg}x?|jD]4}tjƒj|ƒ}|s7qn|j|ƒqW|S(N(RRR R R:(RtonlinesRR;((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytGetOnlinePlayersŸs(t__name__t
__module__RRRR#R%R'R*RR"R=RRF(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR s     (                            
         tFriendscBs,eZd„Zd„Zd„Zd„ZRS(cCs&tt|ƒj|tjtjƒdS(N(tsuperRIRtPyGameDataStructttagDBPyPlayerFriendtChConfigtDef_SocialGroup_Friend(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR®scCs6|j|ƒtjƒj|jƒ}|j|ƒdS(N(RRR R RtMapServer_SyncFriendInfo(RtfriendIDR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt    AddFriend³s cCs6|j|ƒtjƒj|jƒ}|j|ƒdS(N(R#RR R RRO(Rt delFriendIDR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt    DelFriendºs cCsdS(N((RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyROÁs(RGRHRRQRSRO(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRI­s            t FriendManagercBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t PlayerFriends(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRÕscCs®||jkr%t|ƒ|j|<n|j|}|j|ƒtjƒj||ƒ||jkrzt|ƒ|j|<n|j|}|j|ƒtjƒj||ƒdS(N(RURIRQRtGetEnemyManagertDelEnemy(Rt    friendAIDt    friendBIDtfriends((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt AddFriendBothÙs    cCsZ|jj|dƒ}|r+|j|ƒn|jj|dƒ}|rV|j|ƒndS(N(RUR(R)R#(RRXRYt friendAStructt friendBStruct((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt DelFriendBothìs cCs|jj|dƒS(N(RUR(R)(RtplayerID((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt
GetFriendsúscCs t|ƒ|j|<|j|ƒS(N(RIRUR`(RR_((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt
AddFriendsþscCs…d}d}d}xK|jjƒD]:}x1|jjƒD] }|d7}||jƒ7}q8Wq"Wtjd|ƒtj||ƒ|S(NtiisSaveFriendData cnt :%s(RUR6Rt    getBufferRtLogtCommFunct
WriteDWORD(RtsavaDatatcntDatatcntRZtfriend((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt GetSaveDatas
cCs×tj||ƒ\}}tjd|ƒi|_xžt|ƒD]}tjƒ}|jƒ||j    |||ƒ7}|j
|jkr¢t |j
ƒ|j|j
<n||j|j
j |j <t|j |j
ƒq?W|S(NsLoadFriendData cnt :%s(Ret    ReadDWORDRRdRUtxrangeRKRLtcleartreadDataRRIRR R(RtdatastpostdataslenRitit playerFriend((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytLoadPyGameDatas     
(    RGRHRR[R^R`RaRkRu(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRTÔs                         t EnemyManagercBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCs i|_dS(N(R4(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR%scCs,ttjƒƒ}||jkr‡|j|}|j|ƒr¦||j|ƒ_tjƒj|ƒ}|r€|j|||ƒndSnt    |t
j t j ƒ|j|<|j|}|j|tƒr(||j|ƒ_tjƒj|ƒ}|r|j||ƒ|j|||ƒn|j|ƒndS(N(tintttimeR4R*t    timestampRR R tNotify_UpdateTagRRKttagPlayerEnemyRMtDef_SocialGroup_EnemyRR
Rt DelOldEnemy(RR_RRyt socialPlayerR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytAddEnemy)s(   cCsHtjƒ}|jƒ||_tj|_||_tj    ||ƒdS(N(
R+R,R-RRMR|RR9R.R/(RRRRyR0((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRzFs  
         cCs0|jj|dƒ}|sdS|j|ƒdS(N(R4R(R)R#(RR_RR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRWPsc Csó|jj|dƒ}|sdStjdƒ}|jƒ|}|dkrNdSg}xQ|jjƒD]@\}}tj    ƒj
|ƒ}|j ||j j |jgƒqdW|jdtƒx4t|ƒD]&}    |jƒ}
|j||
dƒqÅWdS(Nt EnemiesMaxCntitcmp(R4R(R)t IpyGameDataPYt
GetFuncCfgR%RtitemsRRRR:t
playerInfot
OnlineTypeR2tsortt SortOldListRmRRW( RR_R~t enemiesMaxCnttdelcnttdelListttmpIDR;RRstresult((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR}Ys  # cCs|jj|dƒS(N(R4R(R)(RR_((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt
GetEnemiesuscCs…d}d}d}xK|jjƒD]:}x1|jjƒD] }|d7}||jƒ7}q8Wq"Wtjd|ƒtj||ƒ|S(NRbiis!!SaveEnemyData cnt :%s(R4R6RRcRRdReRf(RRgRhRit socialPlayersR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRkys
cCsãtj||ƒ\}}tjd|ƒi|_xªt|ƒD]œ}tjƒ}|jƒ||j    |||ƒ7}|j
|jkr®t |j
tjt j ƒ|j|j
<n||j|j
j|j<t|j|j
ƒq?W|S(Ns!!LoadEnemyData cnt :%s(ReRlRRdR4RmRKR{RnRoRRRMR|RR R(RRpRqRrRiRst playerEnemy((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRu†s     
(
RGRHRRRzRWR}RŽRkRu(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRv$s            
                     tContactsManagercBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z RS(
cCs i|_dS(N(R4(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRœscCs7||jkrtS|j|}|j|ƒs3tStS(N(R4R
R*R(RR_RR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt FindContactŸs  cCsättjƒƒ}||jkrCt|tjtjƒ|j|<n|j|}t}|j    |ƒs|j
|tƒt }||j    |ƒ_ |j |ƒn||j    |ƒ_ tjƒj|ƒ}|rù|j|||ƒ|rù|j||ƒqùn||jkr*t|tjtjƒ|j|<n|j|}t}|j    |ƒs„|j
|tƒt }||j    |ƒ_ |j |ƒn||j    |ƒ_ tjƒj|ƒ}|rà|j|||ƒ|rà|j||ƒqàndS(N(RwRxR4RRKttagDBPyPlayerContactsRMtDef_SocialGroup_ContactsR
R*RRR2t DelOldContactRR R RzR(RR_RRyR~t notifySocialRR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytAddContactsBothªsD    cCsHtjƒ}|jƒ||_tj|_||_tj    ||ƒdS(N(
R+R,R-RRMR”RR9R.R/(RRRRyR0((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRzÝs  
         cCs0|jj|dƒ}|sdS|j|ƒdS(N(R4R(R)R#(RR_RR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt
DelContactæscCs$|j||ƒ|j||ƒdS(N(R˜(RR_R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytDelContactBothðsc Csó|jj|dƒ}|sdStjdƒ}|jƒ|}|dkrNdSg}xQ|jjƒD]@\}}tj    ƒj
|ƒ}|j ||j j |jgƒqdW|jdtƒx4t|ƒD]&}    |jƒ}
|j||
dƒqÅWdS(NtContactsMaxCntiR(R4R(R)R‚RƒR%RR„RRRR:R…R†R2R‡RˆRmRR˜( RR_R~tcontactsMaxCntRŠR‹RŒR;RRsR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR•ös  # cCs|jj|dƒS(N(R4R(R)(RR_((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt GetContactsscCs…d}d}d}xK|jjƒD]:}x1|jjƒD] }|d7}||jƒ7}q8Wq"Wtjd|ƒtj||ƒ|S(NRbiis!!SaveContactsData cnt :%s(R4R6RRcRRdReRf(RRgRhRiRR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRks
cCsãtj||ƒ\}}tjd|ƒi|_xªt|ƒD]œ}tjƒ}|jƒ||j    |||ƒ7}|j
|jkr®t |j
tjt j ƒ|j|j
<n||j|j
j|j<t|j|j
ƒq?W|S(Ns!!LoadContactsData cnt :%s(ReRlRRdR4RmRKR“RnRoRRRMR”RR R(RRpRqRrRiRsR;((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRu"s     
( RGRHRR’R—RzR˜R™R•RœRkRu(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR‘›s             3            
                 tBlacklistManagercBsJeZd„Zd„Zd„Zdd„Zd„Zd„Zd„Z    RS(cCs i|_dS(N(R4(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR7scCs|jj|dƒs7t|tjtjƒ|j|<n|j|}|j|ƒt    j
ƒj ||ƒt    j ƒj ||ƒdS(N(R4R(R)RRKttagDBPyPlayerBlackRMtDef_SocialGroup_BlackRRtGetFriendManagerR^tGetContactsManagerR™(RR_RR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt JoinBlacklist;s   cCs=|jj|dƒ}|sdStjdƒ|j|ƒdS(Nt DelBlacklist(R4R(R)RR    R#(RR_RR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR£Js
 cCsˆ||jkrB|j|j|ƒrB|r>tj|dƒntS||jkr„|j|j|ƒr„|r€tj|dƒntStS(NtFriend_RemoveBlacklisttFriend_Blacklist(R4R*t PlayerControlt
NotifyCodeRR
(RR_RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytCheckBlacklistBothSs%%cCs|jj|dƒS(N(R4R(R)(RR_((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt GetBlacklistbscCs…d}d}d}xK|jjƒD]:}x1|jjƒD] }|d7}||jƒ7}q8Wq"Wtjd|ƒtj||ƒ|S(NRbiis!!SaveBlacklistData cnt :%s(R4R6RRcRRdReRf(RRgRhRiRR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRkfs
cCsãtj||ƒ\}}tjd|ƒi|_xªt|ƒD]œ}tjƒ}|jƒ||j    |||ƒ7}|j
|jkr®t |j
tjt j ƒ|j|j
<n||j|j
j|j<t|j|j
ƒq?W|S(Ns!!LoadBlacklistData cnt :%s(ReRlRRdR4RmRKRžRnRoRRRMRŸRR R(RRpRqRrRiRsR;((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRuss     
N(
RGRHRR¢R£R)R¨R©RkRu(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR6s                          tSocialPlayerDatacBsGeZddd„Zd„Zd„Zdd„Zd„Zd„ZRS(cCs;tjƒ|_|r!||_n|r7|j|ƒndS(N(RKttagPersonalSocialR…tUpdateByPlayer(Rt playerSocialR;((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRˆs  cCs…|jƒ|j_|jƒ|j_|jƒ|j_|jƒ|j_|j    ƒ|j_
d|j_ |jj sd|j_ ndS(Ni( t GetPlayerIDR…RtGetNamet
PlayerNametGetJobtJobtGetLVtLVtGetOfficialRanktRealmLVR†tRefCount(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR¬’s  cCs^|jj|_|jj|_|jj|_|jj|_|jj|_|jj|_|S(N(R…RR°R²R´R¶R†(Rt
packStruct((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR@žscCs9|jjd7_tjd|jj|jjfƒdS(NisAddSocialRef %s-%s(R…R·RR    R(RR((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR©s#cCs9|jjd8_tjd|jj|jjfƒdS(NisSubSocialRef %s-%s(R…R·RR    R(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt SubSocialRef¯s#cCs
|jjS(N(R…R·(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt GetRefCount´sN(    RGRHR)RR¬R@RR¹Rº(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRª‡s 
              tSocialInfoManagercBsGeZd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs i|_dS(N(t
SocialInfo(R((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR¹s    cCsP|jƒ}||jkr5td|ƒ|j|<dS|j|}|jƒdS(NR;(R®R¼RªR(RRR_R~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR¾s   cCsýtjj|ƒ}tjƒ}|sj|jƒ||_d|_d|_d|_    d|_
t j |_ net|jƒƒ}|jƒ||_|d|_|d|_|d|_    |d|_
t j |_ t|ƒ|j|<|j|}|jƒdS(NRbitNameR²R´R¶(tPlayerViewCachet ViewCacheMgrt    FindCacheRKR«RnRR°R²R´R¶RMt Def_OfflineR†tevalt GetPropDataRªR¼R(RR_tcurCacheR­t    cacheDictR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRÉs* 
                    
          cCsS||jkrdS|j|}|jƒ|jƒdkrO|jj|ƒndS(Ni(R¼R¹RºR(Rt delPlayerIDR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR æs  
cCs|jj|dƒS(N(R¼R(R)(RR_((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRñscCsnd}d}d}x4|jjƒD]#}|d7}||jjƒ7}q"Wtjd|ƒtj||ƒ|S(NRbiisSaveSocialData cnt :%s(R¼R6R…RcRRdReRf(RRgRhRiR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRkös
cCs’tj||ƒ\}}tjd|ƒi|_xYt|ƒD]K}tjƒ}|jƒ||j    |||ƒ7}t
|ƒ|j|j <q?W|S(NsLoadSocialData cnt :%s( ReRlRRdR¼RmRKR«RnRoRªR(RRpRqRrRiRsR­((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRus     
(    RGRHRRRR RRkRu(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR»¸s                           cCsü|tjkrdS|tjkrCtjƒ}||_||_nW|tj    krstj
ƒ}||_||_ n'tj ƒ}||_||_ ||_x[tj|D]L}tjƒj|ƒ}|sÏq¨ntj|ƒräq¨ntj||ƒq¨WdS(N(t
PyGameDatatg_BeSocialListtIPY_PlayerDefinetCDBPlayerRefresh_PlayerNameR+ttagGCSocialNameRR½RMtDef_CDBPlayerRefresh_OnlinettagGCSocialOnlineR†ttagGCSocialRefreshTypet RefreshTypetValueRR R R¦tGetIsTJGR.R/(R_t
notifyTypetvaluetsetInfoR0RR;((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt
Notify_Alls*                         cCsŸtjƒj|jƒƒ}|dkr+dS|tjkrI||j_n<|tj    krg||j_
n|tj kr…||j_ nt |jƒ||ƒdS(N(RRRtGetIDR)RÉtCDBPlayerRefresh_LVR…R´tCDBPlayerRefresh_OfficialRankR¶RÊR°RÕ(RRÒRÓR~((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytUpdateSocialInfo1s cCs˜|jƒ}tjƒj|ƒ}|r6|jjƒng}tjƒj|ƒ}|rf|jjƒng}tjƒj    |ƒ}|r–|jjƒng}tj
ƒj |ƒ}|rÆ|jjƒng}    t |ƒt |ƒBt |ƒBt |    ƒB}
t jƒ} | jƒg| _tjƒ} xN|
D]F} | j| ƒ}|sIq(n|jt jƒƒ}| jj|ƒq(Wt| jƒ| _tj|| ƒdS(N(RÖRR R`RR&RVRŽR¡RœtGetBlacklistManagerR©tsetR+R>R-R?RRR@RAR:R$R5R.R/(RR_RZtlist1tenemiestlist2tcontactstlist3t
blackliststlist4t    resultSetRBRCRR~RD((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pytSync_AllSocialsInfoBs. * 
      cCsj|tjkritj|<n|tj|krFdtj||<n tj||dtj||<dS(Ni(RÇRÈ(R_t tagPlayerID((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRfs
cCsw|tjkrdS|tj|kr*dStj||}|dtj||<|dkrstj|j|ƒndS(Ni(RÇRÈR(R_RåtcurCount((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyR!os cCs„|drdnd}|dr&dnd}||kr<dS||krLdS|d|dkrddS|d|dkr|dSdSdS(Niiiÿÿÿÿi((tinfo1tinfo2tresult1tresult2((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyRˆs  (RKReRR+R.tChGameToMapPyPackRRÉRMR¦RxR‚R¾RÇtobjectRRIRTRvR‘RRªR»RÛRÕRÙRäRR!Rˆ(((sWE:\SnxxServerCode\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerSocial.pyt<module>s6              'Pw›Q1[        $