コード例 #1
0
	def do_00c9(self, data_io):
		#whisper send
		name = io_unpack_str(data_io)
		message = io_unpack_str(data_io)
		p = users.get_pc_from_name(name)
		if p and p.online:
			#whisper message
			p.user.world_client.send("00ce", self.pc, message)
		else:
			self.send("00ca", name, -1) #whisper failed
コード例 #2
0
	def do_00c9(self, data_io):
		#whisper send
		name = io_unpack_str(data_io)
		message = io_unpack_str(data_io)
		p = users.get_pc_from_name(name)
		if p and p.online:
			#whisper message
			p.user.login_client.send("00ce", self.pc, message)
		else:
			self.send("00ca", name, -1) #whisper failed
コード例 #3
0
	def do_00a0(self, data_io):
		#キャラクター作成
		#02 03313100 00 00 0000 32 0000
		num = io_unpack_byte(data_io)
		name = io_unpack_str(data_io)
		race = io_unpack_byte(data_io)
		gender = io_unpack_byte(data_io)
		hair = io_unpack_short(data_io)
		hair_color = io_unpack_byte(data_io)
		face = io_unpack_short(data_io)
		general.log("[login] create character:", "num", num, "name", name,
			"race", race, "gender", gender, "hair", hair,
			"haircolor", hair_color, "face", face)
		try:
			if self.user.pc_list[num]:
				self.send("00a1", "slotexist") #キャラクター作成結果
				return
			if users.get_pc_from_name(name):
				self.send("00a1", "nameexist") #キャラクター作成結果
				return
			if hair > 15 or hair_color < 50:
				raise ValueError(
					"user %s hair %s hair_color %s"%(
					self.user.name, hair, hair_color))
				return
			if not users.make_new_pc(
				self.user, num, name, race, gender, hair, hair_color, face):
				self.send("00a1", "slotexist") #キャラクター作成結果
				return
		except ValueError:
			self.send("00a1", "other") #キャラクター作成結果
			return
		else:
			self.send("00a1", "sucess") #キャラクター作成結果
			self.send("0028", self.user) #4キャラクターの基本属性
			self.send("0029", self.user) #4キャラクターの装備
コード例 #4
0
	def do_00a0(self, data_io):
		#キャラクター作成
		#02 03313100 00 00 0000 32 0000
		num = io_unpack_byte(data_io)
		name = io_unpack_str(data_io)
		race = io_unpack_byte(data_io)
		gender = io_unpack_byte(data_io)
		hair = io_unpack_short(data_io)
		hair_color = io_unpack_byte(data_io)
		face = io_unpack_short(data_io)
		general.log("[login] create character:", "num", num, "name", name,
			"race", race, "gender", gender, "hair", hair,
			"haircolor", hair_color, "face", face)
		try:
			if self.user.pc_list[num]:
				self.send("00a1", "slotexist") #キャラクター作成結果
				return
			if users.get_pc_from_name(name):
				self.send("00a1", "nameexist") #キャラクター作成結果
				return
			if hair > 15 or hair_color < 50:
				raise ValueError(
					"user %s hair %s hair_color %s"%(
					self.user.name, hair, hair_color))
				return
			if not users.make_new_pc(
				self.user, num, name, race, gender, hair, hair_color, face):
				self.send("00a1", "slotexist") #キャラクター作成結果
				return
		except ValueError:
			self.send("00a1", "other") #キャラクター作成結果
			return
		else:
			self.send("00a1", "sucess") #キャラクター作成結果
			self.send("0028", self.user) #4キャラクターの基本属性
			self.send("0029", self.user) #4キャラクターの装備