コード例 #1
0
        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();
        }
コード例 #2
0
ファイル: LoginClient.cs プロジェクト: yasuhiro91/SagaECO
        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();
        }