cehua-HWJ35
2019-03-07 cd6fbfa9dce9c101fe7a819c811036cfbbefab8d
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
\+~\c@soddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"dS(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|s5tjj|ƒ}    |    stj    |dƒdStj|    jƒƒ}
|
d}n |jƒ}||kratj    |dƒdS|j ƒ} | |krŠtj dƒdStjƒj| ||ƒr¶tj dƒdSt| ƒ} | j|ƒ} | dkrñtj    |d    ƒdSt||ƒtj||t j!ƒ|rot"j#ƒ}| |_$|j%ƒ|_&|jƒ|_'|j(ƒ|_)t*j+||ƒntj    |d
ƒdS( NtLvErrs ºÃÓÑÒѾ­ÂúÁËitFriend_OffLinetLVtFriend_OtherLessLvs²»ÔÊÐíÌí¼Ó×Ô¼ºs
ºÚÃûµ¥¼ì²étFriend_YetFriendtFriend_ApplyFriend(,t    GameWorldtGetPlayerManagertGetPlayerByIndextTagIDtGetFuncLimitLVt ShareDefinetGameFuncID_FriendtGetLVt PlayerControlt
NotifyCodetCheckFriendCounttTruetGetIDtDebugLogtNonetFindPlayerByIDtFindPlayerByNametTagNametPlayerViewCachet ViewCacheMgrt    FindCachetjsontloadst GetPropDatat PyDataManagertGetBlacklistManagertCheckBlacklistBothtGetFriendStructtFindt__CheckAddFriendt PlayerRequestt PYAddRequesttIPY_GameServert    reqFriendtChPyNetSendPackttagGCFriendAskIfJointAskIDtGetNametNameRtGetOfficialRanktRealmLVt NetPackCommont SendFakePack(tindext
clientDatattickt playerManagert    curPlayertcurTagPlayerIDtlimitLVt    tagPlayerttagLVtcurCachet    cacheDictt curPlayerIDtcurPlayerFriendStructt    tagFriendt askFriendPack((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt    AddFriend2sh                      cCs8tjƒj|ƒ}|dkr%|Stjƒj|ƒS(N(RtGetFriendManagert
GetFriendsRt
AddFriends(tplayerIDt
curFriends((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyR!s cCs2tjƒj|ƒ}|stS|j|ƒdkS(N(RRARBtFalseR"R(RDt tagPlayerIDRE((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytIsFriend˜scCsÍ|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(R5R6R<R=tcurPlayerHasThisFriendttagPlayerFriendStructttagPlayerHasThisFriend((sH.\\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ƒntj||tƒdS(Ns#DeleteFriend -> ·â°üÒì³£ ->ûÓкÃÓÑs'DeleteFriend -> ·â°üÒì³£ ->ûÓÐÕâ¸öÍæ¼ÒtFriend_DeleteFriendtFriend_DeleteFriend2(RRRt GetPlayerIDRRARBRtLogtFriendIDR"t DelFriendBothRRRR+t
PlayerTeamtOnTeamMemFriendChangeRF(    R1R2R3R5RDREtfriendIDt    curFriendR8((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt DeleteFriendÌs$        cCsatjƒj|ƒ}|dkr%tS|jƒtjdƒkr]|rYtj    |dƒnt
StS(Nt FriendMaxCnttFriend_FullList( RRARBRRtGetCountt IpyGameDataPYt
GetFuncCfgRRRF(R5tisNotifyRDRE((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyRìs c Cs[tjƒ}|j|ƒ}|j}|j|ƒ}|dkr^tjj|ƒ}|s^dSn|j    ƒ}||krŠtj
d|ƒdSt j ||t jƒs¶tj
d|ƒdS|jsè|rätj|d|jƒgƒndStjƒj|||ƒrdSt|t|jƒƒs0tjdƒdStdt|ƒsVtj|dƒdStjƒj|ƒ}    |    dkrtjƒj|ƒ}    n|    j|ƒ}
|
dkr¾tj
d|ƒdStjƒj||ƒ|rtj|d|jƒgƒtj|d|jƒgƒn/t j!|j"ƒƒ} tj|d| dgƒt#j$||tƒdS(    Ns1JoinFriendAnswer -> ·â°üÒì³£ ->²»ÄܼÓÈë×Ô¼ºÎªºÃÓÑs/JoinFriendAnswer -> ·â°üÒì³£ ->Íæ¼ÒûÓÐÕâ¸öÇëÇótFriend_RejectFriends#×Ô¼ºµÄºÃÓÑÂúÔ±tFriend_OtherFullLists=JoinFriendAnswer -> ·â°üÒì³£ ->Õâ¸öºÃÓÑÒѾ­ÔÚ×Ô¼ºµÄºÃÓÑÁбíÖÐtFriend_MakeFriendR,(%RRRR    RRRRRRPRQR$tPYCheckRequestR&R'tAnswerRRR+RRR RRRRRFRARBRCR"t AddFriendBothRRRRTRU( R1R2R3R4R5t srcPlayerIDt    srcPlayerR:RDRER>R;((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytJoinFriendAnswersT               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
GetEnemyIDRPRRARBR"tGetEnemyManagert
GetEnemiesR[R\R]tAddEnemy(R1R3R5tpackttagIDRDtfriendstenemies((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytMapServer_AddEnemy`s   !c
Cstjƒj|ƒ}|j}tjƒj|ƒ}|swtjj|ƒ}|sUdStj    |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    RRRRRRRR+RRt GetBlacklistRRR[R\R]RRRFt JoinBlacklistRP(
R1R2R3R5RoR8R:R;t
playerNametplayers((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyRu~s$    
   cCsHtjƒj|ƒ}tjƒj|jƒ|jƒtj    |dƒdS(NtDelBlackSuccess(
RRRRRt DelBlacklistRPR    RR(R1R2R3R5((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt DelBlackList«scCsVtjƒj|jƒƒ}|dkr+dS|j|ƒ|j|ƒtj|ƒdS(N(    RRARBRRtSync_SocialsInfotMapServer_SyncFriendInfoR$tSync_LoginRequest(R5R3RE((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginFriend´s    cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RRkRlRRR}(R5R3Ry((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginEnemyÃs
  cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RtGetContactsManagert GetContactsRRR}(R5R3Ry((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt__OnPlayerLoginContactsÍs
  cCs<tjƒj|jƒƒ}|dkr+dS|j|ƒdS(N(RRRvRRR}(R5R3Ry((sH.\\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R„R…t PlayerSocialtSync_AllSocialsInfot
Notify_AlltDef_CDBPlayerRefresh_Online(R5R3t socialPlayer((sH.\\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(R5R3R((sH.\\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(:RRRtcopytdeepcopyR\tGetFuncEvalCfgR]R RPR!R
R R tsettrangetGetActivePlayerCounttGetActivePlayerAtRt    GetInitOKRR’R"RRR RR$t IsRequestingR&R'tlentappendtaddtxrangetGetResultByRandomListtrandomtchoicetlisttextendtsampletminR(ttagGCRecommendFriendsInfotCntt FriendsListRttagRecommendFriendsDatatIDR+R,RtGetJobtJobR-R.R/R0(R1R2R3R5R•tneedCnttplayerLVR<R=R7t allPlayerIDR4tit
findPlayerR6R>tfindLVt    recommendtminLVtmaxLVtplayeIDstlvlimitRDtfixCnttfixListtsendPackR8trceFriendsData((sH.\\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!RPR›RœRRRžR"R+R¡R(R«R R¬R­R®RR¯RR°R±R/R0(R1R2R3R5tfindNameR7RyR=R4RµR¶R6R>R¿R8RÀ((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pytFuzzySearchPlayer‡sD              cCs&tjd|ƒ}|sdS|jƒS(Nt
FuncOpenLVi(R\tGetIpyGameDatat
GetLimitLV(tfuncIDtipyData((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyR
ºs(#R&RRˆR$RR(R/R RR\R¥RŒR—RRTRR@R!RHR#RXRRgRrRuR|R€RR„R…R‘R”RÁRÃR
(((sH.\\ServerPython\CoreServerGroup\GameServer\Script\Player\PlayerFriend.pyt<module>sD                    ^             '             [        -                
                         x    3