hxp
2025-10-22 790490ed761346c37f46dad61f52dafe61c1627b
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
èÞñhc@s0ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    d„Z
d„Z d„Z d„Z d„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZdS(iÿÿÿÿNcCsAx:tjD]/}|jtj|ƒs,q
nt||ƒq
WdS(N(tChConfigtInvestTypeListtNomalDictGetPropertytDef_PDict_InvestTimetSync_InvestInfo(t    curPlayert
investType((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytOnLogins
cCs$xtjD]}|jtj|ƒs,q
n|tjkr¶|jtj|dfƒ}t|ƒ}|r||kr|d7}tj|tj|df|ƒt    j
d|ƒqnY|tj krt ||ƒx:t tjƒD]&}tj|tj||fdƒqâWnt||ƒq
WdS(Niis¸üеǼͶ×Ê¿ÉÁì½±ÌìÊý½ø¶È: %s(RRRRtInvestType_LogintDef_PDict_InvestProgresst__GetInvestMaxDayst PlayerControltNomalDictSetPropertyt    GameWorldtDebugLogtInvestType_Lifet__GiveUnGetPerDayRewardtrangetDef_PDict_InvestKeyCounttDef_PDict_InvestRewardR(RRt progressValuetmaxDaystkeyNum((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytOnDay's  
  'cCs’|jƒ}ttjƒƒ}|jtj|ƒ}|sLt||ƒ}ntj||ƒ}|d}|dkr’tj    d||f|ƒdS|d }d}t
j d|d|ƒ}    |    sÆdS|    j ƒ}
d} |
j t| ƒgƒ} | súdSg} x1| D])\}}}| j||||gƒqWtj    d    |||| f|ƒtj|tj||ƒtjd
||g| |gƒdS( Niis3²»Óò¹·¢Í¶×Ê¿¨Ã¿ÈÕ½±Àø: investType=%s,rewardDays=%siitInvestidt1sWÓʼþ²¹·¢Í¶×Ê¿¨Ã¿ÈÕ½±Àø! investType=%s, rewardDays=%s, updRewardTime=%s, mailItemList=%ssInvestDayReward_%si€Q(t GetPlayerIDtintttimeRRtDef_PDict_InvestRewardTimet__GetInvestPassDaysR t GetDiff_DayRt IpyGameDataPYtGetIpyGameDatat    GetRewardtgettstrtappendR R t SendMailByKey(RRtplayerIDtcurTimetlastRewardTimetpassDayst
rewardDayst updRewardTimet rewardIndextipyDatat
rewardInfot    rewardKeytrewardItemListt mailItemListtitemIDt    itemCountt isAuctionItem((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyR>s8 
 
      cCsO|jtj|ƒ}|s dSttjƒƒ}tdtj||ƒdƒS(Nii(RRRRRtmaxR R(RRt
investTimeR(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyRes
cCs+tjddiƒ}|jt|ƒdƒS(Nt InvestMaxDayii(R tGetFuncEvalCfgR#R$(RtinvestMaxDayDict((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyR
mscCs$|jtj|ƒ}|s dSdS(Nii(RRR(RRR7((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytGetInvestStaterscCs/tjƒj|ƒ}|j}t||ƒdS(N(R tGetPlayerManagertGetPlayerByIndext
InvestTypetInvestByRealCTG(tindext
clientDatattickRR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt OnGoldInvests     cCs—tjddiƒ}t|ƒ|kr+dS|jƒ}|t|ƒ}|jtjƒ}||kr†tjd|||f|ƒdSt    ||ƒt
S(Nt
InvestCostis;ÕæÊµ³äÖµ¶î¶È²»×㣬ÎÞ·¨¼¤»î! investType=%s,realTotal=%s < %s( R R9R$RRRtDef_PDict_CTGRealTotalR Rt__DoLogicInvesttTrue(RRtneedRealCTGCoinDictR'trealNeedt    realTotal((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyR?‡s       cCsYtjddiƒ}x=|jƒD]/\}}||kr"t|t|ƒƒPq"q"WdS(NRDi(R R9titemsRFR(RtctgIDt ctgInvestDictRt    ctgIDList((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt InvestByCTG—s  c    Csšt||ƒdkr*tjd|ƒdSttjƒƒ}tj|tj||ƒxWt    tj
ƒD]F}tj|tj ||fdƒtj|tj ||fdƒqfW|tj krâtj|tj |dfdƒntjddiƒ}t|ƒ|krB|t|ƒ}tj||ddti|d6gƒntjdd    ||jƒt|ƒgƒtjd
|ƒt||ƒtj|ƒdS( Nis#ÒÑͶ×Ê£¬ÎÞ·¨Öظ´Í¶×Ê! investType=%siRDiteventRRs BuyInvest_%ssͶ×ÊÀí²Æ³É¹¦: investType=%s(R;R RRRR R RRRRRR    RR R9R$t ItemControlertGivePlayerItemOrMailRGt WorldNotifytGetNamet__GetTotalGetGoldRtSync_ExpRateChange(RRR(Rt awardItemDicttawardItemListEx((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyRF s& $#))  c
Cs°d}tjƒ}x—t|jƒƒD]ƒ}|j|ƒ}|jƒ|krRq%n|jƒ}xG|jƒD]9}x0|D](\}}}    |dkrx||7}qxqxWqkWq%W|S(Niii(ii(R tIPY_DatatxrangetGetInvestCounttGetInvestByIndextGetTypeR"tvalues(
Rt    totalGoldt
ipyDataMgrR@R.t
rewardDictR/R3R4t_((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyRU¾s   cCsVd}t|tjƒrRtjddiƒ}|jt|ƒdƒ}||7}n|S(Nit InvestPoweri(R;RRR R9R#R$(Rt bossFuncIndext
addBossCnttlifeCardAddBossCntDicttlifeCardAddCnt((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt GetAddBossCntÍs  cCsVd}t|tjƒrRtjddiƒ}|jt|ƒdƒ}||7}n|S(NiRci(R;RRR R9R#R$(RtmapIDtaddFBCnttlifeCardAddFBCntDictRg((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt GetAddFBCntÖs  cCsVd}t|tjƒrRtjddiƒ}|jt|ƒdƒ}||7}n|S(NiRci(R;RRR R9R#R$(RRdt addBossBuyCntRfRg((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytGetAddBossBuyCntßs  cCsVd}t|tjƒrRtjddiƒ}|jt|ƒdƒ}||7}n|S(NiRci(R;RRR R9R#R$(RRit addFBBuyCntRkRg((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytGetAddFBBuyCntès  cCs5d}t|tjƒr1|tjddƒ7}n|S(Nit InvestPower2i(R;RRR t
GetFuncCfg(Rt fightExpRate((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytGetAddFightExpRateñscCs4x-tjddƒD]}t||ƒrtSqWtS(NRci(R R9R;RGtFalse(RR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytCanQuickFinishMissionFreeøsc Csˆt|tjƒdkrdSd}tj|ƒ}|sÜi}tjƒ}xlt|jƒƒD]X}|j|ƒ}|j    ƒtjkrŒq\n|j
ƒsžq\n|j ƒ||j
ƒ<q\Wtj ||ƒt jd|ƒn||krìdS||}|d|d}}    t j|tj|    t|gƒr0dSt j|tj|    dt|gƒ\}
} t||ƒt jd||    |
| fƒdS(NitBossInvestNPCIDDicts»º´æbossͶ×ʶÔÓ¦¹ØÏµ: %sidsNÉèÖÃɱ¹ýͶ×Êboss: npcID=%s,rewardIndex=%s,progressValue=%s,updProgressValue=%s(R;RtInvestType_BossR t GetConfigExRYRZR[R\R]t GetNeedNPCIDtGetIDt SetConfigExR tLogtGetDictValueByBitR    RGtSetDictValueByBitRR( RtnpcIDtkeyRwR`R@R.tinvestIDRR-RtupdProgressValue((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt
OnKillBossÿs6   
!*     c CsÌtjƒj|ƒ}|j}|j}tjd||fƒ|tjkrQdSt||ƒdkrwtjdƒdSt    j
d|d|ƒ}|s›dS|j ƒ}|rÔ|j ƒ|krÔtjd|ƒdStj |tj|t|gƒr
tjd|ƒdS|jƒ}|jƒ}    tj |tj|t|gƒ}
|tjtjgkršt||ƒ} || krDtjd|jƒ| fƒdSnª|tjkrï|jtj|d    fƒ} || krDtjd
|| fƒdSnU|tjkrnC|tjkr.|
sDtjd |ƒdSn|tjkr@ndS|sNdSd } |    jt| ƒgƒ}|svdStj||ƒsŒdStj|tj|dt|gƒ\}}t ||ƒtjd |||fƒ|tjkrt!j"|tj#|t$t%j%ƒƒƒnxE|D]=\}}}tj&||||t'j(gddt)igƒqWtj*||dƒt+j,||||ƒt-|ƒ}t    j.ddƒ}|dkrÈ||krÈt}xet/|ddƒD]Q}t    j0d|d|ƒsûqÕntj |tj|t|gƒsÕt)}PqÕqÕW|rÈt!j"|tj1|d    ƒxWt/tj2ƒD]F}t!j"|tj||fd    ƒt!j"|tj||fd    ƒqZWt ||ƒtjd|ƒqÈndS(Ns.ÁìȡͶ×ÊÀí²Æ»Ø±¨£ºinvestType=%s,rewardIndex=%sis    Î´Í¶×Ê»òÒѹýÆÚ£¬ÎÞ·¨Áì½±!Rids!    µÈ¼¶²»×㣬ÎÞ·¨Áì½±! needLV=%ss&    ÒÑÁìÈ¡¹ý¸ÃË÷Òý½±Àø! rewardIndex=%ss4    Í¶×ÊÌìÊý²»×㣬ÎÞ·¨ÁìÈ¡! needDay=%s > passDays=%sis9    µÇ¼Ͷ×ÊÌìÊý²»×㣬ÎÞ·¨ÁìÈ¡! needDay=%s > loginDays=%ss6    BossͶ×ÊÎÞ²ÎÓë»÷ɱ¸Ãboss£¬ÎÞ·¨ÁìÈ¡! rewardIndex=%sRs6    rewardValue=%s,updRewardValue=%s,rewardItemList=%sRPR8iiÿÿÿÿs'    ÁìÍê½±ÀøÁË£¬ÖØÖÃͶ×Ê! investType=%s(3R R<R=R>t RewardIndexRRRR;R R!t    GetNeedLVtGetLVR~RRGt
GetNeedDayR"R    tInvestType_NewMonthtInvestType_Month1RRRt InvestType_LVRxRR#R$RQtCheckPackSpaceEnoughRRR R RRRtGivePlayerItemt IPY_GameWorldtrptItemRutNotifyGiveAwardInfotDataRecordPacktDR_GetGoldInvestRewardR
R9RtGetIpyGameDataNotLogRR(R@RARBRRR-R.tneedLVtneedDayR/tindexProgressStateR*t    loginDaysR0R1t rewardValuetupdRewardValueR3R4R5RtcanRepetBuyTypeListt isAllDayGettiR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pytOnGetInvestReward)sš          !  !  * ) ! $ cCs³tjƒ}||_t||ƒ|_xcttjƒD]R}|jj    |j
tj ||fƒƒ|j j    |j
tj ||fƒƒq7Wt|jƒ|_tj||ƒdS(N(tChPyNetSendPackttagMCInvestInfoR>RtCurDayRRRt RewardValueR%RRt ProgressValueR    tlent
ValueCountt NetPackCommont SendFakePack(RRtinvestInfoPackR((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyRœs     &*(R R R¥R‘RžRQR RŽRRRRRRR
R;RCR?RORFRURhRlRnRpRtRvR„RR(((soD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGoldInvest.pyt<module>s:                      '                                                                                *    s