示例#1
0
def moveSea(proc):
    '''
    出航
    '''
    
    userid = dolScript.getPCID(proc)
    paraSize = 24
    cpara = (c_ubyte * paraSize)()
    ip = cast(cpara, POINTER(c_int))
    ip[0] = userid
    ip[1] = 0x41d34c
    
    #===========================================================================
    # ip[2] = random.randrange(0xA40000, 0x0141FFFF)
    # ip[3] = random.randrange(0x01410000, 0x01FFFFFF)
    # ip[4] = random.randrange(0xA40000, 0x0141FFFF)
    # ip[5] = random.randrange(0x01410000, 0x01FFFFFF)
    #===========================================================================
    
    paraBuf = writePara(proc, cpara)
        
    cmdBuf = writeCmd(proc, area.moveToSeaCmd)
    dowhile(isNormal, [proc])
    execCmd(proc, cmdBuf, paraBuf)
    time.sleep(changeDelay)
示例#2
0
 def makeBuy(self, tarhwnd, myhwnd):
     tarprocGuard = helper.ProcGuard(tarhwnd)
     myprocGuard = helper.ProcGuard(myhwnd)
     
     proc = myprocGuard.proc
     tarproc = tarprocGuard.proc
     
     myid = dolScript.getPCID(proc)
     myname = dolScript.getRoleName(proc)
     tarname = dolScript.getRoleName(tarproc)
     print tarname
     
     lock = MutexGuard(mutex)
     
     dolCall.openDialog(tarproc, myid, 0x32)
     dountil(dolScript.isDialogOpen, [tarproc])
     
     l = MutexGuard(msgBoxMutex)
     
     win32gui.ShowWindow(tarhwnd, win32con.SW_RESTORE)
     win32gui.SetActiveWindow(tarhwnd)
     win32gui.SetForegroundWindow(tarhwnd)
     msgBox(tarname, '請購買 [' + myname + '] 的露天……')
     win32gui.ShowWindow(tarhwnd, win32con.SW_MINIMIZE)
     dowhile(dolScript.isDialogOpen, [proc])
     print 'makeBuy end'
示例#3
0
def move(proc, moveto):
    '''
    从码头进入城市,或者从城市进入码头
    '''
    
    
    userid = dolScript.getPCID(proc)
    moveto = int(moveto)
        
    paraSize = 24
    cpara = (c_ubyte * paraSize)()
    ip = cast(cpara, POINTER(c_int))
    ip[0] = userid
    ip[1] = moveto
    
    ip[2] = random.randrange(0xA40000, 0x0141FFFF)
    ip[3] = random.randrange(0x01410000, 0x01FFFFFF)
    ip[4] = random.randrange(0xA40000, 0x0141FFFF)
    ip[5] = random.randrange(0x01410000, 0x01FFFFFF)
    paraBuf = writePara(proc, cpara)
        
    cmdBuf = writeCmd(proc, area.moveCmd)
    dowhile(isNormal, [proc])
    execCmd(proc, cmdBuf, paraBuf)
    time.sleep(changeDelay)
示例#4
0
def move(proc, moveto):
    '''
    从码头进入城市,或者从城市进入码头
    '''
    print 'move'
    #===========================================================================
    # if(moveto == dolCallEnum.MoveTo.Dock):
    #    print 'disabled for some reasons'
    #    return
    #===========================================================================
    
    userid = dolScript.getPCID(proc)
    moveto = int(moveto)
        
    
    cpara = (c_ubyte * PARASIZE)()
    ip = cast(cpara, POINTER(c_int))
    ip[0] = userid
    ip[1] = moveto
    
    
    
    dountil(isNormal, [proc])
    execCmd(proc, area.moveCmd, cpara)
    time.sleep(changeDelay)
    dountil(isNormal, [proc])
示例#5
0
 def toSecDock(self):    
     proc = self.proc
     cityID = self.citySec.cityID
     
     self.makeAllDo(dolCall.moveSea)
         
     while(dolScript.getLocationType(proc) == dolCallEnum.LocType.Dock):
         dolCall.moveSea(proc)
         time.sleep(0.5)
     
     myid = dolScript.getPCID(proc)
     self.makeAllDo(dolCall.follow, [myid])
         
     gotoCity(proc, cityID, self.cityRead.cityRouteDict[cityID])
     self.nextDoFunc = self.toReadDock
     self.nextDoPara = []
示例#6
0
 def dock2Lib(self):
     self.makeAllDo(dolCall.move, [self.cityRead.downShip])
     
     proc = self.proc
     while(dolScript.getLocationType(proc) != dolCallEnum.LocType.City):
         dolCall.move(proc, self.cityRead.downShip)
         time.sleep(1.5)
     
     myid = dolScript.getPCID(proc)
     self.makeAllDo(dolCall.follow, [myid])    
     
     x, y = self.cityRead.libEnterPos
     dolCall.walk(proc, x, y)
     time.sleep(1)
     dolCall.enterDoor(proc, self.cityRead.libEnterID)
     
     self.nextDoFunc = self.read
     self.nextDoPara = [self.hwnd, self.proc]
示例#7
0
def moveSea(proc):
    '''
    出航
    '''
    
    userid = dolScript.getPCID(proc)
    
    cpara = (c_ubyte * PARASIZE)()
    ip = cast(cpara, POINTER(c_int))
    ip[0] = userid
    ip[1] = 0x41d34c
    
    
        
    
    dountil(isNormal, [proc])
    execCmd(proc, area.moveToSeaCmd, cpara)
    time.sleep(changeDelay)
    dountil(isNormal, [proc])
示例#8
0
 def __whenRead():
     log('讀到圖')
     bossid = dolScript.getPCID(proc)
     dolCall.openDialog(proc, bossid, 0x20)
     myname = dolScript.getRoleName(proc)
     dountil(dolScript.isDialogOpen, [proc])
     
     l = MutexGuard(msgBoxMutex)
     msgBox(myname, '读到图。准备弹出窗口……')
     
     win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
     win32gui.SetActiveWindow(hwnd)
     
     win32gui.SetForegroundWindow(hwnd)
     msgBox(myname, '请在摆好露天后点击确定。(将会有购买窗口弹出……)')
     dowhile(dolScript.isDialogOpen, [proc])
     win32gui.ShowWindow(hwnd, win32con.SW_MINIMIZE)
     
     
     tarhwnd = self.serHwnd
     
     self.makeBuy(tarhwnd, hwnd)
     print 'one read loop end'