def lib2Dock(self): proc = self.proc while(dolScript.getLocationType(proc) == dolCallEnum.LocType.House): dolCall.enterDoor(proc, self.cityRead.libOutID) time.sleep(0.5) while(dolScript.getLocationType(proc) == dolCallEnum.LocType.City): dolCall.move(proc, dolCallEnum.MoveTo.Dock) time.sleep(0.5) self.nextDoFunc = self.toSecDock self.nextDoPara = []
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 = []
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]
def follow(proc, userid): #print len(area.followCmd) userid = int(userid) type = 0x3C if(dolScript.getLocationType(proc) == dolCallEnum.LocType.Sea): type = 0x3B cpara = (c_ubyte * PARASIZE)() #=========================================================================== # for i in range(len(area.followPara)): # cpara[i] = area.followPara[i] #=========================================================================== p = cast(cpara, POINTER(c_int)) #print cpara #print p p[0] = userid p[1] = type #high = random.randrange(0x100,0x1FF) << 16 #p[5] += high #print p[4] #for i in range(6): #print p[i] #=========================================================================== # for i in range(24): # print "pp = %x" % (cpara[i]) #=========================================================================== dountil(isNormal, [proc]) execCmd(proc, area.followCmd, cpara)