hxp
2025-10-22 1b0fc76fb9556fe8f8344d67af2897230b53edbd
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Wöîhc@síddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    Z    ddl
Z
ddl Z ddl Z ddl Z ddlZdZdZdZdZdZd„Zd„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zded„Ze dd„Z!d„Z"dd„Z#d„Z$d„Z%d„Z&d„Z'dd„Z(d„Z)ded„Z*e dd„Z+d„Z,dd„Z-d„Z.d „Z/d!„Z0dd"„Z1dS(#iÿÿÿÿNiiiiicCs2t|ƒt|ƒtj|ƒtj|ƒdS(N(t SyncTitleInfot SyncModelInfot
PlayerFacet OnPlayerLogint PlayerChatBox(t    curPlayer((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR)s
 
 
  cCs2t|ƒt|ƒtj|ƒtj|ƒdS(N(t OnMinuteTitlet OnMinuteModelRtOnMinuteR(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR0s
 
 
  cCs¼tjƒj|ƒ}|j}|j}|j}|dkrOt|||ƒni|dkrnt|||ƒnJ|dkr™|tkr¸t    ||ƒq¸n|dkr¸t
|||ƒndS(Niiii( t    GameWorldtGetPlayerManagertGetPlayerByIndextTypetOPTypetOPIDt OnHJGActivatetOnHJGUset HJGType_TitletOnTakeOffTitlet OnHJGStarUP(tindext
clientDatattickRthjgTypetopTypetopID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pytOnHJGOP@s                 cCs™|tkrt||ƒny|tkr;tj||ƒnZ|tkrZtj||ƒn;|tkrytj    ||ƒn|t
kr•t ||ƒndS(N( t HJGType_ModeltAddModelt HJGType_FaceRtAddFacetHJGType_FacePict
AddFacePictHJGType_ChatBoxRt
AddChatBoxRtAddTitle(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRWs     cCs™|tkrt||ƒny|tkr;tj||ƒnZ|tkrZtj||ƒn;|tkrytj    ||ƒn|t
kr•t ||ƒndS(N( Rt
OnUseModelRRt    OnUseFaceRt OnUseFacePicR!Rt OnUseChatBoxRt
OnUseTitle(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRes     cCs™|tkrt||ƒny|tkr;tj||ƒnZ|tkrZtj||ƒn;|tkrytj    ||ƒn|t
kr•t ||ƒndS(N( Rt OnModelStarUPRRt OnFaceStarUPRtOnFacePicStarUPR!RtOnChatBoxStarUPRt OnTitleStarUP(RRR((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRss     cCs!t|ƒtj|ƒjƒdS(N(t CalcHJGAttrt PlayerOnlinetGetOnlinePlayertRefreshRoleAttr(R((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pytRefreshHJGAttrs
cCsö|jƒ}i}tjƒ}xt|jƒƒD]}|j|ƒ}|jƒ}t|||ƒsjq1n|jƒ}|s‚q1n|j    ƒ}|j
ƒ}    |j t j |ƒ}
x†t|ƒD]x\} } t|ƒ| krå|| nd} t|    ƒ| kr|    | nd}| ||
}|j| dƒ||| <q½Wq1Wxt|jƒƒD]}|j|ƒ}|jƒ}t|||ƒs‰qPn|jƒ}|s¡qPn|j    ƒ}|j
ƒ}    |j t j|ƒ}
x†t|ƒD]x\} } t|ƒ| kr|| nd} t|    ƒ| kr&|    | nd}| ||
}|j| dƒ||| <qÜWqPWxt|jƒƒD] }|j|ƒ}|jƒ}tj|||ƒs«qon|jƒ}|sÃqon|j    ƒ}|j
ƒ}    |j t j|ƒ}
x†t|ƒD]x\} } t|ƒ| kr&|| nd} t|    ƒ| krH|    | nd}| ||
}|j| dƒ||| <qþWqoWxt|jƒƒD] }|j|ƒ}|jƒ}tj|||ƒsÍq‘n|jƒ}|såq‘n|j    ƒ}|j
ƒ}    |j t j |ƒ}
x†t|ƒD]x\} } t|ƒ| krH|| nd} t|    ƒ| krj|    | nd}| ||
}|j| dƒ||| <q Wq‘Wxt|j!ƒƒD] }|j"|ƒ}|j#ƒ}t$j%|||ƒsïq³n|jƒ}|sq³n|j    ƒ}|j
ƒ}    |j t j&|ƒ}
x†t|ƒD]x\} } t|ƒ| krj|| nd} t|    ƒ| krŒ|    | nd}| ||
}|j| dƒ||| <qBWq³Wt'j(d||ƒt)j*|ƒj+t j,|ƒdS(Nis»Ã¾³¸óÊôÐÔ: %s(-t GetPlayerIDt IpyGameDataPYtIPY_Datatranget GetTitleCounttGetTitleByIndext
GetTitleIDt IsTitleCanUset GetAttrIDListtGetInitAttrValueListtGetAttrPerStarAddListtNomalDictGetPropertytChConfigtDef_PDict_TitleStart    enumeratetlentgett GetModelCounttGetModelByIndext
GetModelIDt IsModelCanUsetDef_PDict_ModelStartGetPlayerFaceCounttGetPlayerFaceByIndext    GetFaceIDRt IsFaceCanUsetDef_PDict_FaceStartGetPlayerFacePicCounttGetPlayerFacePicByIndext GetFacePicIDtIsFacePicCanUsetDef_PDict_FacePicStartGetChatBoxCounttGetChatBoxByIndextGetBoxIDRt IsBoxCanUsetDef_PDict_ChatBoxStarR    tDebugLogR/R0t SetCalcAttrtDef_CalcAttr_HJG(RtplayerIDtattrDictt
ipyDataMgrRtipyDatattitleIDt
attrIDListtinitAttrValueListtperStarAddListtstartaIndextattrIDt    initValuet
perStarAddt    attrValuetmodelIDtfaceIDt    facePicIDtboxID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR.†s¬      """    """    """    """    """cCsåttjƒƒ}g}tjƒ}x§t|jƒƒD]“}|j|ƒ}|jƒ}tj    |t
j |ƒsvq7n|j t
j |ƒ}| s7||kr¥q7nt||tdƒr7|j|ƒq7q7W|rát|ƒndS(Nt TitleTimeout(tintttimeR4R5R6R7R8R9R    tGetDictValueByBitR?tDef_PDict_TitleStateR>tDef_PDict_TitleEndTimetDelTitletFalsetappendR2(RtcurTimet    delIDListR]RR^R_tendTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRòs    c    Cs |dkrdS|jƒ}tjd|ƒ}|s8dS|jƒdkrbtjd||ƒdS|s|jƒ}|jƒ}| sŽ| r’dS||gg}|jƒj    t
j ƒ}    t j ||    ƒ\}
} |
rõtjd||
f|ƒdSt j||    | dƒn|jƒd} ttjƒƒ} tj|tj|ƒ}|jtj|ƒ}tjd||||| | f|ƒ|}|dkr½| |}tjd    ||f|ƒn’| dksÕ|dkrød}tjd
||f|ƒnW|| kr+|| }tjd ||f|ƒn$| | }tjd ||f|ƒtj|tj|d ƒtj|tj||ƒt|ƒt||gƒtS(NitTitleis ·ÇµÀ¾ß¼¤»îµÄ²»ÓÃÌí¼Ó: titleID=%ss,¼¤»îËùÐèÎïÆ·²»×ã! titleID=%s,lackItemDict=%sR#i<sYÌí¼Ó³ÆºÅ: titleID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss&    Ö¸¶¨Ê±³¤: titleID=%s,updEndTime=%ss&    ÓÀ¾Ãʱ³¤: titleID=%s,updEndTime=%ss&    ÀÛ¼Óʱ³¤: titleID=%s,updEndTime=%ss&    ÖØÐ¼¤»î: titleID=%s,updEndTime=%si(R3R4tGetIpyGameDatat GetUnlockWayR    RXtGetUnlockValuetGetUnlockNeedCnttGetItemManagertGetPackt IPY_GameWorldtrptItemt
ItemCommontGetCostItemIndexListt DelCostItemtGetExpireMinutesRnRoRpR?RqR>RrtLogtSetDictValueByBitt PlayerControltNomalDictSetPropertyR2RtTrue(RR_tsetExpireTimestisFreeR[R^titemIDt    itemCountt needItemListtitemPackt lackItemDictt delInfoDicttipyExpireSecondsRvtstateRxt
updEndTime((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR#sX         
 
 
 
tcCs=|jƒ}tjd|ƒ}|s(dStj|tj|ƒsDdStjd||f|ƒtj|tj|dƒt    j
|tj |dƒt    j |ƒ|krñt ƒ}|rÄtj|ƒnd}t    j||ƒtjd||ƒn|rt|ƒnt||gƒ|r9t    j||gg|gƒntS(NRys"ɾ³ý³ÆºÅ: titleID=%s,notifyMail=%sis-Íæ¼ÒÅå´÷µÄ³ÆºÅ±»É¾³ý£¬Ëæ»úÖØÖÃĬÈÏ! randID=%s(R3R4RzR    RpR?RqR†R‡RˆR‰RrR9tGetDefaultTitleIDListtrandomtchoicet
SetTitleIDRXR2Rt SendMailByKeyRŠ(RR_t isRefreshAttrt
notifyMailR[R^t defaultIDListtrandID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRsAs(      cCssg}tjƒ}xZt|jƒƒD]F}|j|ƒ}|jƒ}|jƒdkr^q%n|j|ƒq%W|S(Ni(R4R5R6R7R8R9R{Ru(RžR]RR^R_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR—[s  cCsftj|tj|ƒ}|r"tS|s=tjd|ƒ}n|rb|jƒ}|dkrbtSntS(NRyi(    R    RpR?RqRŠR4RzR{Rt(RR_R^R”t    unlockWay((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR:fs  cCs[|jƒ}t||ƒs3tjd||ƒdStjd||ƒtj||ƒdS(Ns¸Ã³ÆºÅ²»¿ÉÓÃ! titleID=%ssʹÓóƺÅ! titleID=%s(R3R:R    RXRˆRš(RR_R[((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR(us cCs-tj|ƒ|krdStj|dƒdS(Ni(RˆR9Rš(RR_((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR~sc Cs|jƒ}t||ƒs3tjd||ƒdStjd|ƒ}|sOdS|jƒ}|jtj    |ƒ}||kržtjd|||f|ƒdS|j
ƒdkr´dS|j ƒ}|j ƒ}| sÚ| rÞdS||gg}|j ƒjtjƒ}    tj||    ƒ\}
} |
rAtjd||
f|ƒdStj||    | dƒ|d} tjd|| f|ƒt||| ƒdS(    Ns¸Ã³ÆºÅ²»¿ÉÓÃ! titleID=%sRys%ÐǼ¶ÒÑÂú! titleID=%s,curStar=%s >= %sis,ÉýÐÇËùÐèÎïÆ·²»×ã! titleID=%s,lackItemDict=%st TitleStarUPisÉýÐÇ! titleID=%s,nextStar=%s(R3R:R    RXR4Rzt
GetStarMaxR>R?R@R{R|R}R~RR€RR‚RƒR„t SetTitleStar( RR_R[R^tstarMaxtcurStarRRŽRRR‘R’tnextStar((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR-„s:     
cCs|t||ƒsdStjd|ƒ}|s/dSt||jƒƒ}tj|tj||ƒt    |ƒt
||gƒt S(NRy( R:R4RztminR¢RˆR‰R?R@R2RRŠ(RR_tsetStarR^((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR£¤s
c Csh|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x¨|D] }tj    |t
j |ƒ}| rª|dkrªqsnt j ƒjtjƒ}    ||    _||    _|jt
j|ƒ|    _|jt
j|ƒ|    _|j|    ƒqsW|s!dSt j ƒjtjƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(tNoneR4R5R6R7R8RuR9R    RpR?RqtObjPoolt
GetPoolMgrtacquiretChPyNetSendPackt
tagSCTitletTitleIDtStateR>RrtEndTimeR@tStarttagSCTitleInfot    TitleListRBtCountt NetPackCommont SendFakePack( Rt titleIDListt
syncIDListR]RR^t    titleListR_R”ttitlet
clientPack((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR°s2               cCsåttjƒƒ}g}tjƒ}x§t|jƒƒD]“}|j|ƒ}|jƒ}tj    |t
j |ƒsvq7n|j t
j |ƒ}| s7||kr¥q7nt||tdƒr7|j|ƒq7q7W|rát|ƒndS(Nt ModelTimeout(RnRoR4R5R6RDRERFR    RpR?tDef_PDict_ModelStateR>tDef_PDict_ModelEndTimetDelModelRtRuR2(RRvRwR]RR^RiRx((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRÒs    c    Cs |dkrdS|jƒ}tjd|ƒ}|s8dS|jƒdkrbtjd||ƒdS|s|jƒ}|jƒ}| sŽ| r’dS||gg}|jƒj    t
j ƒ}    t j ||    ƒ\}
} |
rõtjd||
f|ƒdSt j||    | dƒn|jƒd} ttjƒƒ} tj|tj|ƒ}|jtj|ƒ}tjd||||| | f|ƒ|}|dkr½| |}tjd    ||f|ƒn’| dksÕ|dkrød}tjd
||f|ƒnW|| kr+|| }tjd ||f|ƒn$| | }tjd ||f|ƒtj|tj|d ƒtj|tj||ƒt|ƒt||gƒtS(NitModelis ·ÇµÀ¾ß¼¤»îµÄ²»ÓÃÌí¼Ó: modelID=%ss,¼¤»îËùÐèÎïÆ·²»×ã! modelID=%s,lackItemDict=%sRi<sYÌí¼ÓÐÎÏó: modelID=%s,setExpireTimes=%s,state=%s,endTime=%s,ipyExpireSeconds=%s,curTime=%ss&    Ö¸¶¨Ê±³¤: modelID=%s,updEndTime=%ss&    ÓÀ¾Ãʱ³¤: modelID=%s,updEndTime=%ss&    ÀÛ¼Óʱ³¤: modelID=%s,updEndTime=%ss&    ÖØÐ¼¤»î: modelID=%s,updEndTime=%si(R3R4RzR{R    RXR|R}R~RR€RR‚RƒR„R…RnRoRpR?R¾R>R¿R†R‡RˆR‰R2RRŠ(RRiR‹RŒR[R^RRŽRRR‘R’R“RvR”RxR•((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRèsX         
 
 
 
cCs7|jƒ}tjd|ƒ}|s(dStj|tj|ƒsDdStjd||f|ƒtj|tj|dƒt    j
|tj |dƒ|j ƒ|krët ƒ}|rÁtj|ƒnd}|j|ƒtjd||ƒn|rþt|ƒnt||gƒ|r3t    j||gg|gƒntS(NRÁs"ɾ³ýÐÎÏó: modelID=%s,notifyMail=%sis-Íæ¼ÒʹÓõÄÐÎÏó±»É¾³ý£¬Ëæ»úÖØÖÃĬÈÏ! randID=%s(R3R4RzR    RpR?R¾R†R‡RˆR‰R¿t GetModelMarktGetDefaultModelIDListR˜R™t SetModelMarkRXR2RR›RŠ(RRiRœRR[R^RžRŸ((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRÀ!s(       cCssg}tjƒ}xZt|jƒƒD]F}|j|ƒ}|jƒ}|jƒdkr^q%n|j|ƒq%W|S(Ni(R4R5R6RDRERFR{Ru(RžR]RR^Ri((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRÃ;s  cCsžtj|tj|ƒ}|r"tS|s=tjd|ƒ}n|rš|jƒ}|jƒ}|dkrktS|dkrš|}t    j
||ƒr“tSt Snt S(NRÁii( R    RpR?R¾RŠR4RzR{R|t
PlayerHerotGetHeroActiviteRt(RRiR^R”R t unlockValuetheroID((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRGFs    cCsX|jƒ}t||ƒs3tjd||ƒdStjd||ƒ|j|ƒdS(Ns¸ÃÐÎÏ󲻿ÉÓÃ! modelID=%ssʹÓÃÐÎÏó! modelID=%s(R3RGR    RXRÄ(RRiR[((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR$Ys  c Cs|jƒ}t||ƒs3tjd||ƒdStjd|ƒ}|sOdS|jƒ}|jtj    |ƒ}||kržtjd|||f|ƒdS|j
ƒdkr´dS|j ƒ}|j ƒ}| sÚ| rÞdS||gg}|j ƒjtjƒ}    tj||    ƒ\}
} |
rAtjd||
f|ƒdStj||    | dƒ|d} tjd|| f|ƒt||| ƒdS(    Ns¸ÃÐÎÏ󲻿ÉÓÃ! modelID=%sRÁs%ÐǼ¶ÒÑÂú! modelID=%s,curStar=%s >= %sis,ÉýÐÇËùÐèÎïÆ·²»×ã! modelID=%s,lackItemDict=%st ModelStarUPisÉýÐÇ! modelID=%s,nextStar=%s(R3RGR    RXR4RzR¢R>R?RHR{R|R}R~RR€RR‚RƒR„t SetModelStar( RRiR[R^R¤R¥RRŽRRR‘R’R¦((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyR)bs:     
cCs|t||ƒsdStjd|ƒ}|s/dSt||jƒƒ}tj|tj||ƒt    |ƒt
||gƒt S(NRÁ( RGR4RzR§R¢RˆR‰R?RHR2RRŠ(RRiR¨R^((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRʂs
c Csh|dkr`g}tjƒ}xEt|jƒƒD](}|j|ƒ}|j|jƒƒq1Wn|}g}x¨|D] }tj    |t
j |ƒ}| rª|dkrªqsnt j ƒjtjƒ}    ||    _||    _|jt
j|ƒ|    _|jt
j|ƒ|    _|j|    ƒqsW|s!dSt j ƒjtjƒ}
||
_t|
jƒ|
_tj||
ƒdS(N(R©R4R5R6RDRERuRFR    RpR?R¾RªR«R¬R­t
tagSCModeltModelIDR°R>R¿R±RHR²ttagSCModelInfot    ModelListRBRµR¶R·( Rt modelIDListR¹R]RR^t    modelListRiR”tmodelR¼((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyRŽs2               (2R    R‚R/RRˆR4R­R€R¶RRÅR?RªR˜RoRRRR!RRRRRRRR2R.RR©RtR#RŠRsR—R:R(RR-R£RRRRÀRÃRGR$R)RÊR(((shD:\SG_ServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\Player\PlayerHJG.pyt<module>s\                                               l    9                           "    9