hwj35
2025-08-01 5e08239b0d48785dae03bfea67698afb6a1c67f3
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
¤9gc@sddlZddlZddlZddlZddlZddlZddlZddlZdZdZ    d„Z
d„Z d„Z d„Z d„Zd    „Zd
„Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z d„Z!d„Z"d„Z#d„Z$d „Z%d!„Z&d"„Z'd#„Z(d$„Z)d%„Z*d&„Z+d'„Z,d(„Z-d)„Z.d*d+„Z/d,d-„Z0d.Z1d/„Z2d0„Z3d*d1„Z4d2„Z5dS(3iÿÿÿÿNtcmd_mails2014-12-15 11:00cCs|dkr|S|dS(Nil((tnum((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytToDWORD+s cCswd}t|ƒ}x^gt|ƒD]}|ddkr"|^q"D]-}|ttj|||d!dƒƒ7}qBW|S(Ntiii(tlentrangetchrtstringtatoi(thexStrt    returnStrt    hexStrLentjti((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytHexToBin4s
 6+cCsddl}|jƒS(Niÿÿÿÿ(t    tracebackt
format_exc(R((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytGetExceptionInfo@s c
Cs‚tjddgdtdtjdtjdtjƒ}|jjd|ƒ|jjƒ|jjƒ}||j    jƒ7}|GH|S(NtcmdRtshelltstdintstdouttstderrs%s
(
t
subprocesstPopentFalsetPIPERtwritetcloseRtreadR(tcurCmdtpipetretStr((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytRunCmdJs cBs,|jddƒ}d|d}|dU|S(Ns's\'sdesStr='(treplace(tsrcStrtdesStrR((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
GetCodeStrZscCs-tjd||ƒ}|d7}|d|fS(NtBii(tstructt unpack_from(tbuftpostcurValue((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytReadBYTE‡s
cCs-tjd||ƒ}|d7}|d|fS(NtHii(R'R((R)R*R+((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytReadWORDs
cCs-tjd||ƒ}|d7}|d|fS(NtIii(R'R((R)R*R+((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    ReadDWORD™s
cCs-tjd||ƒ}|d7}|d|fS(Ntfii(R'R((R)R*R+((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    ReadFloat¢s
cCs-tjd||ƒ}|d7}|d|fS(Ntdii(R'R((R)R*R+((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
ReadDouble«s
cCs1tjd|||ƒ}||7}|d|fS(Ns%dsi(R'R((R)R*t_lenR+((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
ReadString´s
cCs7|dkr|jƒ}n |jƒ}tj||ƒS(Ni(tlowertupperR'tpack(tsigntvalue((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytPack¿s  cCs|td|ƒ7}|S(NR&(R<(R)R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    WriteBYTEÍscCs|td|ƒ7}|S(NR-(R<(R)R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    WriteWORDÖscCs|td|ƒ7}|S(NR/(R<(R)R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
WriteDWORDÞscCs|tjd|ƒ7}|S(NR1(R'R9(R)R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
WriteFloatæscCs|tjd|ƒ7}|S(NR3(R'R9(R)R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt WriteDoubleîscCs|tjd||ƒ7}|S(Ns%ds(R'R9(R)RR;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt WriteStringöscCs+tjt||dƒt||dƒƒS(Ni(tmathtsqrttpow(tsrcXtsrcYtdestXtdestY((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt GetDistanceþscCsƒ|dkr||fSt||||ƒ}|dkrA||fS|t|ƒ|||}|t|ƒ|||}||fS(Ni(RJtfloat(RFRGRHRIt curMoveDistt    totalDisttresultXtresultY((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytMovePoss 
 
cCs2tjjƒ}t|ƒ}|jdƒd}|S(Ns.i(tdatetimettodaytstrtsplit(tcurTimet
curTimeStr((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytGetCurrentDataTimeStrs cCs&|jdƒd}tjj|dƒS(Ns.is%Y-%m-%d %H:%M:%S(RTRQtstrptime(ttimeStr((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytGetDateTimeByStr)sicCs-yt|ƒ}|SWntk
r(|SXdS(N(tintt
ValueError(tinputtdefValuetresult((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytToIntDef4s
  cCs©d|dd!}tj|d |dd!ddƒ}tj|d |dd!ddƒ}tj|d |dd    !ddƒ}t|ƒd
t|ƒd
t|ƒ}|S( Nt0xiiiitbaseiiis,(RRRS(thtredtgreentbluetcStr((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytHcToScAs $$$(cCsŽttj|jdƒdƒƒd}ttj|jdƒdƒƒd}ttj|jdƒdƒƒd}dt|||ƒ}|S(Ns,iiis#(thexRRRTRS(tsRdReRfthStr((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytScToHcNs
&&&cCs¡tj|dd!|dd!ddƒ}tj|dd!|dd!ddƒ}tj|dd!|dd!ddƒ}t|ƒdt|ƒdt|ƒ}|S(    NiiiRbiiis,(RRRS(RcRdReRfRg((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytHdToSd[s
'''(cCsŽttj|jdƒdƒƒd}ttj|jdƒdƒƒd}ttj|jdƒdƒƒd}dt|||ƒ}|S(Ns,iiiRa(RiRRRTRS(RjRdReRfRk((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytSdToHdgs
&&&cCs'yt|ƒSWntk
r"dSXdS(NsDivision is Zero(tevaltZeroDivisionError(R;((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytSafeEvalss cCs„t|tƒsdS|jdƒ}|d}xQtdt|ƒƒD]:}|d||7}tjj|ƒsBtj|ƒqBqBWdS(Ns\ii(    t
isinstanceRSRTRRtostpathtexiststmkdir(tpartpathListRtR ((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytMakeAppointDirs
cCs¶t|tƒsdS|jdƒ}|d}xƒtdt|ƒƒD]l}|d||7}|t|ƒdkrŒt|dƒ}|jƒqBtjj    |ƒsBtj
|ƒqBqBWdS(Ns\iitw( RrRSRTRRtopenRRsRtRuRv(RwRxRtR tfile((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytMakeAppointFileœs
 cCsctjj|ƒsdS|dttjjƒƒjƒd}tjj|ƒs_tj|ƒndS(Ns\i(RsRtRuRSRQRRRTRv(RwRt((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytMakeCurTimeDir¯s
'cGsºd|kr|St|ƒ}|}d|krC|jddƒ}n|jdƒ}||kr¢t|ƒ}x%t||ƒD]}|jdƒq{Wt|ƒ}dSt|| ƒ}||S(Ns%s%%Ris0func:GetReplaceString();error:the parameter lack(RR"tcounttlistRtappendttuple(Rtvarlistt repalceCounttnewStrtneedReplaceCountttempListR t replaceTuple((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytGetReplaceString½s      cCs‰ddl}ddl}d}|j||ƒs4|St|dƒ}|j}y-tdt|ƒdƒ}|j|ƒ}Wn|SX|S(Niÿÿÿÿs#[0-9]+isu'\u%s'i(tret ShareDefinetmatchR[tDef_Game_Character_EncodingRoRitencode(tU_STRRŠR‹tRegularExpressiont
UnicodeNumtCODECtunicode_stringtGBK_str((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytUnicodeStrToGBKStr×s      c
Csut}d}xbtt|ƒƒD]N}|r7t}qn|t|ƒdkr||||krj||}n|||}Pndt||ƒkodknrBdt||dƒkoÇdknsödt||dƒkoñdknrt}||||d!}qm|||kr1||}qm|||}q|||kr_||}q|||}qW|S(    NRiiiþi@i~i¡i(RRRtordtTrue(R#R:tdesSignt
isContinueR$R ((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytReplaceBig5AppointSignìs, &T  cCstj|ƒ}|d@S(Niÿÿÿ(tbinasciitcrc32(tmsgtcrc((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    GetStrCrcscs‡fd†}|S(Ncs~ddl}|jƒ}yA|jƒˆj}ˆ||Ž}|j|ƒ|jƒ|SWntk
rytjdƒnXdS(NiÿÿÿÿsDoCProfile Err!(    tcProfiletProfiletenablet__name__t
dump_statstdisablet BaseExceptiont    GameWorldtErrLog(targstkwargsR tprofiletfuncNameR_(tfunc(saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt Profiled_func(s  
     
 ((R­R®((R­saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
DoCProfile&scCsyddl}t|ƒ|kr"|S|| }xFtdƒD]8}y(||| j|jƒj|jƒSWq9q9Xq9WdS(Niÿÿÿÿi
R(R‹RtxrangetdecodeRRŽ(R#tmaxLenR‹t tempCommentR ((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt GetStrCutoffEs 
(icCs3|t|ƒ}t|ƒjdƒr/t|ƒS|S(scoinת»¯ÎªÔª
    s.0(RKRStendswithR[(t    orderCointratetyuan((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt
CoinToYuanSs
idcCsttjt||ƒƒƒS(sؠԪתΪcoin£¬Í³Ò»º¯Êý£¬·½±ãÐ޸ļ°ËÑË÷
    @param floatRMB: µ¥Î»Ôª£¬float ÀàÐÍ£¬Ö§³Ö RMB »ò ÃÀÔª
    @param rate: ×ª»¯±ÈÀý£¬Ô½Äϰ汾Åä±í¼°coin¾ùʹÓÃÔ½Ä϶ÜÔ­Öµ£¬¼´±ÈÀýΪ1:1£¬¹ÊĬÈÏÖµ¸Ä1
    @return: ×ª»¯ÎªcoinÊýÖµ
    (R[RCtceiltround(tfloatRMBR·((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt    RMBToCoin[ss@0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/cCsZ|dkrt|ƒ}nd}x,|dkrOt|d|}|d}q$W|pYdS(s½«Ê®½øÖÆÊýת»»Îª64½øÖÆiRi@t0(tabst    symbols64(tnumberR_((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt Convert10To64fs cCs2d}x%|D]}|dtj|ƒ}q W|S(s½«64½øÖÆÊýת»»ÎªÊ®½øÖÆii@(RÀtindex(tnumber64R;tdigit((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt Convert64To10ps cCs7||||!}|jddƒ}|s-dSt|ƒS(s½âÎöÍæ¼ÒÉèÖô洢s*Ri(R"RÆ(t playerSettingRÃtcLenRj((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt ParseSettingws
c
Cs°g}t|ddƒ}d|d}d}x}t||dƒD]h}|}t||dƒ}|rq|d}n|t|ƒkr‡Pn||}    |j|    ƒ|d7}q@W|S(s~½âÎöÍæ¼ÒÉèÖà - ×Ô¶¯Êͷż¼ÄÜ˳ÐòÁбí
    @param playerSetting: Íæ¼ÒÉèÖñ£´æ´®
    @param skillOrderList: ¼¼ÄÜĬÈÏ˳ÐòÁбí
    iii ii(RÉRRR(
RÇtdefaultSkillListtplayerSkillSetListtSkillMatchPaget    fromIndextindexNumRÃt
skillIndextvtskillID((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pytParseSetting_AutoSkillLists 
 (6RsR'RRCRQRR›R§t MODULE_NAMEtVERRRRR!R%R,R.R0R2R4R6R<R=R>R?R@RARBRJRPRWRZR`RhRlRmRnRqRyR}R~R‰R•RšRŸR¯R´R¹R½RÀRÂRÆRÉRÒ(((saE:\SnxxServerCode\ServerPython\ZoneServerGroup\map1_8G\MapServer\MapServerData\Script\CommFunc.pyt<module>sj                         
        -                                                                                                                                               1