def run(): logger.debug('going to say hi to err1') player = Player() client = Client() entity_list = client.get_entity_list() original_coords = deepcopy(player.position) for entity in entity_list: MovementEngine.teleport_to(entity.position) time.sleep(0.75) MovementEngine.teleport_to(original_coords) logger.debug('homie im hon')
def get_nearest_enemy(): player = Player() client = Client() # Exclude mobs this much higher/lower than you MAX_LVL = 1 MIN_LVL = 2 # Gets all entities loaded in memory, <= 63 entity_list = client.get_entity_list() min_dist = float('inf') nearest_enemy = None for entity in entity_list: # Skip dead ones if not entity.parameters.current_hp: continue # if entity.level < player.level - MIN_LVL: # continue if entity.level > player.level + MAX_LVL: continue distance = None try: distance = MovementEngine.get_2d_distance( player.position, entity.position ) except Exception: import ipdb; ipdb.set_trace() if distance < min_dist: nearest_enemy = entity min_dist = distance assert nearest_enemy, 'Found no enemies :"(' logger.info( 'Nearest enemy: Lvl. %d %s, Address: %s', nearest_enemy.level, nearest_enemy.name, hex(nearest_enemy.address) ) return nearest_enemy