hwj35
2025-06-23 aa0f971ae9a59f0fd98d57b6c1d1663a270be92c
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
å2gc@sWddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZddlZdZd„Zd„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zdddddd„ZdS(iÿÿÿÿNi<cCs'tjddƒ}t||dƒdS(Nt    GuajiTimeii<(t IpyGameDataPYt
GetFuncCfgt AddGuajiAward(t    curPlayertopenAwardMinutes((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyt DoGuajiOpen&scCs6tj|tjƒsdSt|ƒs2t|ƒndS(N(t GameFuncCommt GetFuncCanUset ShareDefinetGameFuncID_Guajit ProcessGuajitSync_GuajiAward(R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyt OnPlayerLogin+s
  cCs=tj|tjƒsdStj|tjdƒt|ƒdS(Ni(    RRR    R
t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_GuajiQuickCountR (R((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyt PlayerOnDay2s
 
cCsùtjƒrdStj|ƒs#dStj|tjƒs<dSttjƒƒ}|j    t
j ƒ}|s…|}t j |t
j |ƒn||}}|tkr£dS|tdkrÖt}t j |t
j ||ƒnt j |t
j |ƒt||ƒS(Ni
(t    GameWorldt IsCrossServertIsNormalPlayerRRR    R
tintttimetNomalDictGetPropertyRtDef_PDict_GuajiCalcTimeRRtDef_Process_SecondsR(RtcurTimet lastCalcTimet awardSecondst passSeconds((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR 9s&  cCsq|dkrdS|jƒ}|jtjƒ}t|ƒ}||krJdSt|||ƒ}|dkrmdSt||tƒ\}}}||}tj    |tj|ƒ|jtj
ƒtj |jtj ƒ|}    |    tj }
|    tj } tj    |tj
|
ƒtj    |tj | ƒx¡|j ƒD]“\} } t|tj| ƒ}|dkr[q(n|jtj|ƒ}t|| tjƒ}tj    |tj|| ƒtj    |tj||ƒq(Wx¡|j ƒD]“\}}t|tj|ƒ}|dkrÿqÌn|jtj|ƒ}t||tjƒ}tj    |tj||ƒtj    |tj||ƒqÌWt|ƒtS(Ni(t GetPlayerIDRRtDef_PDict_GuajiAwardSecondstGetGuajiSecondsMaxtmintCalcGuajiAwardtTrueRRtDef_PDict_GuajiExpPointtDef_PerPointValuetDef_PDict_GuajiExptitemst
GetSaveNumtDef_PDict_GuajiMoneyTypetNonetDef_PDict_GuajiMoneyValuetDef_UpperLimit_DWordtDef_PDict_GuajiItemIDtDef_PDict_GuajiItemCountR (RRtplayerIDtcurAwardSecondst
maxSecondstaddExpt giveMoneyDictt giveItemDicttupdAwardSecondstexpt updExpPointtupdExpt    moneyTypetaddValuetsaveNumt
moneyValuetupdMoneytitemIDtaddCounttcurCounttupdCount((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyRWsH     
-    
cCsEx>tdƒD]0}|j||ƒ}| s9||kr |Sq WdS(Nid(trangeR(Rtkeyt    compValuetnumtvalue((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR)s
c    Cs«tjddƒ}|jƒ}d}tjddiƒ}g|jƒD]}t|ƒ^qF}|jƒx.|D]&}||kr”|t|ƒ}qoPqoW||}|dS(NRiiii(RRtGetOfficialRanktGetFuncEvalCfgtkeysRtsorttstr(    Rt    initHourst
curRealmLVt realmAddHourstrealmAddHoursDicttkt realmLVListtrealmLVt
totalHours((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR!—s %
 
c    CsL|jtjƒ}|jtjƒ}|rP|tdttjƒ|ƒƒ7}nt|t|ƒƒ}|jtj    ƒtj
|jtj ƒ}i}xNt dƒD]@}|jtj |ƒ}|sÇPn|jtj|ƒ||<q¡Wi}xNt dƒD]@}|jtj|ƒ}|sPn|jtj|ƒ||<qøW||||fS(Niid(RRRR tmaxRRR"R!R%R&R'RCR*R,R.R/(    RRRR7t    moneyDictRFR:titemDictR?((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pytGetGuajiAwardInfoSave«s(&c.Cs³|jƒ}|jƒ}tj|ƒ}|r9|jƒnd}tjƒjtj    ƒ}t
|ƒ}t t t jdtjddƒƒƒƒ}    t |    |ttjƒƒ}
||
} i} tjddiƒ} xP| jƒD]B\}}t t t jd||ƒƒƒ}||}|| |<qÜWtjddiƒ}x¦|jƒD]˜\}}|}|ry||jtj|ƒ7}nt t t jd||ƒƒƒ}||}|| |<|rD||}tj|tj||ƒqDqDWtjddƒ}tjdd    iƒ}|}|r,||jtjƒ7}n||}|r_||}tj|tj|ƒn|jƒ}|jƒg}x(|D] }||kr¡||}q‚Pq‚Wd}i}|d
d}|d krd} xÈ|D]½}!|!\}"}#|"| }$|"} |$dkr qÙn|$|}%|%|}&|%|}'tj|'|ƒrJ|&d7}&n||&7}|&s`qÙn|#slqÙn|#\}(})|j|(dƒ|)|&||(<qÙWn||}*|*dkrxXt|*ƒD]G}+tj|ƒ}#|#sáqÀn|#\}(})|j|(dƒ|)||(<qÀWnt j!|||ƒ},x4|,jƒD]&\}(}&|j|(dƒ|&||(<q0Wt"j!|||ƒ}-x4|-jƒD]&\}(}&|j|(dƒ|&||(<q|W| | |fS( NitGuajiExpt
GuajiAwardiis GuajiMoney_%siiiiÿÿÿÿid(#RtGetLVRtGetPlayerLVIpyDatatGetReExpRt GetGameWorldtGetGameWorldDictByKeyR    t"Def_Notify_WorldKey_WorldAverageLvtGetGuajiExpRateRtevaltFormulaControltGetCompileFormulaRRtfloatRtDef_MaxRateValueRIR(RtDef_PDict_GuajiMoneyUnSecondsRtDef_PDict_GuajiItemUnSecondsRJRKt    CanHappentgetRCtGetResultByRandomListtPlayerActCollectWordstOnGetGuajiAwardItemDicttPlayerActGarbageSorting(.RRt useUnsecondR0treLVt    lvIpyDatatreExptworldLVtexpRatet secondBaseExpt    secondExpR3RVtperSecondMoneyFromulaDictR:tformulat secondMoneyR=tperMoneyTimeFromulaDicttmoneyAwardSecondstoneMoneyNeedSecondst    unSecondstgiveItemSecondsSettlvItemRateDicttitemAwardSecondstitemAwardTimestlvListt itemRateListtlvtdropCountTotalRWtmaxRatetpreRatetrateInfotratetitemInfotcurRatet    totalRatet    dropCounttrateExR?t    itemCountt awardTimesExt_tdropWordsCountDicttgiveGarbageItemList((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR#Æs    *
"
"
 
 
!
 
 
 
 
 
 
 
 %
  !cCs<|jƒ}|tj|ƒ7}|tj|tjƒ7}|S(N(tGetFightExpRatetPlayerWorldAverageLvtGetWorldAverageLvExpRatet    PlayerViptGetPrivilegeValueRtVIPPrivilege_FightExpRate(RRt((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyRa=s cCs)|jƒ}tjd||ƒ|r¿|jtjƒ}tjddƒ}tj    |tj
ƒ}||}||krtjd||ƒdS||krQt j |tj ƒ rQ||}tjddƒ}tjddƒ}    | së|     rïdSt|    ƒ|kr |    |n|    d}
tjd|||
f|ƒtj|||
d    ƒsQdSntjdd
ƒd } t|| tƒ\} } }|d
7}tj|tj|ƒtjd ||f|ƒnPt|ƒ\} } } }tj|tjttjƒƒƒtj|tjd ƒtj|tjd ƒtj|tjd ƒxbtdƒD]T}|jtj|ƒshPntj|tj|d ƒtj|tj|d ƒqHWxbtdƒD]T}|jtj|ƒsÍPntj|tj|d ƒtj|tj |d ƒq­Wt!|ƒt"|| | | |ƒdS(NsÁìÈ¡¹Ò»úÊÕÒæ!  isQuick=%st
GuajiQuickis1¿ìËÙ¹Ò»úÊÕÒæ´ÎÊýÒÑ´ïÿÈÕÉÏÏÞ!  quickCountToday=%siiiÿÿÿÿs7    todayBuyCount=%s,costMoneyType=%s,costMoneyValue=%stGuajiiis=    ¸üпìËÙ¹Ò»úÊÕÒæ´ÎÊý: quickCountToday=%s,quickCountMax=%siid(#RRtDebugLogRRRRRR—R˜tVIPPrivilege_GuajiQuickBuytPlayerGoldInvesttGetInvestStatetInvestType_LifeRItlenRtPayMoneyR#tFalseRRXRRRR R'R%RCR*R,R.R/R t__DoGiveGuajiAward(RtisQuickR0tquickCountTodaytquickCountFreetvipCanBuyCountt quickCountMaxt todayBuyCountt costMoneyTypet costMoneyListtcostMoneyValueRR7RVRWRF((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pytOnGetGuajiAwardDsX 
 "
&    
"
cCsOtjd||jƒƒt||tƒ\}}}t|||||ƒdS(NsÖ±½Ó¸ø¹Ò»úÊÕÒæ: awardSeconds=%s(RRœRR#R£R¤(RRR7RVRW((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pytGiveGuajiAward}sc Cs½|jƒ}tjd||||f|ƒtj|ƒ}|j|tjƒx0|jƒD]"\}}tj|||dƒq[Wi}    xƒ|jƒD]u\}
} tj    ƒj
|
ƒ} | sÁq”nt j | ƒ} | |    krég|    | <n|    | }|j |
| dgƒq”Wx|    jƒD]‚\} }| tjkr}xd|D]:\}
} }tj||
| || gddtigƒq<Wqtj||ddtigƒqWt|d||||ƒdS(Ns;¸ø¹Ò»úÊÕÒæ: awardSeconds=%s,exp=%s,moneyDict=%s,itemDict=%sR›iteventi(RRRœRtAddExpR    tDef_ViewExpType_GuajiR(t    GiveMoneyt GetGameDatatGetItemByTypeIDRtGetItemPackTypetappendt
rptGarbaget ItemControlertGivePlayerItemR£tGivePlayerItemOrMailR (RRR7RVRWR0t playerControlR:R=tpackTypeItemDictR?RtitemDatatpackTypet giveItemListt isAuctionItem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR¤„s.    
2#ic Csl|dkr't|ƒ\}}}}ntjƒ}|jtjƒ|_||_||_|tj    |_
|tj    |_ g|_ |r×xK|j ƒD]:\}}tjƒ}    ||    _||    _|j j|    ƒq–Wnt|j ƒ|_g|_|rFxK|j ƒD]:\}
} tjƒ} |
| _| | _|jj| ƒqWnt|jƒ|_tj||ƒdS(Ni(RXtChPyNetSendPackttagMCGuajiInfoRRRtQuickAwardCountt    AwardTypet AwardSecondsR&tExptExpPointt    MoneyListR(ttagMCGuajiMoneyt    MoneyTypet
MoneyValueR·R¡tMoneyLentItemListttagMCGuajiItemtItemIDtCounttItemLent NetPackCommont SendFakePack( Rt    awardTypeRR7RVRWt
clientPackR:R=tmoneyR?Rtitem((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyR ¦s4                                    ( RR    RRÂR•RnRlRžRcRÓRR¹RRR—RRRR RR RR)R!RXR#RaR®R¯R¤R+R (((skE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerGuaji.pyt<module>s<                                    8                w        9        "