cehua_lyf
2019-03-06 3c8ee0a8a524a6251d7d5aae2372e76fd8a99b9c
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
´’CZc@sdZddlZddlZddlZddlZddlZddlTddlmZddl    Tddl
m Z ddl
m Z ddl
m Z edƒ\ZZZed    ƒ\ZZZZd
fd „ƒYZd fd „ƒYZdefd„ƒYZdS(s2012-08-30 16:30iÿÿÿÿN(t*(tConfigIniReader(ttagCPlayerMove(ttagCPlayerStopMove(t tagCChangeMapiitPlayerMoveInfocBs¡eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d    „Z d
„Z d „Z d „Zd „Zd„Zd„Zd„ZRS(cCsUt|_d|_d|_d|_d|_d|_d|_d|_||_    dS(Ni(
tPS_Nullt_PlayerMoveInfo__PlayerStatet_PlayerMoveInfo__MoveTickt_PlayerMoveInfo__StartPosXt_PlayerMoveInfo__StartPosYt_PlayerMoveInfo__Speedt_PlayerMoveInfo__DestPosXt_PlayerMoveInfo__DestPosYt_PlayerMoveInfo__processTickt_PlayerMoveInfo__MapMove(tselftmapMove((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt__init__7s                                cCs ||_dS(N(R(Rt processTick((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytSetProcessTickGscCs|jS(N(R(R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytGetProcessTickOscCs|jS(N(R(R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetMoveTickWscCs ||_dS(N(R(Rttick((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt SetMoveTick_scCs|jS(N(R (R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetDestPosXgscCs ||_dS(N(R (Rtvalue((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt SetDestPosXnscCs|jS(N(R (R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetDestPosYvscCs ||_dS(N(R (RR((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt SetDestPosY~scCs|jS(N(R (R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytGetSpeed†scCs ||_dS(N(R (RR((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytSetSpeedŽscCs|jS(N(R(R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytGetState–scCs ||_dS(N(R(Rtstate((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytSetStatežscCs|jS(N(R
(R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetStartPosY¦scCst|ƒ|_dS(N(tintR
(Rtpos((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt SetStartPosY®scCs|jS(N(R    (R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetStartPosX¶scCst|ƒ|_dS(N(R$R    (RR%((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt SetStartPosX¾s(t__name__t
__module__RRRRRRRRRRRR R"R#R&R'R((((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR1s"                                                                tMapMovecBsŒeZgZd„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „Zd „ZRS(cCs¿d|_d|_d|_d|_d|_g|_tƒ|_t    j
ƒj ƒ|_ |jdkrv|jj ƒn|jƒ|_|jjƒ|_g|_i|_g|_||_dS(Ni(tNonet_MapMove__WaitFlagt_MapMove__PlayerMoveFunct_MapMove__PlayerDestMapIDt_MapMove__PlayerDestPosXt_MapMove__PlayerDestPosYt_MapMove__PlayerMoveMapListtlistt_MapMove__PlayerMoveWayPointtTransportDataReadertGetTransportDatatGetAllTransportDatat_MapMove__AllTransportDatatclosetPlayerMoveYieldtnextt_MapMove__temWayListt_MapMove__temFindMapt_MapMove__temAllResultt _MapMove__ai(Rtai((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRÌs                                      cCs|jjjƒjƒ}|tjkr+dS||krrg}x|jD]}|j|ƒqGW|jj|ƒdS|j    j
|ƒt krŽdS|j j
|ƒr¤dSt |j |<|j    |}x>|D]6}|jj|ƒ|j|j|ƒ|jjƒqÅWdS(N(R?trobott GetPlayerInfot GetPlayerIDR+tmoveIsErrIdListR<tappendR>R8thas_keytFalseR=tTruet_MapMove__FindWayListTraceBackt TargetMapIDtpop(RtsrcMapIDt    destMapIDtplayerIdtcurWaytwaytwayList((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt__FindWayListTraceBackçs(    cCs|jjjƒjƒ}|tjkr+gSg|_i|_g|_|j    ||ƒg}|jj
ƒt |jƒdkr‚|S|jdS(Ni( R?RARBRCR+RDR<R=R>RItsorttlen(RRLRMRNtminList((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt
GetWayList
s             ccs=x6dVx(|j|j|j|jƒtkr3Pn|j|j|j|jƒxXt|jƒdkrŠ|jdj}|jdj    }n|j}|j}|j|j
j j ƒj ƒ||ƒtkrê|j||ƒ|j
jƒPnxº|j|j
j j ƒj ƒ||ƒtkr;|j||ƒ|j
jƒPn|dksS|dkrbtdƒ‚n|j||ƒt|jƒdkrtjd||fƒ|jƒ|j
j j ƒjƒ}|tjkrítjj|ƒtjdttjƒƒqíqínxŸt|jƒdkr£|jjdƒ}xq|j
j|j|jƒ|j|j|jƒdV|j|j
j j ƒj ƒ|j|jƒt krœq/nPq/qWqíqRt|jƒdkrÅq n|j
jƒ|jdj!dkr |j"|jdj#ƒdV|j
j j ƒj ƒ|jjdƒq q q qqdS(    Nt
start_moveisDest Pos Error!sPlayerMoveError: (%d, %d)sÌí¼Ó11moveIsErrIdList=%stoveritactive($t_MapMove__PlayerAtPosR/R0R1RHt PlayerFindWayRTR2tPosXtPosYR?RARBtGetMapIDt
PlayerStoptStopMovet    ExceptiontPlayerFindWayInMapR4tloggingtdebugtPlayerMoveSuccessRCR+RDREtstrRKt    StartMovetXtYt
PlayerMoveRGtcounttPlayerChangeMapt    RefreshID(RtdestPosXtdestPosYRNtcurPos((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR:"sh$        - - 
3     cCs2tƒ}||_||_|jjj|ƒdS(N(RR\R]R?RAtSend(RtstopPosXtstopPosYtpack((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR_ˆs            cCs|jjjƒjƒ}|tjkr+dStƒ}|jjjƒjƒ\|_|_    ||_
||_ |jjj |ƒdS(N( R?RARBRCR+RDRtGetPostStartXtStartYtDestXtDestYRq(RRnRoRNRt((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRj“s    $        cCs)tƒ}||_|jjj|ƒdS(N(Rt TransportIDR?RARq(Rt transPortIDRt((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRl£s        cCsV|jjjƒjƒ}|tjkr+dS|j|krR|jj|ƒ|_ndS(N(    R?RARBRCR+RDR-R.tsend(RtretRN((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytSendPlayerMoveYield­s
cCs¯|jjjƒjƒ}|tjkr+tS|jjjƒjƒ|krMtS|jjjƒj    ƒ\}}t
t ||ƒƒdkr‹tSt
t ||ƒƒdkr«tStS(Ni( R?RARBRCR+RDRHR^RGRuR$tabs(RtmapIDtdestXtdestYRNtcurPosXtcurPosY((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt __PlayerAtPos½scCs}|jjjƒjƒ}|tjkr+dS|j|jjjƒjƒ|ƒ|_||_    t
|ƒ|_ t
|ƒ|_ dS(N( R?RARBRCR+RDRVR^R2R/R$R0R1(RR€RnRoRN((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR[Ôs'    c
CsD|jjjƒjƒ}|tjkr+dStƒ|_|jjjƒjƒ\}}t    |ƒ}t    |ƒ}t    |ƒ}t    |ƒ}t
j ƒj |jjjƒj ƒƒjƒ|_|jj||||ƒxot|jjƒƒD]X}|jj|ƒ}    |dkr,|    j|kr,|    j|kr,qän|jj|    ƒqäWdS(Ni(R?RARBRCR+RDR3R4RuR$t MapDataReadert
GetMapDatatGetMapDataByIDR^t GetAStarPatht_MapMove__AStartPathtFindtrangetGetWayPointCountt
AtWayPointRhRiRE(
RRnRoRNRƒR„t    startPosXt    startPosYtiRp((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRbçs      0*cCsH|jjjƒjƒ}|tjkr+dStƒ|_|jjƒdS(N(    R?RARBRCR+RDR3R2R`(RRN((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRes   cCsW|jjjƒjƒ}|tjkr+dS||_||_||_|j    dƒdS(NRW(
R?RARBRCR+RDR/R0R1R~(RR€RnRoRN((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt PlayerMapMoves            cCs<|jjjƒjƒ}|tjkr+dS|jdƒdS(NRX(R?RARBRCR+RDR~(RRN((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytPlayerForceStopMoves
 (R)R*RDRRIRVR:R_RjRlR~RZR[RbReR’R“(((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR+Ås        #        f             
                        tAIPlayerRandomRuncBs€eZed„Zd„Zd„Zd„Zd„Zd„Zd„Z    d„Z
d„Z d    „Z d
„Z d „Zd „ZRS( cCsÐtjdƒtj||dttƒ||_t|_t|ƒ|_    t
|j    ƒ|_ |jrÌyd ddg|_ Wndddg|_ nXt |j ƒd |_|j tjd |jƒ|_ndS(Ns%###´´½¨AIPlayerRandomRunʵÀý####type g{®Gáz„?igi5ioitiGi-iliíii(igi5io(itiGi-(ili5ií(igi5io(itiGi-(ili5ií(RcRdtAIBaseRRHRARGtisAutoRunRoundR+RRtplayerMoveInfotrunRangeRTtmaxIndextrandomtrandintt
curRandPos(RRAR–((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR-s             cCsŸtjƒ}|d}|jj|ƒ|j|ƒ|jj|||ƒ|jjƒj    ƒ\}}|jjƒj
ƒ}|||f|||fkr›t St S(Niè( ttimetclockR—Rt ProcessMoveRR’RARBRuR^RHRG(RtmapIdtposXtposYRRƒR„tcurMapId((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt    MoveToPosHs 
 cCs\|jd|jtƒ|jd|jtƒ|jd|jtƒ|jd|jtƒdS(Niiii(t    RegNetMsgtOnRoleMoveFailRHtOnPlayerResetPostOnObjInfoRefreshtOnPlayerLoginLoadOKRG(RtaiMgr((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt_RegisterPacket_scCs´|jjƒtkrdS|jjƒtkr2dS|jjƒjƒ}|tj    krZdS|j
r°|j \}}}|j |||ƒr¬|j tjd|jƒ|_ ndSdS(Ni(RAt GetIsLoginOKRGR—R tPS_MoveRBRCR+RDR–RœR¤R˜RšR›R™(RRNt    moveMapIdtmovePosXtmovePosY((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt_Processis    "cCs+tjt||dƒt||dƒƒS(Ni(tmathtsqrttpow(RtsrcXtsrcYRR‚((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt GetDistancesc    Cs†|dkr||fS|j||||ƒ}|dkrD||fS|||t|ƒ|}|||t|ƒ|}||fS(Ni(R·tfloat(    RRµR¶RR‚t curMoveDistt    totalDisttresultXtresultY((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pytMovePos‰s 
 
c    CsÉ|jjƒtkrdS|jjƒjƒ\}}t||jjƒƒdkrÎt||jjƒƒdkrÎ|jjƒj    |jjƒƒ|jjƒj
|jjƒƒ|j ƒ|j j dƒdS|jjƒ}|dkr |jjdƒ|jjƒ}n||jjƒ|jjƒkr1dS||jjƒ}|t|ƒ}|j|jjƒ|jjƒ|jjƒ|jjƒ|ƒ\}}|jjƒj    |ƒ|jjƒj
|ƒdS(NiRXii(R—R R­RARBRuRRRtSetPosXtSetPosYR`RR~RRRR¸R½R'R#(    RRRƒR„tspeedtdiffTimetdisttxty((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRŸšs(>
 "EcCs“|jjtƒ|jj|jjƒjƒdƒ|jj|jjƒjƒdƒ|jj|ƒ|jj    |ƒ|jj
|jj ƒƒdS(Nii( R—R"R­R(RARBRuR&RRRR(RRR‚((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyRgÀs ##cCs4|jjtƒ|jjdƒ|jjdƒdS(Ni(R—R"RRR(R((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR`ÍscCs¯|jtkr«|j|jjƒjƒkr«|jdkrX|jjƒj|jƒq¨|jdkrƒ|jjƒj    |jƒq¨|jdkr¨|j
j dƒq¨q«ndS(NiiiGi( tObjTypet    gotPlayertObjIDRARBRCt RefreshTypeR¾tValueR¿R—R(RtpackOnObjInfoRefresh((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR¨×scCsMtjdƒ|jjƒj|jƒ|jjƒj|jƒ|jƒdS(NsÖ÷½ÇÒÆ¶¯Ê§°Ü#tagRoleMoveFail(    RcRdRARBR¾R\R¿R]R`(RtpackOnRoleMoveFail((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR¦ís
 
cCsPtjdƒ|jjƒj|jƒ|jjƒj|jƒ|jj    ƒdS(Ns*Ë¢ÐÂÈËÎïÔÚ±¾µØÍ¼ÖеÄλÖÃ#tagPlayerResetPos(
RcRdRARBR¾R\R¿R]RR“(RtpackOnPlayerResetPos((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR§ÿs
  cCs!tjdƒ|jjdƒdS(Ns, Íæ¼ÒµÇ¼Êý¾Ý·¢ËÍÍê±ÏOK#tagPlayerLoginLoadOKRY(RcRdRR~(RtpackOnPlayerLoginLoadOK((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR© s (R)R*RHRR¤R«R±R·R½RŸRgR`R¨R¦R§R©(((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyR”'s         
                &         
                 (tVERtbase64RR²RšRct    AI.AIBasetConfigurationReaderRt
DataReadertProtocol.PacketsSendRRRRŒRR­tPS_EventtgotNoneRÆtgotNPCtgotItemRR+R•R”(((s'.\\Robot\AI\AIFile\AIPlayerRandomRun.pyt<module>s"     
 
”ÿc