예제 #1
0
        internal void OnCreateChar(CMSG_CREATECHARACTER cpkt)
        {
            //HELPER VARIABLES
            CharInfo     info = new CharInfo();
            ServerInfo2  info2;
            LoginSession session;

            //START CREATING THE CHARACTER ON OUR SERVER
            if (LoginSessionHandler.sessions.TryGetValue(cpkt.SessionId, out session))
            {
                if (ServerManager2.Instance.server.TryGetValue(session.World, out info2))
                {
                    SMSG_INTERNAL_CHARACTERCREATE cpkt2 = new SMSG_INTERNAL_CHARACTERCREATE();
                    cpkt2.CharacterId = session.playerid;
                    cpkt2.Name        = cpkt.Name;
                    cpkt2.Eye         = cpkt.Eye;
                    cpkt2.EyeBrowse   = cpkt.EyeBrowse;
                    cpkt2.EyeColor    = cpkt.EyeColor;
                    cpkt2.Hair        = cpkt.Hair;
                    cpkt2.HairColor   = cpkt.HairColor;
                    cpkt2.WeaponAffix = cpkt.WeaponAffix;
                    cpkt2.WeaponName  = cpkt.WeaponName;
                    cpkt2.SessionId   = cpkt.SessionId;

                    info.cexp               = 0;
                    info.charId             = 0;
                    info.gender             = (byte)session.Gender;
                    info.name               = cpkt.Name;
                    info.job                = 1;
                    session.PendingCharInfo = info;
                    info2.client.SM_CHARACTER_CREATE(cpkt2);
                }
            }
        }
        //Internal Members

        #region CREATE CHARACTER

        public void SM_CHARACTER_CREATE(SMSG_INTERNAL_CHARACTERCREATE spkt)
        {
            this.Send((byte[])spkt);
        }