public void OnCharCreate(Packets.Client.CSMG_CHAR_CREATE p) { Packets.Server.SSMG_CHAR_CREATE_ACK p1 = new SagaLogin.Packets.Server.SSMG_CHAR_CREATE_ACK(); if (LoginServer.charDB.CharExists(p.Name)) { p1.CreateResult = SagaLogin.Packets.Server.SSMG_CHAR_CREATE_ACK.Result.GAME_SMSG_CHRCREATE_E_NAME_CONFLICT; } else { var slot = from a in account.Characters where a.Slot == p.Slot select a; if (slot.Count() != 0) { p1.CreateResult = SagaLogin.Packets.Server.SSMG_CHAR_CREATE_ACK.Result.GAME_SMSG_CHRCREATE_E_ALREADY_SLOT; } else { ActorPC pc = new ActorPC(); pc.Name = p.Name; pc.Face = p.Face; pc.Gender = p.Gender; pc.HairColor = p.HairColor; pc.HairStyle = p.HairStyle; pc.Race = p.Race; pc.Slot = p.Slot; pc.Wig = 0xFF; pc.Level = 1; pc.JobLevel1 = 1; pc.JobLevel2T = 1; pc.JobLevel2X = 1; pc.QuestRemaining = 3; pc.MapID = 10024000; pc.X = Global.PosX8to16(207); pc.Y = Global.PosY8to16(114); pc.Dir = 2; pc.HP = 100; pc.MaxHP = 120; pc.MP = 200; pc.MaxMP = 220; pc.SP = 50; pc.MaxSP = 60; pc.Str = 2; pc.Dex = 3; pc.Int = 4; pc.Vit = 5; pc.Agi = 6; pc.Mag = 7; pc.Gold = 123456; pc.Inventory.AddItem(ContainerType.UPPER_BODY, ItemFactory.Instance.GetItem(50001381)); pc.Inventory.AddItem(ContainerType.LOWER_BODY, ItemFactory.Instance.GetItem(50012360)); pc.Inventory.AddItem(ContainerType.SHOES, ItemFactory.Instance.GetItem(50060100)); pc.Inventory.AddItem(ContainerType.BODY, ItemFactory.Instance.GetItem(10020114)); pc.Inventory.AddItem(ContainerType.BODY, ItemFactory.Instance.GetItem(60010082)); LoginServer.charDB.CreateChar(pc, account.AccountID); account.Characters.Add(pc); p1.CreateResult = SagaLogin.Packets.Server.SSMG_CHAR_CREATE_ACK.Result.OK; } } this.netIO.SendPacket(p1); this.SendCharData(); }