private void OnCreateCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { Log.InfoFormat("UserCreateCharacterRequest: Name:{0} Class:{1}", request.Name, request.Class); TCharacter character = new TCharacter() { Name = request.Name, Class = (int)request.Class, TID = (int)request.Class, MapID = 1, MapPosX = 5000, MapPosY = 4000, MapPosZ = 820, }; DBService.Instance.Entities.Characters.Add(character); sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.createChar = new UserCreateCharacterResponse(); message.Response.createChar.Result = Result.Success; message.Response.createChar.Errormsg = "None"; byte[] data = PackageHandler.PackMessage(message); sender.SendData(data, 0, data.Length); }
private void OnCreateCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { Log.InfoFormat(" UserCreateCharacterRequest: name:{0} class:{1}", request.Name, request.Class); NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.createChar = new UserCreateCharacterResponse(); TCharacter character = new TCharacter() { Name = request.Name, Class = (int)request.Class, TID = (int)request.Class, MapID = 1, MapPosX = 5000, MapPosY = 4000, MapPosZ = 820, Gold = 100000, Equips = new byte[28], }; var bag = new TCharacterBag(); bag.Owner = character; bag.Items = new byte[0]; bag.Unlocked = 20; character.Bag = DBService.Instance.Entities.TCharacterBags.Add(bag); character.Items.Add(new TCharacterItem() { Owner = character, IteamID = 1, ItemCount = 20, }); character.Items.Add(new TCharacterItem() { Owner = character, IteamID = 2, ItemCount = 20, }); character = DBService.Instance.Entities.Characters.Add(character); sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); foreach (var c in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); info.Id = 0; info.Name = c.Name; info.Type = CharacterType.Player; info.Class = (CharacterClass)c.Class; info.Tid = c.ID; message.Response.createChar.Characters.Add(info); } message.Response.createChar.Result = Result.Success; message.Response.createChar.Errormsg = "None"; byte[] data = PackageHandler.PackMessage(message); sender.SendData(data, 0, data.Length); }
private void OnCreatCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest message) { NetMessage rsp = new NetMessage(); rsp.Response = new NetMessageResponse(); rsp.Response.createChar = new UserCreateCharacterResponse(); if (sender.Session.User == null) { rsp.Response.createChar.Result = Result.Failed; rsp.Response.createChar.Errormsg = "未登录,请重新登录"; } else { if (/*Illegal(message.Class)*/ false) { rsp.Response.createChar.Result = Result.Failed; rsp.Response.createChar.Errormsg = $"职业错误,不含职业Id{message.Class}"; } else if (/*illegal(message.Name)*/ false) { rsp.Response.createChar.Result = Result.Failed; rsp.Response.createChar.Errormsg = $"命名非法"; } else { rsp.Response.createChar.Result = Result.Success; TCharacter character = new TCharacter(); character.Name = message.Name; character.Class = (int)message.Class; character.TID = (int)message.Class; character.MapID = 1; character.MapPosX = 5000; character.MapPosY = 5000; character.MapPosZ = 5000; sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); foreach (var c in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); info.Id = c.ID; info.Name = c.Name; info.Class = (CharacterClass)c.Class; rsp.Response.createChar.Characters.Add(info); } } byte[] mes = PackageHandler.PackMessage(rsp); sender.SendData(mes, 0, mes.Length); } }
void OnCharacterCreate(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { sender.Session.Response.createChar = new UserCreateCharacterResponse(); TCharacter character = DBService.Instance.Entities.Characters.Where(c => c.Name == request.Name).FirstOrDefault(); if (character == null) { character = new TCharacter() { Name = request.Name, Class = (int)request.Class, TID = (int)request.Class, MapID = 1, MapPosX = 32508, MapPosY = 39126, MapPosZ = 2233, MapDirection = 9000, Equiped = new byte[sizeof(int) * 10], Gold = 10000, Level = 1, CGMsgID = 0 }; character = DBService.Instance.Entities.Characters.Add(character); sender.Session.TUser.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); sender.Session.Response.createChar.Result = Result.Success; sender.Session.Response.createChar.Errormsg = "None"; foreach (TCharacter chr in sender.Session.TUser.Player.Characters) { NCharacterInfo nCharacterInfo = new NCharacterInfo() { Id = chr.ID, Name = chr.Name, Class = chr.Class, Level = chr.Level }; sender.Session.Response.createChar.Characters.Add(nCharacterInfo); } } else { sender.Session.Response.createChar.Result = Result.Failed; sender.Session.Response.createChar.Errormsg = "重复的角色名"; } sender.SendResponse(); }
void OnCreateCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { NetMessage message = new NetMessage(); message.Response = new NetMessageResponse(); message.Response.createChar = new UserCreateCharacterResponse(); TCharacter character = DBService.Instance.Entities.Characters.Where( u => u.Name == request.Name).FirstOrDefault(); if (character != null) { message.Response.createChar.Result = Result.Failed; message.Response.createChar.Errormsg = "角色名已存在"; sender.SendData(message); return; } Log.InfoFormat("OnCreateCharacter:昵称{0},角色职业{1}", request.Name, request.Class); character = new TCharacter(); character.Name = request.Name; character.TID = (int)request.Class; character.MapID = 1; character.Class = (int)request.Class; character.MapPosX = 4700; character.MapPosY = 4500; character.MapPosZ = 800; character = DBService.Instance.Entities.Characters.Add(character); sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); message.Response.createChar.Result = Result.Success; message.Response.createChar.Errormsg = "none"; foreach (var c in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); info.Id = c.ID; info.Name = c.Name; info.Type = CharacterType.Player; info.Class = (CharacterClass)c.Class; info.Tid = c.TID; message.Response.createChar.Characters.Add(info); } sender.SendData(message); }
void OnCreateCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { Log.InfoFormat("UserCreateCharacterRequest: Name: {0}, Class: {1}", request.Name, request.Class); sender.Session.Response.createChar = new UserCreateCharacterResponse(); TCharacter character = DBService.Instance.Entities.Characters.Where((c) => c.Name == request.Name).FirstOrDefault(); if (character != null) { sender.Session.Response.createChar.Result = Result.Failed; sender.Session.Response.createChar.Errormsg = "Character name already existed"; } else { sender.Session.Response.createChar.Result = Result.Success; character = new TCharacter() { Name = request.Name, Class = (int)request.Class, TID = (int)request.Class, MapID = 1, //进入游戏世界时,出现在哪张地图 MapPosX = 5000, MapPosY = 4000, MapPosZ = 820, Gold = 500, Bag = new TCharacterBag(), Equip = new TCharacterEquipment() }; //init items character.Items.Add(new TCharacterItem() { Count = 20, ItemID = 1, Owner = character }); character.Items.Add(new TCharacterItem() { Count = 20, ItemID = 2, Owner = character }); //Init character bag to be empty TCharacterBag bag = character.Bag; bag.Size = 30; bag.Items = new byte[0]; bag.Owner = character; //Init character equipments to be empty TCharacterEquipment equipment = character.Equip; equipment.Owner = character; equipment.Weapon = 0; equipment.Accessory = 0; equipment.Boots = 0; equipment.Helmet = 0; equipment.Chest = 0; equipment.Pants = 0; equipment.Shoulder = 0; sender.Session.User.Player.Characters.Add(character); //session即内存中存储的用户信息 DBService.Instance.Entities.TCharacterBags.Add(bag); DBService.Instance.Entities.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); foreach (var c in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); info.Id = c.ID; info.Name = c.Name; info.Class = (CharacterClass)c.Class; Log.InfoFormat("{0}", info.Class.ToString()); info.Type = CharacterType.Player; sender.Session.Response.createChar.Characters.Add(info); } sender.Session.Response.createChar.Errormsg = "None"; } sender.SendResponse(); }
private void OnCharacterCrate(NetConnection <NetSession> sender, UserCreateCharacterRequest message) { Log.InfoFormat("UserCharacterCrateRequset:CharacterName:{0} ChaaracterClass:{1}", message.Name, message.Class); sender.Session.Response.createChar = new UserCreateCharacterResponse(); TCharacter character = new TCharacter() { Name = message.Name, Class = (int)message.Class, TID = (int)message.Class, Level = 1, MapID = 1, MapPosX = 5000, MapPosY = 4000, MapPosZ = 820, Gold = 100000, //初始10万金币 Equips = new byte[28], //int4个字节 7个槽位 }; TCharacterBag bag = new TCharacterBag(); bag.Owner = character; bag.Items = new byte[0]; bag.Unlocked = 20; character.Bag = DBService.Instance.Entities.TCharacterBags.Add(bag); character = DBService.Instance.Entities.Characters.Add(character); character.Items.Add(new TCharacterItem() { Owner = character, ItemID = 1, ItemCount = 20, }); character.Items.Add(new TCharacterItem() { Owner = character, ItemID = 2, ItemCount = 20, }); sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); foreach (var cha in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); //info.Id = cha.ID; //info.Class = (CharacterClass)cha.Class; //info.Name = cha.Name; info.Id = 0;//character.ID; info.Class = (CharacterClass)cha.Class; info.Type = CharacterType.Player; info.Name = cha.Name; info.ConfigId = cha.ID; sender.Session.Response.createChar.Characters.Add(info); } sender.Session.Response.createChar.Result = Result.Success; sender.Session.Response.createChar.Errormsg = "None"; sender.SendResponse(); }
private void OnCreateCharacter(NetConnection <NetSession> sender, UserCreateCharacterRequest request) { Log.InfoFormat("UserCreateCharacterRequest: Name:{0} Class:{1}", request.Name, request.Class); TCharacter character = new TCharacter() { Name = request.Name, Class = (int)request.Class, TID = (int)request.Class, Level = 1, MapID = 1, MapPosX = 1500, //初始出生位置X MapPosY = 2600, //初始出生位置Y MapPosZ = 820, Gold = 100000, //初始10万金币 HP = 100, MP = 50, Equips = new byte[28] }; var bag = new TCharacterBag(); bag.Owner = character; bag.Items = new byte[0]; bag.Unlocked = 20; character.Bag = DBService.Instance.Entities.CharacterBags.Add(bag); character = DBService.Instance.Entities.Characters.Add(character); character.Items.Add(new TCharacterItem() { Owner = character, ItemID = 1, ItemCount = 20, }); character.Items.Add(new TCharacterItem() { Owner = character, ItemID = 2, ItemCount = 20, }); character.TPets.Add(new TPet() { Owner = character, Id = 1, Tid = 1006, Level = 1, }); character.TPets.Add(new TPet() { Owner = character, Id = 2, Tid = 1006, Level = 1, }); sender.Session.User.Player.Characters.Add(character); DBService.Instance.Entities.SaveChanges(); sender.Session.Response.createChar = new UserCreateCharacterResponse(); sender.Session.Response.createChar.Result = Result.Success; sender.Session.Response.createChar.Errormsg = "None"; foreach (var c in sender.Session.User.Player.Characters) { NCharacterInfo info = new NCharacterInfo(); info.Id = c.ID; info.Name = c.Name; info.Type = CharacterType.Player; info.Class = (CharacterClass)c.Class; info.ConfigId = c.TID; sender.Session.Response.createChar.Characters.Add(info); } sender.SendResponse(); }