hxp
2026-01-21 a0e8741e7133c38b0a6c956699b10af3fffa4f3d
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
79
80
81
82
83
Ænic@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z d„Z d„Z d„Zd„Zd„Zd„Zd„Zd    „Zd
„Zd d „Zd „Zd d„Zd„ZdS(iÿÿÿÿNcCst|ƒdS(N(tSync_MinggeInfo(t    curPlayer((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt OnPlayerLogin s
cCsPtj|tjdƒtj|tjdƒtj|tjdƒt|ƒdS(Nii(t PlayerControltNomalDictSetPropertytChConfigtDef_PDict_MGGanwuLVtDef_PDict_MGGanwuExptDef_PDict_MGLingyingR(R((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt DoMinggeOpen$s
 
cCs/tjƒj|ƒ}|j}t||ƒdS(N(t    GameWorldtGetPlayerManagertGetPlayerByIndextCounttDoMinggeTuiyan(tindext
clientDatattickRttyCount((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeTuiyan2s     cCs)|jƒ}|jtjƒ}d\}}tjƒ}xQt|jƒƒD]=}|j    |ƒ}|j
ƒ}||kr|}qI|}PqIW|s”gSg}    |sd}
|j ƒ} xFt | dƒD]5\} } | sÚqÂn|
| 7}
|    j |
| gƒqÂWtjd||    f|ƒn d}
|j
ƒ}|j
ƒ}||}||}|t|ƒ}|j ƒ}|j ƒ}x–t |dƒD]…\} }t|ƒ| kr®|| dnd}tt|||ƒƒ}td||ƒ}|
|7}
|r‚|    j |
| gƒq‚q‚Wtjd||    f|ƒ|    S(NiisÁéÓ¦Âú¼¶ÁË: curLingying=%s,%ss#×îÖÕÁéӦƷÖʱýͼ: curLingying=%s,%s(NN(t GetPlayerIDtNomalDictGetPropertyRRtNonet IpyGameDataPYtIPY_DatatrangetGetMGLingyingQualityCounttGetMGLingyingQualityByIndext GetLingyingtGetItemColorWeightListt    enumeratetappendR
tDebugLogtfloattlentinttroundtmax(RtplayerIDt curLingyingt
curIpyDatat nextIpyDatat
ipyDataMgrRtipyDatatlingyingtminggeRateListtratet
weightListtqualitytweighttcurIpyLingyingtnextIpyLingyingtlingyingDiffMaxtlingyingDiffNowtdiffPert curWeightListtnextWeightListt
nextWeightt    curWeightt
diffWeightt    nowWeight((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytGetMGColorRateList8sP          
 
 
  &
c    Cs–|jƒ}t|ƒ}|s"dS|}tjddƒ}tj|||ƒ\}}}|||}    |    dkr||    8}n|dkr©tjd||    f|ƒdStjddƒ}
|dd|
d} tjƒ} d} tj    |t
j |ƒ}xDt |ƒD]6}tj |ƒ}|s)qntjtjƒ}d}| j|ƒxKt| jƒƒD]7}| j|ƒ}|jƒ|kra|jƒ}PqaqaWtjd||||f|ƒtj|dtd    |ƒ}|dkréqn| oþ|jƒ| k}tj||d
d |igd t
j gƒs4qn| d7} qW| dkrRdStj||||| d ƒ| }|jtjƒ}|jtj ƒ}|}||}tjd |||fƒtj!d|ƒ}tj"d|dƒ}xo|r[|r[||j#ƒkr[||j#ƒ8}|d7}tjd||fƒ|}tj"d|dƒ}qíWt$j%|tj|ƒt$j%|tj |ƒt&|ƒdS(Nt    MinggeCfgiis%ÍÆÑݵÀ¾ß²»×ã! useItemID=%s,lackCnt=%stItemRecordEquipiiÿÿÿÿsAÃü¸ñÍÆÑÝ: itemColor=%s,itemType=%s,randItemID=%s,colorRateList=%sRteventt MinggeTuiyant packIndexLists.¸üиÐÎò¾­Ñé: ganwuLV=%s,addGWExp=%s,updExp=%st    MGGanwuLVs    Éý¼¶: updLV=%s,updExp=%s('RR=Rt
GetFuncCfgt
ItemCommontGetPackItemBindStateIndexInfoR
R t GetGameDatatGetItemPackSpacet ShareDefinet rptMGTuiyanRtGetResultByRandomListtrandomtchoiceRtDef_MGGuayuTypetFilterItemByTypetxrangetGetFilterItemCountt GetFilterItemt GetItemColort GetItemTypeIDt ItemControlertGetOutPutItemObjtFalseRtDoLogic_PutItemInPacktDelCostItemByBindRRRtGetIpyGameDatatGetIpyGameDataNotLogtGetNextNeedExpRRR(RRR&t colorRateListtuseCountt    useItemIDtcostItemIndexListtbindCntt    unBindCnttlackCntt lastColorCnttneedRecordColorMintgameDatat    succCountt_t    itemColortitemTypet
randItemIDtititemDatatcurItemt    isForceDRtaddGWExptganwuLVtganwuExptupdLVtupdExpR+t nexpIpyData((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyRpsv          - 
!
 
cCs)tjƒj|ƒ}t||jƒdS(N(R
R R t__doDecomposeMingget    IndexList(RRRR((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeDecomposeÂsc CsÈ|jƒ}tjddƒ\}}tjd|||f|ƒ| sO| rSdSd}t|ƒ}|r–tjddƒ}|dd|d}ntjd||f|ƒd}|jƒjt    j
ƒ}    x±|D]©}
|
dksÕ|
|    j ƒkrÿqÕn|    j |
ƒ} t j| ƒs7tjd|
|ƒqÕn|oL| jƒ|k} t j|| | j ƒtd    d
| ƒ|d7}qÕW|sŒdS|||gg} tj|| d d    tigd tƒdS( NtMinggeTYis1·Ö½âÃü¸ñ: itemIndexList=%s,itemID=%s,itemCount=%siR?iÿÿÿÿs&needRecordColorMin=%s,colorRateList=%ssÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%stMinggeDecomposeRoR@t isNotifyAward(RRtGetFuncEvalCfgR
R R=RDtGetItemManagertGetPackRIRJtGetCounttGetAtREtCheckItemCanUseRStDelItemtTrueRUtGivePlayerItemOrMailRW(Rt itemIndexListR&titemIDt    itemCountReR]Rdt decomposeCntt mgTuiyanPackt    itemIndextcurEquipRotitemList((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyRvÇs8   %%c    CsXtjƒj|ƒ}|jƒ}|j}|j}|j}tjd|||f|ƒtj    ||t
j ƒs‰tjd||ƒdS|j ƒj t
jƒ}|dks¿||jƒkrÃdS|j|ƒ}    tj|    ƒsùtjd||ƒdS|    jƒ}
|    jƒ} | tjkr$dStjd| ƒ} | s@dS| jƒ} |dttjƒ| d}tjd||
| | |f|ƒ|j ƒj t
jƒ}|dksÄ||jƒkrëtjd||| | |f|ƒdS|j|ƒ}tj|ƒ}tj||    |t
jƒs(dS|rG|rGt||gƒnt||ƒdS(    Ns0Ãü¸ñ×°±¸Ìæ»»: mgNum=%s,itemIndex=%s,isAutoDec=%ssÃü¸ñÌ×·½°¸Î´½âËø! mgNum=%sis&    Ãü¸ñÎïÆ·Îª¿Õ»ò²»¿ÉÓÃ: itemIndex=%st MGGuayuTypeisG    itemIndex=%s,itemID=%s,itemType=%s,equipPlace=%s,equipPlaceIndex=%ss`Ãü¸ñØÔÓñ¶ÔӦװ±¸Î»ÖÃË÷ÒýÒì³£: itemIndex=%s,mgNum=%s,itemType=%s,equipPlace=%s,equipPlaceIndex=%s( R
R R RtMGNumtIndextAutoDecR t PlayerPresettGetFuncPresetIDStateRItFuncPreset_MinggeR}R~RJRR€RERRTtGetTypeRRNRRZt GetEquipPlaceR"t
rptMGGuayutErrLogtDoLogicSwitchItemRvtRefreshMinggeAttr(RRRRR&tmgNumRŠt    isAutoDecR‰R‹R†Rjt typeIpyDatat
equipPlacetequipPlaceIndext    equipPackt    destEquipt    canDecomp((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt OnMinggeEquipòsP                          cCs´tjƒj|ƒ}|j}tjƒ}|jƒ}|s@dS|j|dƒ}|s]dS|jƒ}|j    t
j ƒ}    |    |kr¢tj d|    |fƒdSt |||    ƒ}tj d||    |fƒtjddƒ}
tj||
|ƒ\} } } || | }|dkr&||8}n|dkrMtj d|
|fƒdStj|| | | |dƒ|}|    |}tj|t
j |ƒtj d    ||fƒt|ƒdS(
Nis&ÁéÓ¦ÖµÒÑ´ï×î´óÖµ! curLingying=%s >= %ss3Ãü¸ñÆíÁé: useCount=%s,curLingying=%s,maxLingying=%sR>iis%ÆíÁéµÀ¾ß²»×ã! useItemID=%s,lackCnt=%st MinggeQilings    updLingying=%s,useCount=%s(R
R R tUseCountRRRRRRRRR tminRDRERFRYRRR(RRRRR^R*t    dataCountt lastIpyDatat maxLingyingR'R_R`RaRbRct addLingyingt updLingying((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytOnMinggeQiling0s>           
 
icCs-t||ƒtj|ƒjtj|ƒdS(N(tCalcMinggeAttrt PlayerOnlinetGetOnlinePlayertRefreshByFuncPresetRIR“(RRš((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR™Us cCs4ttjƒ}|d|}||}t||ƒS(Ni(R"RRNR(RštmgCntt
startIndextendIndex((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pytGetMGNumPackIndexListZs
cCs]|jƒ}tj}|sUtjd|ƒ}|rLtddt|ƒƒng}n    |g}tj|ƒ}|j    ƒj
tj ƒ}xÑ|D]É}ii}    }
t j |||ƒsÖ|jtj|    |
d|ƒqŒnxCt|ƒD]5} | dksã| |jƒkr qãn|j| ƒ} | sã| jƒr5qãn| jtjƒ} | jtjƒ}xatt| |ƒƒD]J}| jtj|ƒ}| jtj|ƒ}|    j|dƒ||    |<qoWxXt| jtjƒƒD]>}| jtj|ƒ}|rÖ|
j|dƒd|
|<qÖqÖWqãWtjd|    |
|f|ƒ|jtj|    |
d|ƒqŒWdS(Nt PresetUnlockitpresetIDis)Ãü¸ñÊôÐÔ: %s,skillLVDict=%s,mgPresetID=%s(RRIR“RtGetIpyGameDataListRR"R­R®R}R~R–R‘R’t SetCalcAttrRtDef_CalcAttr_MinggeR³RR€tIsEmptytGetUserAttrCounttDef_IudetLegendAttrIDtDef_IudetLegendAttrValueRPR¥tGetUserAttrByIndextgettDef_IudetAddSkillIDR
R (RRšR&tfuncPresetTypet ipyDataListtmgPresetIDListtolPlayerRŸt
mgPresetIDtattrDictt skillLVDictRR‹tlegendAttrIDCnttlegendAttrValueCntRltattrIDt    attrValuetskillID((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR¬`s@     (      % cCso|jtjƒ}|sdStjƒ}||_|jtjƒ|_|jtjƒ|_    t
j ||ƒdS(N( RRRtChPyNetSendPackttagSCMinggeInfotGanwuLVRtGanwuExpRtLingyingt NetPackCommont SendFakePack(RRqt
clientPack((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyR‹s     (R
R‘RRURRÌRÑR­RIRERRLRR    RR=RRxRvR¢R«R™R³R¬R(((skD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerMingge.pyt<module>s0                            8    R        +    >    %      +