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
 –Fgc@sÏddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZedƒ\ZZZZd„Zd„Zd„Zd„Zd„Zd„Z d    „Z!d
„Z"d „Z#d „Z$d „Z%d„Z&e'd„Z(d„Z)d„Z*e'e+d„Z,d„Z-d„Z.dS(iÿÿÿÿNicCstS(N(tTrue(t    curPlayer((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytDoOfficialOpen3scCs%t|ƒt|tƒt|ƒdS(N(tSyncRealmFBStatetUpdateRealmExptFalsetNotifyRealmExpInfo(R((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytOnLogin;s
 
cCstjd|ƒS(NtRealm(t IpyGameDataPYtGetIpyGameData(trealmLV((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytGetRealmIpyDataBscCsdS(N((tindext
clientDatattick((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyt OpenRealmFBKsc Csa|jtjƒ}|td|ƒ@rCtjd||jƒƒdStjd|ƒ}|s_dS|j    ƒ}|j
ƒ}d}|dkr·|}|jtj |ƒdkr¯|}q¯nø|dkrØ|jtj ƒ}n×|dkr|jtj tjƒ}n¯|dkr!|jtjƒ}nŽ|dkritj}|}    tj|tj|    t|gƒr¯|}q¯nF|d    kr‘|jtjtjƒ}n|d
kr¯tj|ƒ}n||kråtjd ||||f|jƒƒdS|jƒ}
tj||
dƒs
dS|td|ƒB} tj|tj| ƒtjd || f|jƒƒt|ƒdS( Nis%ÒÑÁìÈ¡¹ý¾³½çÐÞÏÉ֮·¸Ã½±Àø, taskID=%st    RealmXXZLiiiiiiisR¾³½çÐÞÏÉ֮·µ±Ç°ÈÎÎñËùÐèÖµ²»Âú×㣬ÎÞ·¨Áì½±, taskID=%s,taskType=%s,curValue=%s < %ss1ÁìÈ¡¾³½çÐÞÏÉ֮·½±Àø, awardID=%s,updAwardState=%s(tNomalDictGetPropertytChConfigtDef_PDict_RealmXXZLAwardtpowt    GameWorldtDebugLogt GetPlayerIDR    R
t GetTaskTypet GetNeedValuetDef_PDict_MagicWeaponLVtDef_Player_Dict_SkyTowerFloortDef_PDict_Boss_KillCntTotalt ShareDefinetDef_Boss_Func_WorldtDef_PDict_ActivityCountTotaltDef_FBMapID_PersonalBosstGetDictValueByBitt"Def_Player_Dict_PlayerFBStar_MapIdRtDef_Player_Dict_EnterFbCntTotaltDef_FBMapID_MunekadoTrialt PlayerControltGetTotalLingGenPointtGetAwardItemListt
ItemCommont GiveAwardItemtNomalDictSetPropertyR( RttaskIDt
awardStatetipyDatattaskTypet    needValuetcurValuet magicWeaponIDtmapIDtlineIDt awardItemListt updAwardState((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyt GetXXZLAwardNsR            !          
cCsttjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ t j ||ƒdS(N(tChPyNetSendPackttagMCSyncRealmInfoRRtDef_PDict_RealmFBIsOpentIsPassRtXXZLAwardStatetDef_PDict_RealmLVUpAwardStatetRealmLVUpAwardStatetDef_PDict_RealmLVUpCutTreeCnttRealmLVUpCutTreeCntt NetPackCommont SendFakePack(RtsendPack((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyRŒs cCsÁtj|tjƒsdS|jƒ}t|ƒ}|s;dS|jƒ|jƒ}}gtdƒD] }i^qa}x1t    |ƒD]#\}}t
j ||||ƒq€Wt
j |t j|ƒdS(Ni(t GameFuncCommt GetFuncCanUseRtGameFuncID_OfficialtGetOfficialRankR tGetAddAttrTypet GetAddAttrNumtranget    enumerateR&tCalcAttrDict_TypetSetCalcAttrListValueRtDef_CalcAttrFunc_Prestige(Rt
curRealmLVt realmIpyDatat addAttrIDListtaddAttrValueListtit allAttrListtattrID((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytCalcOfficialRankAttrs  cCs!t|ƒtj|ƒjƒdS(N(RVR&tRefreshPlayerAttrState(R((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytRefreshOfficialAttrµs
cCs‘|jƒ}t|ƒ}|s"dS|jƒ}|s8dS|jtjƒ}||krZdSt|||ƒ}tj|tj|ƒt    |ƒdS(N(
RGR tGetNeedCutTreeCntRRR?tminR&R+R(RtaddCntRORPtNeedCutTreeCntt
curTreeCntt updCutTreeCnt((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytAddRealmLVUpCutTreeCntºs    
cCsÎ|jtjƒ}|td|ƒ@rCtjd||jƒƒdS|jƒ}t|ƒ}|sedSd}|t
krÈ|j ƒ}|j ƒ}||kr¹tjd|||fƒdS|j ƒ}na|tkrK|jƒ}| sùt|ƒdkrýdS|\}    }
tj||    |
ƒs<tjd||    |
fƒdS|jƒ}nÞ|tkr¸|jƒ} | smdS|jtjƒ} | | kr©tjd|| | fƒdS|jƒ}nq|tkr%|jƒ} | sÚdS|jtjƒ}|| krtjd||| fƒdS|jƒ}ndS| sBt|ƒdkrFdS|\}}tj|||dggƒstdS|td|ƒB}tj|tj|ƒtjd|||f|jƒƒt |ƒdS(    Nis)¾³½ç¶É½ÙÌõ¼þÁì½±£¬ÒÑÁìÈ¡¹ý! awardIndex=%ss:¾³½ç¶É½ÙÌõ¼þÁì½±£¬µÈ¼¶²»×ã! curRealmLV=%s,playerLV=%s < %ss>¾³½ç¶É½ÙÌõ¼þÁì½±£¬¸±±¾Î´¹ý¹Ø! curRealmLV=%s,mapID=%s,lineID=%ss<¾³½ç¶É½ÙÌõ¼þÁì½±£¬ÏÉÊ÷µÈ¼¶²»×ã! curRealmLV=%s,treeLV=%s < %ss@¾³½ç¶É½ÙÌõ¼þÁì½±£¬¿³Ê÷´ÎÊý²»×ã! curRealmLV=%s,cutTreeCnt=%s < %sis@¾³½ç¶É½ÙÌõ¼þÁì½±OK! curRealmLV=%s,awardIndex=%s,updAwardState=%s(!RRR=RRRRRGR tNonetRealmLVUpAward_LVtGetLVt    GetNeedLVtGetLVAwardItemtRealmLVUpAward_PassMaptGetNeedPassMaptlentFBCommontIsFBPasstGetPassMapAwardItemtRealmLVUpAward_TreeLVt GetNeedTreeLVtDef_PDict_TreeLVtGetTreeLVAwardItemtRealmLVUpAward_CutTreeCntRYR?tGetCutTreeAwardItemR)R*R&R+R(Rt
awardIndexR-RORPt awardItemInfotplayerLVtNeedLVt NeedPassMapR3R4t
NeedTreeLVttreeLVR\t
cutTreeCnttitemIDt    itemCountR6((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytGetRealmLVUpTaskAwardÊsl                #
cCsÜtjƒj|ƒ}|jƒ}t|ƒ}|sHtjd|ƒdS|jƒr†|jtj    ƒdk}|s†tj
dƒdSn|jtj ƒ}|j ƒ}|t dtƒ@sÌtj
d|ƒdStj|ƒ}    tj|ƒ}
|
|    krtj
d|||
|    fƒdS|jƒ} | rT|t dtƒ@sTtj
d|ƒdSn|jƒ} | r‘|t dtƒ@s‘tj
d|ƒdSn|jƒ} | rÎ|t dtƒ@sÎtj
d    |ƒdSnt|ƒdS(
NsûÓиþ³½çµÈ¼¶Êý¾Ý! Lv=%sis    ¸±±¾Î´¹ý¹Ø£¬²»ÄÜÉý¼¶¾³½çis/µÈ¼¶Ìõ¼þ½±ÀøÎ´ÁìÈ¡£¬²»ÄÜÉý¼¶¾³½ç! curRealmLV=%ssJµÈ¼¶Ìõ¼þ¾­ÑéδÂú£¬²»ÄÜÉý¼¶¾³½ç! curRealmLV=%s,playerLV=%s,totalExp=%s < %ss/¹ý¹ØÌõ¼þ½±ÀøÎ´ÁìÈ¡£¬²»ÄÜÉý¼¶¾³½ç! curRealmLV=%ss3ÏÉÊ÷µÈ¼¶Ìõ¼þ½±ÀøÎ´ÁìÈ¡£¬²»ÄÜÉý¼¶¾³½ç! curRealmLV=%ss3¿³Ê÷´ÎÊýÌõ¼þ½±ÀøÎ´ÁìÈ¡£¬²»ÄÜÉý¼¶¾³½ç! curRealmLV=%s(RtGetPlayerManagertGetPlayerByIndexRGR tErrLogt    GetBossIDRRR:RR=RbRRaR&tGetTotalExpByPlayerLvtGetPlayerTotalExpRfReRlRkRYRotDoRealmLVUpLogic(R RRRRORPtcanLvUpR-Rst totalExpNeedttotalExpRuRvR\((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyt DoRealmLVUpsL         
cCsttj|tjƒsdS|jƒ}tjddƒ}|dkrp||}tj|d|ƒ|j    |ƒndS(Nt LVUPAddPointiit    RealmLVUp(
RDRERtGameFuncID_AddPointt GetFreePointR    t
GetFuncCfgtDataRecordPackt DR_Freepointt SetFreePoint(Rt curFreePointtaddPointt setFreePoint((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyt__DoRealmLVUpAddPointEs  
c    Cs†|jƒ}|d}tjd|ƒt|ƒ}|s=dS|j|ƒt|ƒtj|ƒtj    |t
j dƒtj    |t
j dƒtj    |t
j dƒtj|ƒjƒ|rd|jƒ}|r9tjdd|jƒ|jƒ|tjdƒgƒt|ƒ}tjƒjdddd|t|ƒƒqdtjdd|jƒ|jƒ|gƒntj||jƒƒr’tjƒj|ƒn|jƒ}|rÛ|j ƒ|}|j!|ƒtjd||fƒnt"|ƒt#j$|ƒt%|ƒt&|t't(ƒt)|ƒt*j+|t,j-|ƒt.j/|t
j0dƒt1j2|ƒt3j4||ƒt5j6|t
j7ƒt8j9||ƒt(S(    Nis    Éý¼¶¾³½çnextRealmLv=%sitBigRealmUpSuccesst RadioExpRealmtRealmUpAddBufftRealmUpSuccesss#    addFreePoint=%s,updFreePoint=%s(:RGRRR tSetOfficialRankR’t PlayerGubaotDoGubaoAddFreePointR&R+RR:R=R?t
PlayerLvUpt    GetBuffIDt WorldNotifytGetNametGetIDR    R‹tstrR|tGameServer_QueryPlayerResultRgt SkillCommontGivePlayerSkillByJobSkilltGetLearnSkillIDInfotPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEffSettGetAddFreePointRŠRŽRXRDtDoFuncOpenLogicRRRRRt PlayerSuccesstUptateSuccessProgressRtSuccType_RealmlvUptPlayerTongTianLingtAddTongTianTaskValuetTTLTaskType_RealmUptPlayerBillboardtUpdateRealmBillboardt
EventShelltEventRespons_RealmUpt
PlayerTaskt UpdTaskValuetTaskType_RealmLVRŒt DR_RealmLVUp(    RtneedSysROt nextRealmLvtnextRealmIpyDatat    addBuffIDtmsgStrt addFreePointt updFreePoint((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyR‚TsN 
 
  4 ++  
 
 
 cCs:t|ƒ}|sdStj|tjdƒt|ƒdS(Ni(R R&R+RR:R(RR tstarRP((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytDologicDujieFBPasss  
cCsÞtjƒj|ƒ}|jƒ}t|tƒ}|dkrPtjd|ƒdStj|ƒ}|j|ƒtj    |d|gƒtj
|t j t tjƒƒƒtj
|t jdƒtj
|t jdƒt|ƒdS(Nis¾³½çÐÞΪ³ØÌáÈ¡ Ã»Óо­Ñé¿ÉÌáÈ¡tTakeOutRealmExp(RR|R}RžRRRR&tAddExpt
NotifyCodeR+RtDef_PDict_RealmExpBeginTimetintttimetDef_PDict_RealmExptDef_PDict_RealmExpPointR(R RRRtplayerIDtcurTotalRealmExpt playerControl((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytOnTakeOutRealmExpŸs   "
cCs|jƒ}t|ƒ}|s"dS|jƒs2dSttjƒƒ}|jtjƒ}|svtj    |tj|ƒdS|rt|dƒ}n|jtj
ƒ}|jtj ƒ}|tj |}    |    |j ƒkrÚ|    S||}
|
dkrô|    Stjdƒ} |jƒ} |jtjƒ} |jtjƒ}t| |
ƒ}|| | tj|tj|
|| | }|dkr‚|    Stj    |tj|ƒtj    |tj| |ƒt|    ||j ƒƒ}tj    |tj
|tj ƒtj    |tj |tj ƒ|rt|ƒn|S(Niit RealmExpTime(RGR t
GetExpRateRÄRÅRRRÃR&R+RÆRÇtDef_PerPointValuet GetExpLimitR    R‹t Def_PDict_RealmExpBuffRemainTimetDef_PDict_RealmExpBuffAddRateRZRtDef_MaxRateValueR(RtisNotifyt isRealmLVUPROR.tcurTimet    beginTimet curRealmExptcurRealmExpPointt curTotalExpt passSecondstperRealmExpTimet
curExpRatetbuffRemainTimet buffAddRatetbuffTimetaddExpt updTotalExp((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyR²sJ   
  0  cCs]t|tƒ|jtjƒ}tj|tj||ƒtj|tj|ƒt|ƒdS(N(    RRRRRÐR&R+RÑR(RtaddTimetaddRatet
remainTime((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pytAddRealmExpBuffTimeâs  
cCs‰tjƒ}|jtjƒ|_|jtjƒ|_|jtjƒ|_    |jtj
ƒ|_ |jtj ƒ|_ tj||ƒdS(N(R8ttagMCRealmExpInfoRRRÃt    BeginTimeRÐtBuffTimeRÑt BuffAddRateRÆtCurExpRÇt CurExpPointRARB(RRC((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyRìs (/R)RDR&R8RAt IPY_GameWorldR    RRRR©tChEquipR¯R¬R¤R˜R±RŒR¡R³RhRÅRJRaReRkRoRRR RR7RRVRXR_R{R†R’RR‚R¿RËRRRåR(((sqE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerPrestigeSys.pyt<module>sP                                                  >                    H    3     9        0