hzr
2018-08-09 3346f8aae7f8abbd4b27c4564cbb802e7e717cc9
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
ö°[c@sNddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCs€tjƒ}|j|ƒ}|j}ttjƒ}|jƒ|krYtj    |dƒdSt
|t |j ƒƒs‚tj dƒdSd}d}|jdkr¯|j|ƒ}n2|j|jƒ}|dkrátj    |dƒdS|s2tjj|ƒ}    |    stj    |dƒdSt|    jƒƒ}
|
d}n |jƒ}||kr^tj    |dƒdS|j ƒ} | |kr‡tj dƒdStjƒj| ||ƒr³tj dƒdSt| ƒ} | j|ƒ} | dkrîtj    |d    ƒdSt||ƒtj||tj ƒ|rlt!j"ƒ}| |_#|j$ƒ|_%|jƒ|_&|j'ƒ|_(t)j*||ƒntj    |d
ƒdS( NtLvErrs ºÃÓÑÒѾ­ÂúÁËitFriend_OffLinetLVtFriend_OtherLessLvs²»ÔÊÐíÌí¼Ó×Ô¼ºs
ºÚÃûµ¥¼ì²étFriend_YetFriendtFriend_ApplyFriend(+t    GameWorldtGetPlayerManagertGetPlayerByIndextTagIDtGetFuncLimitLVt ShareDefinetGameFuncID_FriendtGetLVt PlayerControlt
NotifyCodetCheckFriendCounttTruetGetIDtDebugLogtNonetFindPlayerByIDtFindPlayerByNametTagNametPlayerViewCachet ViewCacheMgrt    FindCachetevalt GetPropDatat PyDataManagertGetBlacklistManagertCheckBlacklistBothtGetFriendStructtFindt__CheckAddFriendt PlayerRequestt PYAddRequesttIPY_GameServert    reqFriendtChPyNetSendPackttagGCFriendAskIfJointAskIDtGetNametNameRtGetOfficialRanktRealmLVt NetPackCommont SendFakePack(tindext
clientDatattickt playerManagert    curPlayertcurTagPlayerIDtlimitLVt    tagPlayerttagLVtcurCachet    cacheDictt curPlayerIDtcurPlayerFriendStructt    tagFriendt askFriendPack((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt    AddFriend0sh                      cCs8tjƒj|ƒ}|dkr%|Stjƒj|ƒS(N(RtGetFriendManagert
GetFriendsRt
AddFriends(tplayerIDt
curFriends((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyR Žs cCsÍ|jƒ}t|ƒ}|j|ƒ}t|ƒ}|j|ƒ}|dkr^|dkr^dS|dkrz|dkrzdStjd||fƒ|dkr­|j|ƒn|dkrÉ|j|ƒndS(Ns-AddFriend, (%s, %s)ºÃÓÑÒì³£, É¾³ýË«·½ºÃÓѹØÏµ(RR R!RRtErrLogt    DelFriend(R4R5R;R<tcurPlayerHasThisFriendttagPlayerFriendStructttagPlayerHasThisFriend((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyR"œs     c    Csøtjƒj|ƒ}|jƒ}tjƒj|ƒ}|dkrVtjd|ƒdS|j    }|j
|ƒ}|dkrŽtjd|ƒdStjƒj ||ƒt j |dƒtjƒj|ƒ}|dkrôt j |d|jƒgƒndS(Ns#DeleteFriend -> ·â°üÒì³£ ->ûÓкÃÓÑs'DeleteFriend -> ·â°üÒì³£ ->ûÓÐÕâ¸öÍæ¼ÒtFriend_DeleteFriendtFriend_DeleteFriend2(RRRt GetPlayerIDRR@RARtLogtFriendIDR!t DelFriendBothRRRR*(    R0R1R2R4RCRDtfriendIDt    curFriendR7((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt DeleteFriendÃs"        cCsatjƒj|ƒ}|dkr%tS|jƒtjdƒkr]|rYtj    |dƒnt
StS(Nt FriendMaxCnttFriend_FullList( RR@RARRtGetCountt IpyGameDataPYt
GetFuncCfgRRtFalse(R4tisNotifyRCRD((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyRâs c CsCtjƒ}|j|ƒ}|j}|j|ƒ}|dkr^tjj|ƒ}|s^dSn|j    ƒ}||krŠtj
d|ƒdSt j ||t jƒs¶tj
d|ƒdS|j ræ|rætj|d|jƒgƒdStjƒj|||ƒrdSt|t|jƒƒs.tjdƒdStdt|ƒsTtj|dƒdStjƒj|ƒ}    |    dkrtjƒj|ƒ}    n|    j|ƒ}
|
dkr¼tj
d|ƒdStjƒj||ƒ|rtj|d|jƒgƒtj|d|jƒgƒn,t |j!ƒƒ} tj|d| dgƒdS(    Ns1JoinFriendAnswer -> ·â°üÒì³£ ->²»ÄܼÓÈë×Ô¼ºÎªºÃÓÑs/JoinFriendAnswer -> ·â°üÒì³£ ->Íæ¼ÒûÓÐÕâ¸öÇëÇótFriend_RejectFriends#×Ô¼ºµÄºÃÓÑÂúÔ±tFriend_OtherFullLists=JoinFriendAnswer -> ·â°üÒì³£ ->Õâ¸öºÃÓÑÒѾ­ÔÚ×Ô¼ºµÄºÃÓÑÁбíÖÐtFriend_MakeFriendR+("RRRR    RRRRRRLRMR#tPYCheckRequestR%R&tAnswerRRR*RRRRRRRRXR@RARBR!t AddFriendBothRR( R0R1R2R3R4t srcPlayerIDt    srcPlayerR9RCRDR=R:((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytJoinFriendAnswerûsP           cCs»tjƒj|ƒ}tjƒ}|jƒ}|jƒ}tjƒj    |ƒ}|rg|j
|ƒrgdStj ƒj |ƒ}|r¡|j ƒtjdƒkr¡dStj ƒj||ƒdS(Nt EnemiesMaxCnt(RRRR%t IPY_GAddEnemyt
GetEnemyIDRLRR@RAR!tGetEnemyManagert
GetEnemiesRURVRWtAddEnemy(R0R2R4tpackttagIDRCtfriendstenemies((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytMapServer_AddEnemyTs   !c
Cstjƒj|ƒ}|j}tjƒj|ƒ}|sttjj|ƒ}|sUdSt|j    ƒƒ}|d}n |j
ƒ}t j ƒj |jƒƒ}    |    dkrÙ|    jƒtjdƒkrÙtj|dƒtSnt j ƒj|jƒ|ƒtj|d|gƒdS(NR+tBlacklistMaxCntt BlacklistFullt AddBlackList(RRRR    RRRRRRR*RRt GetBlacklistRRRURVRWRRRXt JoinBlacklistRL(
R0R1R2R4RjR7R9R:t
playerNametplayers((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyRprs$    
   cCsHtjƒj|ƒ}tjƒj|jƒ|jƒtj    |dƒdS(NtDelBlackSuccess(
RRRRRt DelBlacklistRLR    RR(R0R1R2R4((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt DelBlackListŸscCsVtjƒj|jƒƒ}|dkr+dS|j|ƒ|j|ƒtj|ƒdS(N(    RR@RARRtSync_SocialsInfotMapServer_SyncFriendInfoR#tSync_LoginRequest(R4R2RD((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginFriend¨s    cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RRfRgRRRx(R4R2Rt((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginEnemy·s
  cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RtGetContactsManagert GetContactsRRRx(R4R2Rt((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginContactsÁs
  cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RRRqRRRx(R4R2Rt((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginBlacklistÊs
  cCs—tjƒj|jƒƒ}|r3tj|j_nt||ƒt    ||ƒt
||ƒt ||ƒt j |ƒt j|jƒtjtjƒdS(N(RtGetPersonalSocialManagertGetSocialPlayerRtChConfigt
Def_Onlinet
playerInfot
OnlineTypeR{R|RR€t PlayerSocialtSync_AllSocialsInfot
Notify_AlltDef_CDBPlayerRefresh_Online(R4R2t socialPlayer((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt OnPlayerLogin×s     cCsptj|ƒrdStjƒj|jƒƒ}|dkr>dStj|j    _
t j |jƒtj tjƒdS(N(RtGetIsTJGRRR‚RRRƒt Def_OfflineR…R†R‡R‰RŠ(R4R2R‹((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytOnPlayerDisconnectîs c    Cstjƒj|ƒ}tjtjdƒƒ}tjdƒ}|jƒ}|j    ƒ}t
|ƒ}t t j ƒ}    ||    krdStƒ}
tjƒ} xÉtd| jƒƒD]²} | j| ƒ} | dksª| jƒ rÞqªn| j    ƒ}||krüqªntj| ƒrqªn|j|ƒ}|dkr2qªntjƒj||ƒr]tjdƒqªntj||tjƒr{qªn| jƒ}||    kr™qªnx³|D]«}|dd}|dd}|||koá||kno|||ko||knsq nt|ƒdkr6|dj gƒn|ddj |ƒq W|
j!|ƒqªWtjd|fƒg}xzt"|dƒD]h} tj#|ƒ}t|ƒdkr¸q‹nt$j%|dƒ}||krÝq‹nt|ƒ|kr‹Pq‹q‹W|t|ƒ}|dkrTt&|
t|ƒƒ}|j't$j(|t)|t|ƒƒƒƒnt*j+ƒ}t|ƒ|_,g|_-xŠ|D]‚}| j.|ƒ}|s qnt*j/ƒ}||_0|j1ƒ|_2|jƒ|_3|j4ƒ|_5|j6ƒ|_7|j-j |ƒqWt8j9||ƒdS(NtrecommendFriendtSerchFriendCntis
ºÚÃûµ¥¼ì²éiisrecommendFriend %s(:RRRtcopytdeepcopyRVtGetFuncEvalCfgRWR RLR R
R R tsettrangetGetActivePlayerCounttGetActivePlayerAtRt    GetInitOKRRR!RRRRR#t IsRequestingR%R&tlentappendtaddtxrangetGetResultByRandomListtrandomtchoicetlisttextendtsampletminR'ttagGCRecommendFriendsInfotCntt FriendsListRttagRecommendFriendsDatatIDR*R+RtGetJobtJobR,R-R.R/(R0R1R2R4RtneedCnttplayerLVR;R<R6t allPlayerIDR3tit
findPlayerR5R=tfindLVt    recommendtminLVtmaxLVtplayeIDstlvlimitRCtfixCnttfixListtsendPackR7trceFriendsData((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytClient_RecommendFriendss                $$  +           cCsÕtjƒj|ƒ}|j}ttjƒ}|jƒ|krCdSg}t|j    ƒƒ}tjƒ}xÊt
d|j ƒƒD]³}    |j |    ƒ}
|
dks}|
jƒ r±q}n|
j    ƒ} |j    ƒ| krÕq}n|j| ƒ} | dkröq}n|
jƒ|krq}n||
jƒkr}|j|
ƒq}q}Wtjƒ} t|ƒ| _g| _xf|D]^}tjƒ}|jƒ|_|jƒ|_|jƒ|_|jƒ|_| jj|ƒq_Wtj|| ƒdS(Ni(RRRR+R
R R R R RLR–R—R˜RR™R!R*RœR'R¦R›R§R¨R©RRªRR«R¬R.R/(R0R1R2R4tfindNameR6RtR<R3R°R±R5R=RºR7R»((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytFuzzySearchPlayer{sD              cCs&tjd|ƒ}|sdS|jƒS(Nt
FuncOpenLVi(RVtGetIpyGameDatat
GetLimitLV(tfuncIDtipyData((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyR
®s( R%RRƒR#RR'R.R RRVR R‡R’RR?R R"RRRRbRmRpRwR{R|RR€RŒRR¼R¾R
(((sW.\\ProjectSServer\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt<module>s>                  ^        '            Y        -                
                         x    3