def _walk_to(self, speed, lat, lng, alt): dist = distance(i2f(self.api._position_lat), i2f(self.api._position_lng), lat, lng) steps = (dist + 0.0) / (speed + 0.0) # may be rational number intSteps = int(steps) residuum = steps - intSteps logger.log('[#] Walking from ' + str((i2f(self.api._position_lat), i2f(self.api._position_lng))) + " to " + str(str((lat, lng))) + " for approx. " + str(format_time(ceil(steps)))) if steps != 0: dLat = (lat - i2f(self.api._position_lat)) / steps dLng = (lng - i2f(self.api._position_lng)) / steps for i in range(intSteps): cLat = i2f(self.api._position_lat) + \ dLat + random_lat_long_delta() cLng = i2f(self.api._position_lng) + \ dLng + random_lat_long_delta() self.api.set_position(cLat, cLng, alt) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta self._work_at_position(i2f(self.api._position_lat), i2f(self.api._position_lng), alt, False) self.api.set_position(lat, lng, alt) self.bot.heartbeat() logger.log("[#] Finished walking")
def _walk_to(self, speed, lat, lng, alt): dist = distance( i2f(self.api._position_lat), i2f(self.api._position_lng), lat, lng) steps = (dist + 0.0) / (speed + 0.0) # may be rational number intSteps = int(steps) residuum = steps - intSteps self.logger.info('[#] Walking from ' + str((i2f(self.api._position_lat), i2f( self.api._position_lng))) + " to " + str(str((lat, lng))) + " for approx. " + str(format_time(ceil(steps)))) if steps != 0: dLat = (lat - i2f(self.api._position_lat)) / steps dLng = (lng - i2f(self.api._position_lng)) / steps for i in range(intSteps): cLat = i2f(self.api._position_lat) + \ dLat + random_lat_long_delta() cLng = i2f(self.api._position_lng) + \ dLng + random_lat_long_delta() self.api.set_position(cLat, cLng, alt) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta self._work_at_position( i2f(self.api._position_lat), i2f(self.api._position_lng), alt, False) self.api.set_position(lat, lng, alt) self.bot.heartbeat() self.logger.info("[#] Finished walking")
def step(self): if (self.dLat == 0 and self.dLng == 0) or self.dist < self.speed: self.api.set_position(self.destLat, self.destLng, 0) self.bot.heartbeat() return True totalDLat = (self.destLat - self.initLat) totalDLng = (self.destLng - self.initLng) magnitude = self._pythagorean(totalDLat, totalDLng) unitLat = totalDLat / magnitude unitLng = totalDLng / magnitude scaledDLat = unitLat * self.magnitude scaledDLng = unitLng * self.magnitude cLat = self.initLat + scaledDLat + random_lat_long_delta() cLng = self.initLng + scaledDLng + random_lat_long_delta() self.api.set_position(cLat, cLng, 0) self.bot.event_manager.emit( 'position_update', sender=self, level='debug', data={ 'current_position': (cLat, cLng), 'last_position': (self.initLat, self.initLng), 'distance': '', 'distance_unit': '' } ) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta
def step(self): if (self.dLat == 0 and self.dLng == 0) or self.dist < self.speed: self.api.set_position(self.destLat + random_lat_long_delta(), self.destLng + random_lat_long_delta(), 0) self.bot.event_manager.emit('position_update', sender=self, level='debug', data={ 'current_position': (self.destLat, self.destLng), 'last_position': (self.initLat, self.initLng), 'distance': '', 'distance_unit': '' }) self.bot.heartbeat() return True totalDLat = (self.destLat - self.initLat) totalDLng = (self.destLng - self.initLng) magnitude = self._pythagorean(totalDLat, totalDLng) unitLat = totalDLat / magnitude unitLng = totalDLng / magnitude scaledDLat = unitLat * self.magnitude scaledDLng = unitLng * self.magnitude cLat = self.initLat + scaledDLat + random_lat_long_delta() cLng = self.initLng + scaledDLng + random_lat_long_delta() self.api.set_position(cLat, cLng, 0) self.bot.event_manager.emit('position_update', sender=self, level='debug', data={ 'current_position': (cLat, cLng), 'last_position': (self.initLat, self.initLng), 'distance': '', 'distance_unit': '' }) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta
def walk_to(self, speed, lat, lng, alt): dist = distance(i2f(self.api._position_lat), i2f(self.api._position_lng), lat, lng) steps = (dist / (self.AVERAGE_STRIDE_LENGTH_IN_METRES * speed)) logger.log("[#] Walking from " + str((i2f(self.api._position_lat), i2f(self.api._position_lng))) + " to " + str(str((lat, lng))) + " for approx. " + str(format_time(ceil(steps)))) if steps != 0: d_lat = (lat - i2f(self.api._position_lat)) / steps d_long = (lng - i2f(self.api._position_lng)) / steps for i in range(int(steps)): c_lat = i2f(self.api._position_lat) + d_lat + random_lat_long_delta() c_long = i2f(self.api._position_lng) + d_long + random_lat_long_delta() self.api.set_position(c_lat, c_long, alt) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta self._work_at_position(i2f(self.api._position_lat), i2f(self.api._position_lng), alt, False) self.api.set_position(lat, lng, alt) self.bot.heartbeat() logger.log("[#] Finished walking")
def step(self): if (self.dLat == 0 and self.dLng == 0) or self.dist < self.speed: self.api.set_position(self.destLat, self.destLng, 0) return True totalDLat = (self.destLat - self.initLat) totalDLng = (self.destLng - self.initLng) magnitude = self._pythagorean(totalDLat, totalDLng) unitLat = totalDLat / magnitude unitLng = totalDLng / magnitude scaledDLat = unitLat * self.magnitude scaledDLng = unitLng * self.magnitude cLat = self.initLat + scaledDLat + random_lat_long_delta() cLng = self.initLng + scaledDLng + random_lat_long_delta() self.api.set_position(cLat, cLng, 0) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta
def step(self): if (self.dLat == 0 and self.dLng == 0) or self.dist < self.speed: self.api.set_position(self.destLat, self.destLng, 0) return True totalDLat = (self.destLat - self.initLat) totalDLng = (self.destLng - self.initLng) magnitude = self._pythagorean(totalDLat, totalDLng) unitLat = totalDLat / magnitude unitLng = totalDLng / magnitude scaledDLat = unitLat * self.magnitude scaledDLng = unitLng * self.magnitude cLat = self.initLat + scaledDLat + random_lat_long_delta() cLng = self.initLng + scaledDLng + random_lat_long_delta() self.api.set_position(cLat, cLng, 0) self.bot.heartbeat() sleep(1) # sleep one second plus a random delta