コード例 #1
0
ファイル: player_kill.py プロジェクト: epicvrvs/craw_module
	def process_bytes(self, bytes):
		if not configuration.player_kill_information:
			return
			
		if len(bytes) < 26:
			return
			
		if bytes[0 : 2] != [0x5a, 0x06]:
			return
			
		#print utility.get_packet_string(bytes)
			
		victim_name = utility.read_name(bytes, 8)
		killer_name = utility.read_name(bytes, 24)
		
		#self.lame_print(victim_name, killer_name)
		
		victim = utility.get_player_data_by_name(victim_name)
		killer = utility.get_player_data_by_name(killer_name)
		
		if victim == None or killer == None:
			return
		
		self.request_lock.acquire()
		self.pending_requests.append(player_kill_whois_request(victim_name, killer_name))
		self.request_lock.release()
		
		self.bncs_handler.whois(victim_name, self.victim_whois_handler)
コード例 #2
0
ファイル: packets.py プロジェクト: epicvrvs/craw_module
def parse_join(bytes):
    if len(bytes) < 26 or bytes[0] != 0x5B:
        return None

    player_id = utility.read_bytes(bytes, 3, 4)
    player_name = utility.read_name(bytes, 8)
    character_class = bytes[7]
    level = utility.read_bytes(bytes, 24, 2)

    return player_id, player_name, character_class, level
コード例 #3
0
ファイル: packets.py プロジェクト: epicvrvs/craw_module
def parse_assignment(bytes):
    if len(bytes) < 26 or bytes[0] != 0x59:
        return None

    player_id = utility.read_bytes(bytes, 1, 4)
    character_class = bytes[5]
    player_name = utility.read_name(bytes, 6)
    x = utility.read_bytes(bytes, 22, 2)
    y = utility.read_bytes(bytes, 24, 2)

    return player_id, character_class, player_name, x, y