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
53
54
55
56
KÌéhc@sÜddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    d„Z
d„Z d„Z d„Z d„Zd„Zd„Zd    „Zdd
„Zed „ZdS( iÿÿÿÿNcCs4|jtj|ƒ}|d}|d}||fS(Nid(tNomalDictGetPropertytChConfigtDef_PDict_ShentongLVInfo(t    curPlayert
shentongIDtlvInfotclassLVtlv((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pytGetShentongLVInfos
 
cCs&tj|tj||d|ƒdS(Nid(t PlayerControltNomalDictSetPropertyRR(RRRR((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pytSetShentongLVInfo"s"cCst|ƒt|tƒdS(N(tSync_ShentongLVInfotSync_ShentongSkillInfotTrue(R((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyt OnPlayerLogin&s
 c    Cs[tjƒj|ƒ}|jƒ}|j}tjd|ƒ}|sFdSt||ƒ\}}|}    |d}
tjd||    |
ƒ} | s´|d}    d}
tjd||    |
ƒ} n| sÛtj    d|||f|ƒdS| j
ƒ} | sñdS|j ƒj t jƒ} tj| | ƒ\}}|rTtjd||||    |
| |f|ƒdStj|| |dƒt|||    |
ƒt||gƒ| jƒ}tjd||||    |
|f|ƒ|rMtjƒj|ƒ}|rì|jƒnd}|r|jƒnd}ttjddƒƒ}g}xÁt|ƒD]³}|jtj |ƒ}|sj|j!dƒq5ntjƒj|ƒ}|s‹q5n|jƒ}|jƒ}||krÛ||krË|j!|ƒqè|j!dƒq5|j!|ƒq5W||krd|kr|||j"dƒ<n||krMtjd||ƒt#||ƒqMnt$|ƒdS(    NtShentongit
ShentongLVs<ûÓÐÏÂÒ»¼¶ÉñͨÊý¾Ý£¬ÎÞ·¨Éý¼¶! shentongID=%s,classLV=%s,lv=%ssgÉñͨÉý¼¶ËùÐèÎïÆ·²»×㣡 shentongID=%s,classLV(%s-%s),nextClassLV=(%s-%s),needItemList=%s,lackItemDict=%ssLÉñͨÉý¼¶³É¹¦£¡ shentongID=%s,classLV(%s-%s),nextClassLV=(%s-%s),LVSkillID=%sis%×Ô¶¯³öÕ½/Ìæ»»Éñͨ¼¼ÄÜ: skillIDList=%s(%t    GameWorldtGetPlayerManagertGetPlayerByIndext GetPlayerIDt
ShentongIDt IpyGameDataPYtGetIpyGameDataRtGetIpyGameDataNotLogtErrLogtGetLVLightNeedItemtGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListtDebugLogt DelCostItemR R t GetLVSkillIDtLogt GetGameDatatGetSkillBySkillIDtGetSkillTypeIDt
GetSkillLVtlentGetFuncEvalCfgtrangeRRtDef_PDict_ShentongSkillIDtappendtindextSetShentongSkilltRefreshShentongAttr(R/t curPackDatattickRtplayerIDRtipyDataRRt nextClassLVtnextLVt    lvIpyDatat needItemListtitemPackt lackItemDictt delInfoDictt    LVSkillIDt lvSkillDatat lvSkillTypeIDt    lvSkillLVtShentongSkillCountt skillIDListtnumtskillIDt    skillDatat skillTypeIDtskillLV((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pytOnShentongLVUp2sx     
 
                 
cCs/tjƒj|ƒ}|j}t||ƒdS(N(RRRt SkillIDListR0(R/R2R3RRB((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pytOnShentongSkillSet…s     cCs¾|s
dStjddƒ}t|ƒ}t|ƒ|kr>dSt|ƒ|krn|dg|t|ƒ7}ng}xQ|D]I}|sq{ntjƒj|ƒs·tjd|ƒdS|j|ƒq{Wt|ƒ}i}tjƒ}x÷t    |j
ƒƒD]ã}    |j |    ƒ}
|
j ƒ} | s&qùn|
j ƒ} |
jƒ} |
jƒ}t|| ƒ\}}|| ksù|| kr‰||kr‰qùntjƒj| ƒ}|sªqùn|jƒ}| ||<| |krù|j| ƒqùqùW|r
tjd||f|jƒƒdS|dkri||d}|t|ƒkritjd||t|ƒ|f|jƒƒdSn|jƒ}tj|ƒ}xyt|ƒD]k}|jtj|ƒ}|râ|j|ƒrâ|j|tƒ|j|ƒntj|tj|dƒq‘Wtj ƒj!ƒ}x›t|ƒD]}||}|r’|j"|tƒ|j#|dƒ|j|ƒ}|r’t$j%|tj&|ƒ||tƒq’ntj|tj||ƒqWt'|ƒdS(NRiis ÕÒ²»µ½¸ÃÉñͨ¼¼ÄÜÊý¾Ý! skillID=%ssH´æÔÚÎÞ·¨Ê¹ÓõÄÉñͨ¼¼ÄÜ£¬ÎÞ·¨ÉèÖÃ! setSkillIDList=%s,forbidSkillIDList=%ssa´æÔÚδ½âËøµÄÉñͨ¼¼Äܿף¬ÎÞ·¨ÉèÖÃ! setSkillIDList=%s,needCanUseSkillCnt=%s > canUseSkillCnt=%s(%s)((RR+R*RR&R'RR.tIPY_DatatxrangetGetShentongLVCounttGetShentongLVByIndexR$t GetShentongIDtGetShentongClassLVt GetShentongLVRR(tremoveRR"tGetSkillManagerR    R,RRR-tFindSkillBySkillIDtDeleteSkillBySkillIDRtRefreshSkillFightPowerByDelR
t GetGameWorldtGetTicktLearnSkillByIDtRefreshSkillFightPowerExt SkillCommontSetSkillRemainTimetGetReduceSkillCDPerR (RtsetSkillIDListtneedSkillCntListtShentongSkillCountMaxtforbidSkillIDListRDt setSkillCounttcanUseSkillDictt
ipyDataMgrR/R5R=RtshentongClassLVt
shentongLVRRRERFtneedCanUseSkillCntt skillManagert    playerCtlRCR3t
setSkillIDtcurSkill((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyR0‹s†        $ 
          # 
(
cCs!t|ƒtj|ƒjƒdS(N(tCalcShentongAttrR    tRefreshPlayerAttrState(R((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyR1Ýs
c
Csi}d}gtdƒD] }i^q}i}tjƒ}xt|jƒƒD]‰}|j|ƒ}|jƒ}    t||    ƒ\}
} |
rš| ršqPntjdi|    d6t    ƒ} | sÂqPnx| D] } | j
ƒ}| j ƒ}|
|ks |
|kr| |krPn| j ƒ}| j ƒ}x7t|ƒD])\}}||}tj|||ƒq4W| jƒr€|| jƒ7}n| jƒ}|rÉtjƒj|ƒ}|rÕ|jƒ}|jƒ}|||<qÕqÉqÉWqPW||d<tj|tj|ƒtj|tj|d|ƒdS(NiiRRtshentongSkillInfotcustomAttrDict(R,RRKRLtGetShentongCounttGetShentongByIndexRORtGetIpyGameDataByConditionRRPRQtGetLVAttrTypeListtGetLVAttrValueListt    enumerateR    tCalcAttrDict_TypetGetFightPowerExR$RR&R'R(R)tSetMFPExFightPowert ShareDefinetDef_MFPType_ShentongtSetCalcAttrListValueRtDef_CalcAttrFunc_Shentong(RtcustomAttrDictShentongt fightPowerExt_t allAttrListRnRdR/R5RRRt lvIpyDataListR8ReRftLVAttrTypeListtLVAttrValueListtitattrIDt    attrValueR=RERFRG((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyRlâsJ     $  
 
c Cs+|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}xw|D]o}t||ƒ\}}    | r®|     r®|dkr®qsnt    j
ƒ}
||
_ ||
_ |    |
_ |j|
ƒqsW|sðdSt    jƒ} || _t| jƒ| _tj|| ƒdS(N(tNoneRRKR,RpRqR.RORtChPyNetSendPackttagMCShentongLVRtClassLVtLVttagMCShentongLVInfotShentongLVListR*tCountt NetPackCommont SendFakePack( RtshentongIDListt
syncIDListRdR/R5tshentongInfoListRRRtshentongt
clientPack((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyR s0                     cCs¬g}ttjddƒƒ}x1t|ƒD]#}|j|jtj|ƒƒq+W|jdƒ|krq|rqdSt    j
ƒ}||_ t|j ƒ|_ t j||ƒdS(NRii(R*RR+R,R.RRR-tcountRˆttagMCShentongSkillInfoRIRŽRR(RtisLoginRBR`RCR•((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyR 0s!     (RRyR    RRˆRRR RR[RR RRHRJR0R1RlR‡R tFalseR (((smD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerShentong.pyt<module>s&                           S        R        /