hxp
2025-05-16 273fbbf3ec69623f4501583614174c7d604a06b5
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
Sð    hc@sùdZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZd„Zd„Zd„Zeedd„Zd„Zd    „Zd
„Zed d „Zd „Zd„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(dd„Z*d„Z+d„Z,d„Z-d„Z.d „Z/d!„Z0dd"„Z1dS(#sVersion = 2017-07-26 22£º00iÿÿÿÿNcCs/|dkrdS|jƒ}|j|ƒ}|S(N(tNonetGetDienstgradManagert GetDienstgrad(t    curPlayert dienstgradIDtcurDienstgradMgrt curDienstgrad((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerGetDienstgrad,s
  cCstjd|ƒS(Nt
Dienstgrad(t IpyGameDataPYtGetIpyGameData(R((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGetDienstgradData5sc    Cs¬| r| rdSt}x,|D]$}t||dtƒrt}qqWx2|D]*}t||dtdtƒrNt}qNqNW|r¨t|ƒtj|ƒ}|jƒn|S(Nt isRefreshAttrt isDelRepeat(tFalsetPlayerDelDienstgradtTruetPlayerAddDienstgradtCalcAllDienstgradAttrt PlayerControltRefreshPlayerAttrState(RtdelDienstgradIDListtaddDienstgradIDListt    isRefreshRt playerControl((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerDelAddDienstgrad8s    
 ic Cs1|dkrtSt|ƒ}|dkr,tS|jƒ}|j|ƒ}|rj|rc|j|ƒqjtSn|j|ƒ}|dkr•|j|ƒn|j    |ƒ|j
ƒ}x|D]}    t ||    ƒqµWt j ||dƒ|tjdƒkrt|ƒn|r-t|ƒtj|ƒ}
|
jƒntS(Niit TitleAddPoint(RR RRRtDeleteDienstgradRt AddDienstgradt SetExpireTimetSync_PlayerGetDienstgradt    GetSkillst __GiveSkilltCrossPlayerDatatOnDienstgradChangeR    t
GetFuncCfgt__DoTitleAddPointRRR( RRR R t
expireTimetcurDienstgradDataRRt    skillListtskillIDR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRRs4         
 c    Csýtj|tjƒsdStjddiƒ}tj|ƒ}|dkrMdS|jƒ}d}xW|j    ƒD]I\}}||dkrŽqln||t
