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
8hc@sƒddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Z d „Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d„Z)d„Z*e+e+d„Z,e+d„Z-dd„Z.d„Z/d„Z0e+d„Z1de2d„Z3d„Z4d „Z5d!„Z6d"„Z7d#d$„Z8d%„Z9d&„Z:d'„Z;d(„Z<d)„Z=d*„Z>dS(+iÿÿÿÿNcCstjddiƒS(NtVIPLVi(t IpyGameDataPYtGetFuncEvalCfg(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetVIPLvUpExp,scCstjddƒS(NRi(Rt
GetFuncCfg(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetVIPDayExp/scCs%tjddiƒ}|j|dƒS(NtVIPPriceii(RRtget(tcardTypet    priceDict((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetVIPPrice2scCs%tjddiƒ}|j|dƒS(NRii(RRR(RttimeDict((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt
GetVIPTime6scCstjddiƒ}|S(NtVIPTitlei(RR(t    titleDict((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetVIPTitle:scCs&tjddƒ}|d}t|ƒS(NtVIPLimitii(RRt
GetSeconds(tmaxDaytmaxHour((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetVIPMaxTime>s
cCs |ddS(Ni<((thour((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRCscCstjddƒ}|S(NRi(RR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytGetMailMessageFscCs%tjddiƒ}|j|dƒS(NRii(RRR(RtbuyDict((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytGetFirstBuyExpJscCsdS(N((tindext
clientPackttick((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytBuyVipLVWscCs­|jƒ}|dkrdStƒ}x|jƒD]s\}}||krNPn|jƒj|ƒ}|dkr2tj||ƒtj    d|||f|j
ƒƒq2q2WdS(Nis:CheckVIPDienstgrad playerVIPLV=%s,vipLV=%s,dienstgradID=%s( tGetVIPLvRtitemstGetDienstgradManagert GetDienstgradtNonetPlayerDienstgradtPlayerAddDienstgradt    GameWorldtDebugLogt GetPlayerID(t    curPlayert playerVIPLVtvipDienstgradDicttvipLVt dienstgradIDt curDienstgrad((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytCheckVIPDienstgradˆs            !c Cs®tjƒj|ƒ}|j}tjd|ƒ}|sKtjd|ƒdS|jƒ}||krxtjd|ƒdS|jt    j
ƒ}|t d|ƒ@}|r¸tjd|ƒdS|j ƒ}    t |jƒƒ}
|
|    krtjd|
t |    ƒfƒdS|    |
} t| ƒ} tj|tj| ƒ} | | krZtj|dtjgƒdS|jƒ}i|d6}tj|tj|t    j|ƒs©tjd    |ƒdS|d
|>B}tj|t    j
|ƒtjd | ƒx^| D]V\}}}tj|t|ƒt|ƒd tjtjgd dti|d6gƒqåWtj || dƒtj!dd
iƒj"|d ƒ}tj#d d|j$ƒ|| d d |gƒt%|ƒdS(NtVIPAwardsûÓÐvipµÈ¼¶Îª%sµÄÀñ°üsVIPµÈ¼¶²»×ã--VIPLV:%sis)vipµÈ¼¶Îª%sµÄÀñ°üÒѾ­¹ºÂò¹ý£¬²»ÄÜÖØ¸´¹ºÂòs Ã»ÓиÃÖ°ÒµµÄÀñ°üÐÅÏ¢-Ö°Òµ:%s--%stGeRen_chenxin_676165RsÏÉÓñ²»×ã!costGold=%sis
vipÀñ°ü-%siteventt
BuyVIPGifttVIPPanel(&R$tGetPlayerManagertGetPlayerByIndexRRtGetIpyGameDataR%RtNomalDictGetPropertytChConfigtDef_Player_Dict_VipAwardRecordtpowt    GetItemIDtstrtGetJobtlent
ItemCommontGetItemPackSpacet IPY_GameWorldtrptItemt PlayerControlt
NotifyCodetGetPricetPayMoneytTYPE_Price_Gold_MoneytDef_Cost_BuyVIPItemtNomalDictSetPropertyt ItemControlertGivePlayerItemtintt rptAnyWheretFalsetNotifyGiveAwardInfoRRt WorldNotifytGetNametSycn_VIPAwardRecord(RRRR'R*tawardMsgtcurVipLVtrecordthasBuyt tatalItemDictt    playerJobtitemListt    needSpacet    packSpacet    itemPricetinfoDicttitemidtcnttisBindtopenuiid((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt
BuyVIPItemžsT        
    !0!-
cCsPtƒ}tj|ddf}|d}tjd|||jƒg|ƒdS(Niti(Rt ShareDefinetDef_MailFormatRBtSendMailR&(R'tmailItemInfoListt MailMessagetcontenttgetDays((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt__AwardToPlayerByMailÏs    
cCs/t|ƒt|ƒt|tƒt|ƒdS(N(t Sycn_VIPMsgRQt Sycn_VIPTimetTruetSyncVIPKillNPCLVInfo(R'R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt    DoOnLoginØs
 
 
 
cCsdS(N((R'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytVipOnDayâscCs.|jdƒ}|ddd}tj|ƒS(Ns is00:00:00(tsplitR$tChangeTimeStrToNum(tstrTickttickListt
newStrTick((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt GetZeroTimeøscCs—|jƒ}||kr/tjdƒtdfStƒ}||kr^tjd|ƒtdfS||}|jtj    ƒ}||}t
||ƒ|fS(NsÒѾ­´ïµ½¸ÃVIPµÈ¼¶£¡²»ÐèÒª´¦Àíis"ûÓиÃVIPµÈ¼¶£¬ÎÞ·¨Ö±Éý! tagVIPLV=( RR$R%RmRtErrLogRMR6R7tDef_Player_Dict_VipExpt    AddVIPExp(R'ttagVIPLVtbefVIPLVt
vipExpDictt    tagVIPExptvipExptaddExp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt UpgradeVIPLVþs   
     
 
 
cCsq|dkrdS|jtjƒ|}|jƒ}|d}tƒ}tj|tj|ƒ||krŠtjd|dƒt    |ƒdSx|||kr|||kr|j
|ƒtj |t t j ƒƒƒt||ƒtj|tjd|gƒ|d7}qWtjd|jƒ||fƒt    |ƒ|sFt|ƒntj|di|jƒd6|d6ƒtS(NiisvipÒѾ­Âú¼¶--vipLV:%ssVIPµÈ¼¶--%s,addExp--%s,¾­Ñé--%st    addVIPExptViplvtVipExp(R6R7RxRRRBRHR$R%RktSetVIPLvtSetVIPLVUpTimeRKttimet OnChangeVIPLvt PlayerSuccesstDoAddSuccessProgressRctSuccType_VIPLVRltDataRecordPackt DR_VIPChangeRm(R'texpR~tpreVIPLVR*R|((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRy s.  
     
   
 'cCs—t|ƒt|ƒtj|ƒtjddiƒj|dƒ}|r[tj||ƒnt    j
|ƒ|j ƒs“t j |tjƒjƒƒndS(NtVIPRedPackAwardii(R-tRefreshVIPAttrt EventReporttWriteEvent_VIPRRRtPlayerFamilyRedPackettCreatRedPacketByIDt GameFuncCommtDoFuncOpenLogictGetTeamt
PlayerTeamtRefreshTeamVIPBuff_OnNoTeamR$t GetGameWorldtGetTick(R'R*t redPacketID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyR‡)s
 
 !  cCsItjƒ}|jtjƒ|_tjd|jƒtj    ||ƒdS(Ns ÁìÈ¡¼Ç¼!--%s(
tChPyNetSendPackttagMCVIPAwardMsgR6R7R8tAwardMsgR$R%t NetPackCommont SendFakePack(R'tpack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRQ?s cCsDtjƒ}|jtjƒ|_|jƒ|_tj    ||ƒdS(N(
Rt tagMCVIPInfoR6R7RxtExpRRR R¡(R'R¢((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRkHs cCsktjƒ}t||ƒ|_t||ƒ|_|jdksT|jdksT|rgtj||ƒndS(Ni(RttagMCNotifyVipTimet GetCurVIPTimetTimetGetVIPExperienceTimetExperienceTimeR R¡(R'tislogintisForceR¢((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRlOs
 $cCsdS(Ni((R'Rª((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyR¦Wst
buyVIPTimecCstS(N(Rm(R'taddTimetaddType((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt
AddVIPTimesscCs…|jƒr tj|dƒdStj|tjtjƒj    ƒt
ƒtj |tj t tjƒƒƒt|ƒtj|dƒtS(Nt VipCardHint2t VipCardHint1(RRBRCtPlayerMagicWeapont    GiveSkillR7tDef_SkillID_LFZR$RšR›RMRHt&Def_Player_Dict_VipExperienceStartTimeRKR†RlRm(R'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytUseItemVIPExperience™s %"
cCs|jtjƒ}|sdStj|tj|ƒs8dSt|ƒstj|tjdƒ|j    ƒdkrtj
|dƒnt |dt ƒtj d|jƒƒ|jƒ}|jtjƒr|jtjƒtjƒj|ƒtj|ƒjƒt SndS(NitVipTiyan_TimeoutR«s    VIPÌåÑ鿨½áÊø£¡(R6R7RµR$tCheckPlayerTicktTYPE_Player_Tick_VIPExperienceR¨RBRHRRCRlRmR%tGetIDtGetSkillManagertFindSkillBySkillTypeIDR´tDeleteSkillBySkillTypeIDtPassiveBuffEffMngtGetPassiveEffManagertRegistPassiveEfftRefreshAllSkill(R'Rt    startTimet skillManager((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytCheckVIPExperience§s$  cCsp|jtjƒ}|sdS|jƒr,dSttjƒƒ}tjddƒ}|||krddS|||S(Nit VIPExperiencei(R6R7RµRRKR†RR(R'tisLoginRÂtcurTimetexperienceTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyR¨Ås c    Csä|s
dSt}|dkr%|}nEt|ƒr^t}tjddƒ}|j|dƒ}n |jƒ}tjd|ƒ}|s†dSt|d|ƒƒ}|s¦|S|ràt    |ƒdkrà|dkrà| rà|j
ƒ}n|S(NiiÿÿÿÿRÅit VipPrivilegesGetVIP%d( RMR¨RmRRRRR5tgetattrR¦tGetVIP0(    R't privilegeIDt playerVipLvt isCheckTimet isExperienceR*tVIPExperiencePrivilegeDicttvipMsgtpriVlaue((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytGetPrivilegeValueØs&       +cCstjd|ƒS(NRÉ(RR5(RÌ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytGetVipPrivilegeDatañscCs!t|ƒtj|ƒjƒdS(N(t CalcVIPAttrRBtRefreshPlayerAttrState(R'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyR÷s
cCs¿gtdƒD] }i^q }tjddƒ}tj||ƒr¥t|ƒ}tjd|ƒ}|r¥tjt    j
|j ƒ|ƒtjt    j |j ƒ|ƒq¥ntj|tj|ƒdS(Nit VIPAddAtkEXPit
VIPKillNPC(trangeRRR²tGetIsActiveMagicWeapontGetVIPKillNPCLVR5RBtCalcAttrDict_TypeRctDef_Effect_MinAtkt GetAddMinAtktDef_Effect_MaxAtkt GetAddMaxAtktSetCalcAttrListValueR7tDef_CalcAttrFunc_VIP(R't_t allAttrListtmwIDtkillLVt killLVIpyData((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRÕüs "cCsbtjƒj|ƒ}|j}|jtj|ƒ|rDt|ƒntjd||j    ƒƒdS(Ns VIPɱ¹ÖµÈ¼¶ÐÅϢͬ²½¿ª¹Ø, isOn=%s(
R$R3R4tIsOntSetDictR7t"Def_PlayerKey_SyncVIPKillNPCLVInfoRnR%R&(RRRR'tisOn((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytOnVIPKillNPCLVInfoSwitchs     ic    Csøtjddƒ}| s,tj||ƒ r0dSttjddƒƒ}||9}|s\dSt|ƒ|}t|ƒ}tjƒj    ƒ}|}||krºt
||||ƒ\}}nt ||ƒ}|j t jƒsç||krôt|ƒndS(s: »÷ɱNPCÔö¼ÓVIPɱ¹ÖµÈ¼¶¾­Ñ飬ֻËã»÷ɱµÄ£¬¶ÓÔ±»÷ɱÎÞЧ
    R×iNi(RRR²RÚtevaltGetFuncCompileCfgtGetVIPKillNPCLVExpRÛtIPY_DatatGetVIPKillNPCCountt__DoVIPKillNPCLVUptSetVIPKillNPCLVExpt GetDictByKeyR7RêRn(    R'tnpcLVt    killCountRåRttotalKillLVExpt    befKillLVt    maxKillLVt    aftKillLV((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytDoAddVIPKillLVExps"
   cCsì|}tjd|ƒ}|rÉ|jƒtj|jƒ}x‹|rÅ||krÅ||8}|d7}tj|tj|ƒ||krŠPntjd|ƒ}|r>|jƒtj|jƒ}q>q>Wn||krât    |ƒn||fS(NRØi(
RR5t GetLVExpPointR7tDef_PerPointValuetGetLVExpRBRHtDef_Player_Dict_VIPKillLVR(R'RøRùR÷RúRçt lvUPNeedExp((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRò<s 
 
 '  cCstd|jtjƒƒS(Ni(tmaxR6R7Rÿ(R'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRÛTscCs3|jtjƒ}|jtjƒ}|tj|S(N(R6R7tDef_Player_Dict_VIPKillLVExpt!Def_Player_Dict_VIPKillLVExpPointRý(R'RtexpPoint((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRïVscCs\t|tjƒ}|tj}|tj}tj|tj|ƒtj|tj|ƒ|S(N(tminR7t Def_HugeValueRýRBRHRR(R'R÷tupdExpt updExpPoint((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRó[s   cCsYtjƒ}t|ƒ|_|jtjƒ|_|jtjƒ|_    t
j ||ƒdS(N( RttagMCVIPKillNPCLVInfoRÛtKillLVR6R7RtKillLVExpPointRt    KillLVExpR R¡(R't
killLVInfo((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyRncs  cCsPtjƒj|ƒ}||jdƒdkr2dS|jd|ƒ|jƒdS(NtQRticki'(R$R3R4RôRétSendDBQueryRecharge(RtpackDataRR'((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pytOnQueryRechargeus 
(?RBR$R7R RRIR@R"R²RˆRcR>R‹Rt    NPCCommonR‘R¾R“R•R˜tChPlayerR†RRR
R RRRRRRR-RaRjRoRpRvR€RyR‡RQRkRMRlR¦R¯R¶RÄR¨RmRÓRÔRRÕRìRûRòRÛRïRóRnR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerVip.pyt<module>sx                                                               1        1            
                                  &