def invite_all(): print 'Inviting all players' my_player = utility.get_my_player() players = craw.get_players() for player in players: if my_player.id == player.id: continue packets.invite_player(player.id)
def hostile_players(): print "Declaring hostility to all players" players = craw.get_players() my_id = craw.get_player_id() players = filter(lambda player: player.id != my_id and player.level >= 9, players) packet = "" for player in players: packet += hostile_player_string(player.id) craw.send_packet(packet)
def print_players(self, arguments): players = craw.get_players() index = 0 for player in players: print 'Player index: %d' % index print 'Name: %s' % player.name print 'ID: %08x' % player.id print 'Level: %d' % player.level print 'Character class: %d' % player.character_class print 'Life: %d' % player.life print 'Area: %d' % player.level_id print 'Location: (%d, %d)\n' % (player.x, player.y) print 'Party ID: %08x' % player.party index += 1
def flash(self, arguments): try: index = int(arguments[0]) delay = int(arguments[1]) except: print 'Invalid input' return players = craw.get_players() if index < 0 or index >= len(players): print 'Invalid player index specified' return id = players[index].id print 'Launching a flash thread for id %08x at %d ms' % (id, delay) delay = float(delay) / 1000.0 self.flash_objects.append(flash.flash_thread(id, delay))
def get_target(self): players = craw.get_players() my_player = utility.get_my_player() players = filter(lambda x: x.level >= 9 and x.x != 0 and x.id != my_player.id and not self.is_a_friend(x), players) players = map(lambda x: (utility.get_d2_distance(my_player, x), x), players) players = filter(lambda x: x[0] <= configuration.maximal_attack_distance, players) players.sort(cmp = utility.sort_units) if len(players) == 0: print 'There are no suitable targets in range.' return None print 'List of targets:' counter = 1 for distance, player in players: print '%d. %s: %.2f (%d, %d)' % (counter, player.name, distance, player.x, player.y) counter += 1 target = players[0][1] return target
def is_in_range(self, id): players = filter(lambda x: x.id == id, craw.get_players()) if len(players) == 0: return False player = players[0] return player.x != 0