||dƒ|dd7}qlW|j ƒ}||}|j |ƒt jd||||fƒdS(Nt LVUPAddPointiisM»ñµÃ³ÆºÅÔö¼Ó×ÔÓÉÊôÐÔµã: freePoint=%s,addFreePoint=%s,curLV=%s,updFreePoint=%s(t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_AddPointR    tGetFuncEvalCfgRtGetTitleAddExtraPointtGetLVtitemstmint GetFreePointt SetFreePointt    GameWorldtDebugLog(    Rt addPointDictt titleAddPointtcurLVt addFreePointtrangLVstpointt    freePointt updFreePoint((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR$˜s$  + 
     cCsætjƒj|dƒ}|dkr9tjd|ƒdStj||ƒsOdStj||ƒsvtjd|ƒdS|j    ƒ}|j
|ƒr¦tjd|ƒdS|j |ƒt j ƒj||ƒtj|ƒj|dƒdS(Nis#__GiveSkill() hasn't find skill(%s)s4__GiveSkill() learn skill(%s) condition isn't enoughs$__GiveSkill() have learned skill(%s)i(R5t GetGameDatatFindSkillByTypeRR6t SkillCommont CheckSkillJobt
SkillShelltCheckLearnSkillConditiontGetSkillManagertFindSkillBySkillTypeIDtLVUpSkillBySkillTypeIDtPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEffRtRefreshSkillFightPowerEx(Rt
skillResIDt    skillDatat skillManager((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR ¯s"   cCs‹|jƒ}t}xB|D]:}|jƒ}|j|ƒs@qn|j|ƒt}qW|sadStjƒj|ƒt    j    |ƒj
ƒdS(N( RRRERFtDeleteSkillBySkillTypeIDRRHRIRJRtRefreshAllSkill(RR&R'tisDelRLRN((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt
__DelSkillÈs    
tcCsT|dkrdS|dkr dS|jƒ}|j|ƒ}|dkrKdS|jƒ|krjt|ƒntj|tj|dƒ|j    |ƒ|j
|ƒt |ƒ}|rÀt ||ƒnt j|tji|d6ƒtj||dƒ|rt|ƒtj|ƒ}|jƒn|dkrPtj||jƒgg||gƒntS(NiRRS(RRRt GetCurGradIDtPlayerTakeOffDienstgradRtNomalDictSetPropertytChConfigtDef_PDict_TitleStarRtSync_PlayerDelDienstgradR RRtDataRecordPacktCache_FightPowerChangeInfotPowerDownType_TitleR!R"RRt SendMailByKeyt GetPlayerIDR(RRR t
notifyMailRRR&R((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRás2        
  (cCse|jƒ}|j|ƒ}|dkr+dS|jƒ}||krGdS|j|ƒ|j|ƒdS(N(RRRRTt SetCurGradIDtNotify_PlayerChangeDienstgrad(RRRRt curOldGradID((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytPlayerFitOnDienstgrads      cCsF|jƒ}|jƒ}|dkr(dS|jdƒ|jdƒdS(Ni(RRTR`Ra(RRRb((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRU&s     cCs9|jƒ}|jƒ}|dkr(tS|jdƒtS(Ni(Rt GetUseGradIDRt SetUseGradIDR(RRRb((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUnUseDienstgrad4s     cCsX|jƒ}|j|ƒ}|dkr+tS|jƒ}||krGtS|j|ƒtS(N(RRRRRdReR(RRRRRb((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt UseDienstgradCs     cCs"tjƒj|ƒ}t||ƒS(N(R5tGetPlayerManagertGetPlayerByIndexR(tindexRR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRYscCs"tjƒj|ƒ}t||ƒS(N(R5RhRiR(RjRR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRascCs&tjƒj|ƒ}t||ƒdS(N(R5RhRiR(RjRR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt DelDienstgradiscCs&tjƒj|ƒ}t||ƒdS(N(R5RhRiRc(RjRR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytFitOnDienstgradrscCs#tjƒj|ƒ}t|ƒdS(N(R5RhRiRU(RjR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytTakeOffDienstgradys
cCs3tjƒj|ƒ}|dkr%dSt|ƒdS(N(R5RhRiRtSync_AllDienstgradOnLogin(RjttickR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnCPlayerDienstgradRefresh…s
 
cCs7|jƒ}|jƒ|j|jƒƒt|ƒdS(N(RtSync_AllDienstgradRaRTtSyncTitleStarInfo(RR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRns
 
 
cCsdS(N((Rjt
clientDataRo((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytUseDienstgradPackžscCsbtjƒ}|jƒ}|jƒ}|dkr>t|ƒdS|rTt||ƒn
t|ƒdS(Ni(t IPY_GameWorldtIPY_CPlayerChangeDienstgradt    GetGradIDtGetStateRmRl(RjRotsendPackt    curGradIDt curGradState((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnCPlayerChangeDienstgradºs    
cCsttjƒj|ƒ}|jƒ}|j}|jtj|ƒ}|d}tj    d||ƒ}|sƒtj
d||f|ƒdS|j ƒ}    |    s™dS|j ƒj tjƒ}
tj|    |
ƒ\} } | rótj
d|||    | f|ƒdStj||
| dƒtj|tj||ƒtj
d|||f|ƒt|ƒtj|ƒ} | jƒt||ƒdS(Nit TitleStarUps1³ÆºÅ²»´æÔÚ¸ÃÐǼ¶£¬ÎÞ·¨ÉýÐÇ. titleID=%s,curStar=%ssM³ÆºÅÉýÐÇËùÐèÎïÆ·²»×㣡 titleID=%s,nextStar=%s,needItemList=%s,lackItemDict=%ss+³ÆºÅÉýÐÇ. titleID=%s,curStar=%s,nextStar=%s(R5RhRiR^tTitleIDtNomalDictGetPropertyRWRXR    R
R6tGetStarUpNeedItemListtGetItemManagertGetPackRutrptItemt
ItemCommontGetCostItemIndexListt DelCostItemRRVRRRr(RjRsRoRtplayerIDttitleIDtcurStartnextStart nextIpyDatat needItemListtitemPackt lackItemDictt delInfoDictR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt OnTitleStarUpÑs4     
     
 
 cCs|jƒ}|j|ƒ}|dkr5td|fS|dkrd|jtj|ƒ}|d}n|}|dkr¢tjd||ƒs¢td||ffSnt    j
|tj||ƒt j d||f|j ƒƒt|ƒt    j    |ƒ}|jƒt||ƒtdfS(Ns,The player has not activated the titleID(%s)iiR}s&The titleID(%s) star(%s) is not exist.s%GMÉèÖóƺÅÐǼ¶: titleID=%s,setStar=%sRS(RRRRRRWRXR    R
RRVR5tLogR^RRRrR(RRˆtsetValueRRR‰tsetStarR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGMSetTitleStaròs$      
 
 cCsgg}|jƒjƒ}xHt|ƒD]:}|jƒj|ƒ}|dkrRq%n|j|ƒq%W|S(Ni(RtGetCounttxrangetAtGradIDtappend(RttitleActiveListtgradCnttiRz((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGetDienstgradActiveInfos cCsži}|jƒ}|jƒ}xyt|ƒD]k}|j|ƒ}|dkrRq+nt|ƒ}|dkrpq+n|jƒ}|j|dƒd||<q+W|S(Nii(RR•R–R—R RtGetTypetget(RtactiveTypeCountDicttdienstgradManagerRšR›RzR&tcurType((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt GetDienstgradActiveTypeCountInfos      cCsÚgtdƒD] }i^q }gtdƒD] }i^q,}d}|jƒ}|jƒ}x5t|ƒD]'}|j|ƒ}|dkrqint|ƒ}    |    dkr®qin||    jƒ7}|    jƒ}
|    j    ƒ} x1t
|
ƒD]#\}} t j | | ||ƒqãW|j tj|ƒ} tjd|| ƒ}|ri|jƒ}|jƒ}x:t
|ƒD])\}} ||}t j | ||ƒq`WqiqiWt j|tj|ƒt j|tj|ƒt j|tj|ƒdS(NiiR}(trangeRR•R–R—R RtGetInitFightPowert GetLightTypetGetLightAttributet    enumerateRtCalcAttrDict_TypeRRWRXR    tGetIpyGameDataNotLogtGetStarAttrTypetGetStarAttrValuetSetMFPExFightPowerR,tDef_MFPType_DienstgradtSetCalcAttrListValuetDef_CalcAttrFunc_DienstgradtDef_CalcAttrFunc_TitleStar(RR›t allAttrListt_tallAttrListStart    initFPAddR RšRzR&t attrTypeListt attrValueListtattrIDR‰t starIpyDatat starAttrTypet starAttrValuet    attrValue((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyR+s:         
cCsdS(N((R((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytOnDayTsc
Cs*|jƒjƒ}g}xçt|ƒD]Ù}|jƒj|ƒ}|sLq%n|jƒ}|dkrjq%nt|ƒ}|dkrˆq%n|jƒ}|s»|jƒ}|dkr»q%q»n|jƒj|ƒ}t    j
|ƒ}    |    |krñq%n|j |ƒq%Wx!|D]}t ||ddƒq    WdS(NiR_t TitleTimeout( RR•R–tAtRwR Rt GetExpireTimet AtCreateTimeR5tGetPastSecondsR˜R(
RRšt needClearListR›tcurGradRzR&t curExpireTimet curCreateTimet pastSeconds((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytCheckDienstgradTimeoutZs2             cCsjtjdƒ}tj|ƒ}|j|ƒ}|sH|jdgƒ}nx|D]}t||ƒqOWdS(NtFirstLogin_GiveDienstgradi(t ReadChConfigtGetEvalChConfigR5tGetPlayerPlatformRžR(RtdienstgradIDDictt platFormNametdienstgradIDListR((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pytGiveFirstLoginDienstgrads c CsDt}|dkr$t}|g}nQg}tjƒ}x<t|jƒƒD](}|j|ƒ}|j|jƒƒqIW|sdSg}xm|D]e}|j    t
j |ƒ}| r¼| r¼qŒnt j ƒ}    |    jƒ||    _||    _|j|    ƒqŒW|sÿdSt jƒ}
|
jƒ||
_t|
jƒ|
_tj||
ƒdS(Ni(RRR    tIPY_DataR£tGetDienstgradCounttGetDienstgradByIndexR˜tGetIDRRWRXtChPyNetSendPackttagMCTitleStartClearR~tStarttagMCTitleStarInfot TitleStarListtlentCountt NetPackCommont SendFakePack( RRˆtforcet
syncIDListt
ipyDataMgrRjtipyDatat titleStarListR‰tstarInfot
clientPack((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyRrs:     
         
    (2t__doc__R5RRuRWRÉR    RARCRHRZR!R*R,RÔRÜR„ttimeRR RRRR$R RRRRcRURfRgRRRkRlRmRpRnRtR|RRR”RœR¢RR¼RÇRÏRr(((sT.\\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerDienstgrad.pyt<module>s^                                     F            2                                                             !              )        '