Ejemplo n.º 1
0
        public void PKpoint(string[] @Params, TPlayObject PlayObject)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if (((sHumanName != "") && (sHumanName[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandPKPointHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandPKPointMsg, sHumanName, m_PlayObject.m_nPkPoint), TMsgColor.c_Green, TMsgType.t_Hint);
        }
        public void CreateQueueTestWithReader()
        {
            var uid  = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));
            var uid1 = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));

            try
            {
                new QueueEngine().CreateQueue(uid, 0, "A", new List <List <int> > {
                    new List <int> {
                        uid1, 0
                    }
                });
            }
            catch (Exception e)
            {
                Assert.Fail("Queue should just ignore nonexistent UIDs: " + e.Message);
            }
        }
Ejemplo n.º 3
0
        public void HumanInfo(TPlayObject PlayObject, string[] @Params)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if ((sHumanName == "") || ((sHumanName != "") && (sHumanName[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandInfoHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            PlayObject.SysMsg(PlayObject.GeTBaseObjectInfo(), TMsgColor.c_Green, TMsgType.t_Hint);
        }
        public void Serve(HttpListenerRequest request, HttpListenerResponse response, Url url)
        {
            var userCreateRequest =
                (UserCreateRequest) new DataContractJsonSerializer(typeof(UserCreateRequest)).ReadObject(
                    request.InputStream);

            var newId = new UserEngine().RegisterUser(CryptoEngine.Certificate.Cert.Id, Encoding.ASCII.GetBytes(userCreateRequest.Key));

            new DataContractJsonSerializer(typeof(UserCreateResponse)).WriteObject(response.OutputStream,
                                                                                   new UserCreateResponse {
                Id = newId, NodeId = CryptoEngine.Certificate.Cert.Id, Success = true
            });

            /* Update everyone else that there's a new user */
            new PartnersEngine().PartnersUpdateRequest(new PartnerSyncUserCreate {
                Id = newId, NodeId = CryptoEngine.Certificate.Cert.Id, Key = userCreateRequest.Key
            });
        }
        public void ReadQueueTestCommit()
        {
            var msg  = "Hello, world!";
            var uid  = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));
            var uid1 = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));

            new QueueEngine().CreateQueue(uid, 0, "A", new List <List <int> > {
                new List <int> {
                    uid1, 0
                }
            });

            try
            {
                new QueueEngine().WriteBufferedQueue(uid, 0, "A", msg);

                /* Wait for grace period */
                Thread.Sleep(Config <int> .GetInstance()["QUEUE_GRACE_PERIOD"]);
                new QueueEngine().HandleQueueBuffer();

                var messages = new QueueEngine().ReadQueue(uid1, uid, 0, "A", true);

                if (messages.Count != 1)
                {
                    Assert.Fail("Invalid number of read messages");
                }

                if (messages[0] != msg)
                {
                    Assert.Fail("Invalid read message");
                }

                messages = new QueueEngine().ReadQueue(uid1, uid, 0, "A", true);

                if (messages.Count != 0)
                {
                    Assert.Fail("Invalid number of read messages");
                }
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
        }
Ejemplo n.º 6
0
        public void MobNpc(string[] @Params, TPlayObject PlayObject)
        {
            int       nAppr      = 0;
            bool      boIsCastle = false;
            TMerchant Merchant   = null;
            int       nX         = 0;
            int       nY         = 0;
            string    sParam1    = @Params.Length > 0 ? @Params[0] : "";
            string    sParam2    = @Params.Length > 1 ? @Params[1] : "";
            string    sParam3    = @Params.Length > 2 ? @Params[2] : "";
            string    sParam4    = @Params.Length > 3 ? @Params[3] : "";

            if ((sParam1 == "") || (sParam2 == "") || ((sParam1 != "") && (sParam1[0] == '?')))
            {
                if (M2Share.g_Config.boGMShowFailMsg)
                {
                    PlayObject.SysMsg(string.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandMobNpcHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                }
                return;
            }
            nAppr      = HUtil32.Str_ToInt(sParam3, 0);
            boIsCastle = (HUtil32.Str_ToInt(sParam4, 0) == 1);
            if (sParam1 == "")
            {
                if (M2Share.g_Config.boGMShowFailMsg)
                {
                    PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " NPC名称 脚本文件名 外形(数字) 属沙城(0,1)", TMsgColor.c_Red, TMsgType.t_Hint);
                }
                return;
            }
            Merchant             = new TMerchant();
            Merchant.m_sCharName = sParam1;
            Merchant.m_sMapName  = PlayObject.m_sMapName;
            Merchant.m_PEnvir    = PlayObject.m_PEnvir;
            Merchant.m_wAppr     = (ushort)nAppr;
            Merchant.m_nFlag     = 0;
            Merchant.m_boCastle  = boIsCastle;
            Merchant.m_sScript   = sParam2;
            PlayObject.GetFrontPosition(ref nX, ref nY);
            Merchant.m_nCurrX = nX;
            Merchant.m_nCurrY = nY;
            Merchant.Initialize();
            UserEngine.AddMerchant(Merchant);
        }
Ejemplo n.º 7
0
        protected void ctlUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                SuUser user = UserEngine.ChangePassword(UserAccount.UserID, ctlOldPasswordTextbox.Text, ctlNewPasswordTextbox.Text, ctlConfirmPasswordTextbox.Text, ProgramCode);
            }
            catch (ServiceValidationException ex)
            {
                this.ValidationErrors.MergeErrors(ex.ValidationErrors);
            }

            if (this.ValidationErrors.IsEmpty)
            {
                ctlPanelModalPopupExtender.Hide();
            }
            else
            {
                ctlPanelModalPopupExtender.Show();
            }
            #region Old Code Comment By Pichai C. on 2-Feb-2009
            //if (ctlNewPasswordTextbox.Text != ctlConfirmPasswordTextbox.Text)
            //{
            //    ctlErrorValidationLabel.Text = "New password not same Confirm password";
            //    ctlPanelModalPopupExtender.Show();

            //}
            //else
            //{
            //    SuUser user  = UserEngine.ChangePassword(UserAccount.UserID, ctlOldPasswordTextbox.Text, ctlNewPasswordTextbox.Text, ctlConfirmPasswordTextbox.Text, "UserInfo");
            //    if (flag.Equals("sucessfull"))
            //    {
            //        ctlErrorValidationLabel.Text = "Change password successfull";
            //        Thread.Sleep(1000);
            //        ctlPanelModalPopupExtender.Hide();
            //    }
            //    else
            //    {
            //        ctlErrorValidationLabel.Text = flag;
            //        ctlPanelModalPopupExtender.Show();
            //    }

            //}
            #endregion
        }
Ejemplo n.º 8
0
        public void Mob(TPlayObject PlayObject, string[] @Params)
        {
            if (@Params == null)
            {
                return;
            }
            int         nX       = 0;
            int         nY       = 0;
            TBaseObject Monster  = null;
            string      sMonName = @Params.Length > 0 ? @Params[0] : "";                      //名称
            byte        nCount   = @Params.Length > 1 ? Convert.ToByte(@Params[1]) : (byte)1; //数量
            byte        nLevel   = @Params.Length > 2 ? Convert.ToByte(@Params[2]) : (byte)1; //怪物等级

            if (sMonName == "")
            {
                return;
            }
            if (nCount <= 0)
            {
                nCount = 1;
            }
            if (!(nLevel >= 0 && nLevel <= 10))
            {
                nLevel = 0;
            }
            nCount = (byte)HUtil32._MIN(64, nCount);
            PlayObject.GetFrontPosition(ref nX, ref nY);//刷在当前X,Y坐标
            for (int I = 0; I < nCount; I++)
            {
                Monster = UserEngine.RegenMonsterByName(PlayObject.m_PEnvir.sMapName, nX, nY, sMonName);
                if (Monster != null)
                {
                    Monster.m_btSlaveMakeLevel = nLevel;
                    Monster.m_btSlaveExpLevel  = nLevel;
                    Monster.RecalcAbilitys();
                    Monster.RefNameColor();
                }
                else
                {
                    PlayObject.SysMsg(GameMsgDef.g_sGameCommandMobMsg, TMsgColor.c_Red, TMsgType.t_Hint);
                    break;
                }
            }
        }
Ejemplo n.º 9
0
        public void AddGuild(TPlayObject PlayObject, string[] @Params)
        {
            TPlayObject Human;
            bool        boAddState;
            string      sGuildName  = @Params.Length > 0 ? @Params[0] : "";
            string      sGuildChief = @Params.Length > 1 ? @Params[1] : "";

            if (M2Share.nServerIndex != 0)
            {
                PlayObject.SysMsg("这个命令只能使用在主服务器上", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            if ((sGuildName == "") || (sGuildChief == ""))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 行会名称 掌门人名称", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            boAddState = false;
            Human      = UserEngine.GetPlayObject(sGuildChief);
            if (Human == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sGuildChief), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            if (GuildManager.MemberOfGuild(sGuildChief) == null)
            {
                if (GuildManager.AddGuild(sGuildName, sGuildChief))
                {
                    // UserEngine.SendServerGroupMsg(SS_205, nServerIndex, sGuildName + '/' + sGuildChief);
                    PlayObject.SysMsg("行会名称: " + sGuildName + " 掌门人: " + sGuildChief, TMsgColor.c_Green, TMsgType.t_Hint);
                    boAddState = true;
                }
            }
            if (boAddState)
            {
                Human.m_MyGuild = GuildManager.MemberOfGuild(Human.m_sCharName);
                if (Human.m_MyGuild != null)
                {
                    Human.m_sGuildRankName = Human.m_MyGuild.GetRankName(PlayObject, ref Human.m_nGuildRankNo);
                    Human.RefShowName();
                }
            }
        }
Ejemplo n.º 10
0
        private unsafe bool ChangeUserGoldInDB(TGoldChangeInfo GoldChangeInfo)
        {
            bool         result   = false;
            THumDataInfo HumanRcd = new THumDataInfo();
            byte         nCode    = 0;

            try
            {
                if (GoldChangeInfo != null)
                {
                    nCode = 4;
                    if (RunDB.LoadHumRcdFromDB("1", GoldChangeInfo.sGetGoldUser, "1", &HumanRcd, 1))
                    {
                        nCode = 1;
                        if (((HumanRcd.Data.nGold + GoldChangeInfo.nGold) > 0) && ((HumanRcd.Data.nGold + GoldChangeInfo.nGold) < 2000000000))
                        {
                            HumanRcd.Data.nGold += GoldChangeInfo.nGold;
                            nCode = 2;
                            if (RunDB.SaveHumRcdToDB(new TSaveRcd()
                            {
                                sAccount = "1",
                                sChrName = GoldChangeInfo.sGetGoldUser,
                                nSessionID = 1,
                                boIsHero = false,
                                boisDoubleHero = false,
                                btJob = 0,
                                HumanRcd = HumanRcd
                            }))
                            {
                                nCode = 3;
                                UserEngine.sub_4AE514(GoldChangeInfo);
                                result = true;
                            }
                        }
                    }
                }
            }
            catch
            {
                M2Share.MainOutMessage("{异常} TFrontEngine.ChangeUserGoldInDB Code:" + nCode);
            }
            return(result);
        }
Ejemplo n.º 11
0
        public void ReGotoHuman(TPlayObject PlayObject, string[] @Params)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if ((sHumanName == "") || ((sHumanName != "") && (sHumanName[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandReGotoHelpMsg),
                                  TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            PlayObject.SpaceMove(m_PlayObject.m_PEnvir.sMapName, m_PlayObject.m_nCurrX, m_PlayObject.m_nCurrY, 0);
        }
Ejemplo n.º 12
0
        //Will add a new user to the SQL database.
        public static void AddUser(string email, string password)
        {
            //Checks to make sure the new data is valid
            UserEngine.EmailValidityCheck(email, password);

            //check to see if that email is in the database.
            if (GetUserID(email) > 0)
            {
                throw new System.InvalidOperationException("Invalid data. email is taken.");
            }


            try
            {
                SqlConnectionStringBuilder builder = Database.ConnectionBuilder();

                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    connection.Open();
                    SqlCommand query = new SqlCommand(null, connection);

                    query.CommandText = "INSERT INTO dbo.End_User(email, passwordValue) VALUES (@email, @password)";

                    SqlParameter emailPar    = new SqlParameter("@email", SqlDbType.VarChar, 255);
                    SqlParameter passwordPar = new SqlParameter("@password", SqlDbType.VarChar, 255);

                    emailPar.Value    = email;
                    passwordPar.Value = password;

                    query.Parameters.Add(emailPar);
                    query.Parameters.Add(passwordPar);

                    query.Prepare();
                    query.ExecuteNonQuery();
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }

            return;
        }
Ejemplo n.º 13
0
        public void DisableSendMsg(string[] @Params, TPlayObject PlayObject)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if (sHumanName == "")
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                m_PlayObject.m_boFilterSendMsg = true;
            }
            M2Share.g_DisableSendMsgList.Add(sHumanName);
            M2Share.SaveDisableSendMsgList();
            PlayObject.SysMsg(sHumanName + " 已加入禁言列表。", TMsgColor.c_Green, TMsgType.t_Hint);
        }
Ejemplo n.º 14
0
        public void WriteBufferedQueueTestNegativeOverloadData()
        {
            var uid = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));

            new QueueEngine().CreateQueue(uid, 0, "A", new List <List <int> > {
            });

            try
            {
                for (int i = 0; i < 1024 * 64; ++i)
                {
                    new QueueEngine().WriteBufferedQueue(uid + 1, 0, "AAAAAAAAAAAAAAAA", "Hello, world!");
                }
                Assert.Fail("Shouldn't be able to write to a different user's queue");
            }
            catch
            {
            }
        }
Ejemplo n.º 15
0
        public unsafe void DeleteItem(string[] @Params, TPlayObject PlayObject)
        {
            string     sHumanName = @Params.Length > 0 ? @Params[0] : "";           //玩家名称
            string     sItemName  = @Params.Length > 1 ? @Params[1] : "";           //物品名称
            int        nCount     = @Params.Length > 2 ? int.Parse(@Params[2]) : 0; //数量
            int        nItemCount;
            TStdItem * StdItem;
            TUserItem *UserItem;

            if ((sHumanName == "") || (sItemName == ""))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称 物品名称 数量)", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            nItemCount = 0;
            for (int I = m_PlayObject.m_ItemList.Count - 1; I >= 0; I--)
            {
                if (m_PlayObject.m_ItemList.Count <= 0)
                {
                    break;
                }
                UserItem = (TUserItem *)m_PlayObject.m_ItemList[I];
                StdItem  = UserEngine.GetStdItem(UserItem->wIndex);
                if ((StdItem != null) && ((sItemName).ToLower().CompareTo((HUtil32.SBytePtrToString(StdItem->Name, StdItem->NameLen)).ToLower()) == 0))
                {
                    m_PlayObject.SendDelItems(UserItem);
                    m_PlayObject.m_ItemList.RemoveAt(I);
                    Marshal.FreeHGlobal((IntPtr)UserItem);
                    nItemCount++;
                    if (nItemCount >= nCount)
                    {
                        break;
                    }
                }
            }
        }
Ejemplo n.º 16
0
        public void AdjuestLevel(string[] @Params, TPlayObject PlayObject)
        {
            if (@Params == null)
            {
                return;
            }
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";
            int    nLevel     = @Params.Length > 1 ? int.Parse(@Params[1]) : 0;
            int    nOLevel;

            if (sHumanName == "")
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称 等级", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            if (sHumanName == "")
            {
                if (M2Share.g_Config.boGMShowFailMsg)
                {
                    PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称 等级", TMsgColor.c_Red, TMsgType.t_Hint);
                }
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                nOLevel = m_PlayObject.m_Abil.Level;
                //PlayObject.m_Abil.Level = HUtil32._MAX(1, HUtil32._MIN(M2Share.MAXUPLEVEL, nLevel));
                m_PlayObject.HasLevelUp(1);// 等级调整记录日志
                M2Share.AddGameDataLog("17" + "\09" + m_PlayObject.m_sMapName + "\09" + (m_PlayObject.m_nCurrX).ToString() + "\09" + (m_PlayObject.m_nCurrY).ToString() + "\09"
                                       + m_PlayObject.m_sCharName + "\09" + (m_PlayObject.m_Abil.Level).ToString() + "\09" + PlayObject.m_sCharName + "\09" + "+(" + (nLevel).ToString() + ")" + "\09" + "0");
                PlayObject.SysMsg(sHumanName + " 等级调整完成。", TMsgColor.c_Green, TMsgType.t_Hint);
                if (M2Share.g_Config.boShowMakeItemMsg)
                {
                    M2Share.MainOutMessage("[等级调整] " + PlayObject.m_sCharName + "(" + m_PlayObject.m_sCharName + " " + (nOLevel).ToString() + " -> " + m_PlayObject.m_Abil.Level + ")");
                }
            }
            else
            {
                PlayObject.SysMsg(string.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, new string[] { sHumanName }), TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }
Ejemplo n.º 17
0
        public void ChangeMasterName(TPlayObject PlayObject, string[] @Params)
        {
            string sHumanName  = @Params.Length > 0 ? @Params[0] : "";
            string sMasterName = @Params.Length > 1 ? @Params[1] : "";
            string sIsMaster   = @Params.Length > 2 ? @Params[2] : "";

            if ((sHumanName == "") || (sMasterName == ""))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称 师徒名称(如果为 无 则清除)", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                if ((sMasterName).ToLower().CompareTo(("无").ToLower()) == 0)
                {
                    m_PlayObject.m_sMasterName = "";
                    m_PlayObject.RefShowName();
                    m_PlayObject.m_boMaster = false;
                    PlayObject.SysMsg(sHumanName + " 的师徒名清除成功。", TMsgColor.c_Green, TMsgType.t_Hint);
                }
                else
                {
                    m_PlayObject.m_sMasterName = sMasterName;
                    if ((sIsMaster != "") && (sIsMaster[0] == '1'))
                    {
                        m_PlayObject.m_boMaster = true;
                    }
                    else
                    {
                        m_PlayObject.m_boMaster = false;
                    }
                    m_PlayObject.RefShowName();
                    PlayObject.SysMsg(sHumanName + " 的师徒名更改成功。", TMsgColor.c_Green, TMsgType.t_Hint);
                }
            }
            else
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }
Ejemplo n.º 18
0
        public virtual void Update(List <T> Obj)
        {
            UserEngine.SessionTimeOut();
            T NewObj = default(T);

            System.Data.Linq.ITable Table = null;
            for (int i = 0; i < Obj.Count; i++)
            {
                if (i == 0)
                {
                    Table = Standard.GetTable(Obj[i].GetType());
                }
                HelperLinq.ModeDetail('u', Obj[i]);
                if (Table.GetOriginalEntityState(Obj[i]) == null)
                {
                    NewObj = Detach(Obj[i]);
                    Table.Attach(NewObj, true);
                }
            }
        }
Ejemplo n.º 19
0
        public void WriteBufferedQueueTestNegativeUID()
        {
            var uid  = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));
            var uid1 = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));

            new QueueEngine().CreateQueue(uid, 0, "A", new List <List <int> > {
                new List <int> {
                    uid1, 0
                }
            });

            try
            {
                new QueueEngine().WriteBufferedQueue(uid1, 0, "A", "Hello, world!");
                Assert.Fail("Shouldn't be able to write to a different user's queue");
            }
            catch
            {
            }
        }
Ejemplo n.º 20
0
        public void Ting(TPlayObject PlayObject, string[] @Params)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if ((sHumanName == "") || ((sHumanName != "") && (sHumanName[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandTingHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                m_PlayObject.MapRandomMove(m_PlayObject.m_sHomeMap, 0);
            }
            else
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }
Ejemplo n.º 21
0
 /// <summary>
 /// 发送城主的话
 /// </summary>
 /// <param name="PlayObject"></param>
 /// <param name="sMsg"></param>
 public override void SendCustemMsg(TPlayObject PlayObject, string sMsg)
 {
     try
     {
         if (!M2Share.g_Config.boSubkMasterSendMsg)
         {
             PlayObject.SysMsg(GameMsgDef.g_sSubkMasterMsgCanNotUseNowMsg, TMsgColor.c_Red, TMsgType.t_Hint);
             return;
         }
         if (PlayObject.m_boSendMsgFlag)
         {
             PlayObject.m_boSendMsgFlag = false;
             UserEngine.SendBroadCastMsg(PlayObject.m_sCharName + ": " + sMsg, TMsgType.t_Castle);
         }
     }
     catch
     {
         M2Share.MainOutMessage("{异常} TGuildOfficial.SendCustemMsg");
     }
 }
Ejemplo n.º 22
0
        public JsonResult GetUserProfile(int?id = null)
        {
            UserViewModel userProfile = new UserViewModel();
            IUserBL       userBL      = new UserEngine();
            int           user_id     = Convert.ToInt32(HttpContext.Session[SessionKey.CurrentUserID]);

            if (id != null && id != 0)
            {
                user_id = Convert.ToInt32(id);
            }
            try
            {
                userProfile = userBL.GetUserProfile(user_id);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(userProfile, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 23
0
        public void Serve(HttpListenerRequest request, HttpListenerResponse response, Url url)
        {
            var credRequest = (LoginRequest) new DataContractJsonSerializer(typeof(LoginRequest)).ReadObject(
                request.InputStream);

            var jsonResponse = new SessionKeyResponse {
                Success = false
            };

            jsonResponse.Message = "Login Failed";

            if (UserEngine.Login(credRequest.Id, credRequest.NodeId, credRequest.Key))
            {
                jsonResponse.SessionKey = UserEngine.generateSessionKey(credRequest.Id, credRequest.NodeId);
                jsonResponse.Success    = true;
                jsonResponse.Message    = "Successs";
            }

            new DataContractJsonSerializer(typeof(SessionKeyResponse)).WriteObject(response.OutputStream,
                                                                                   jsonResponse);
        }
Ejemplo n.º 24
0
        public void FreePenalty(TPlayObject PlayObject, string[] @Params)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if (((sHumanName != "") && (sHumanName[0] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandFreePKHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject == null)
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            m_PlayObject.m_nPkPoint = 0;
            m_PlayObject.RefNameColor();
            m_PlayObject.SysMsg(GameMsgDef.g_sGameCommandFreePKHumanMsg, TMsgColor.c_Green, TMsgType.t_Hint);
            PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandFreePKMsg, sHumanName), TMsgColor.c_Green, TMsgType.t_Hint);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 召唤下属
        /// </summary>
        private void CallSlave()
        {
            int         n10 = 0;
            int         n14 = 0;
            TBaseObject BaseObject;
            int         nC = HUtil32.Random(6) + 6;

            GetFrontPosition(ref n10, ref n14);
            for (int I = 1; I <= nC; I++)
            {
                if (m_SlaveObjectList.Count >= 30)
                {
                    break;
                }
                BaseObject = UserEngine.RegenMonsterByName(m_sMapName, n10, n14, M2Share.g_Config.sZuma[HUtil32.Random(4)]);
                if (BaseObject != null)
                {
                    m_SlaveObjectList.Add(BaseObject);
                }
            }
        }
Ejemplo n.º 26
0
        public void ClearCopyItem(string[] @Params, TPlayObject PlayObject)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";

            if ((sHumanName == "") || ((sHumanName != "") && (sHumanName[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandTingHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                //m_PlayObject.ClearCopyItems();
                PlayObject.SysMsg("清除完成!", TMsgColor.c_Red, TMsgType.t_Hint);
            }
            else
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumanName), TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }
        protected void ctlUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                SuUser user;

                if (UserAccount.UserID > 0)
                {
                    user = UserEngine.ChangePassword(UserAccount.UserID, ctlOldPasswordTextbox.Text.Trim(), ctlNewPasswordTextbox.Text.Trim(), ctlConfirmPasswordTextbox.Text.Trim(), ProgramCode);
                }
                else
                {
                    user = UserEngine.ChangePassword(userName, ctlOldPasswordTextbox.Text.Trim(), ctlNewPasswordTextbox.Text.Trim(), ctlConfirmPasswordTextbox.Text.Trim(), ProgramCode);
                }

                if (user != null)
                {
                    UserEngine.SyncUpdateUserData(user.UserName);
                }

                if (isResponseMenu && user != null && user.Userid > 0)
                {
                    Response.Redirect(ResolveUrl("~/Menu.aspx"), true);
                }
            }
            catch (ServiceValidationException ex)
            {
                this.ValidationErrors.MergeErrors(ex.ValidationErrors);
            }

            if (this.ValidationErrors.IsEmpty)
            {
                ctlPanelModalPopupExtender.Hide();
            }
            else
            {
                vsSummary.Visible = true;
                ctlPanelModalPopupExtender.Show();
            }
        }
Ejemplo n.º 28
0
        public void ReadQueueTestNegativeUnpermittedUser()
        {
            var uid  = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));
            var uid1 = new UserEngine().RegisterUser(0, Encoding.ASCII.GetBytes("Aa123456"));

            new QueueEngine().CreateQueue(uid, 0, "A", new List <List <int> > {
                new List <int> {
                    uid1, 0
                }
            });

            try
            {
                new QueueEngine().WriteBufferedQueue(uid, 0, "A", "Hello, world!");
                new QueueEngine().ReadQueue(uid1 + 1, uid, 0, "A", false);

                Assert.Fail("Shouldn't be able to read with non-permitted uid");
            }
            catch
            {
            }
        }
Ejemplo n.º 29
0
        public void ChangeGender(string[] @Params, TPlayObject PlayObject)
        {
            string sHumanName = @Params.Length > 0 ? @Params[0] : "";
            string sSex       = @Params.Length > 1 ? @Params[1] : "";
            int    nSex       = -1;

            if ((sSex == "Man") || (sSex == "男") || (sSex == "0"))
            {
                nSex = 0;
            }
            if ((sSex == "WoMan") || (sSex == "女") || (sSex == "1"))
            {
                nSex = 1;
            }
            if ((sHumanName == "") || (nSex == -1))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 人物名称 性别(男、女)", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumanName);

            if (m_PlayObject != null)
            {
                if (m_PlayObject.m_btGender != nSex)
                {
                    m_PlayObject.m_btGender = (byte)nSex;
                    m_PlayObject.FeatureChanged();
                    PlayObject.SysMsg(m_PlayObject.m_sCharName + " 的性别已改变。", TMsgColor.c_Green, TMsgType.t_Hint);
                }
                else
                {
                    PlayObject.SysMsg(m_PlayObject.m_sCharName + " 的性别未改变!!!", TMsgColor.c_Red, TMsgType.t_Hint);
                }
            }
            else
            {
                PlayObject.SysMsg(sHumanName + "没有在线!!!", TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }
Ejemplo n.º 30
0
        public void KickHuman(string[] @params, TPlayObject PlayObject)
        {
            string sHumName = @params.Length > 0 ? @params[0] : "";

            if (sHumName == "")
            {
                return;
            }
            TPlayObject m_PlayObject = UserEngine.GetPlayObject(sHumName);

            if (m_PlayObject != null)
            {
                m_PlayObject.m_boKickFlag        = true;
                m_PlayObject.m_boEmergencyClose  = true;
                m_PlayObject.m_boPlayOffLine     = false;
                m_PlayObject.m_boNotOnlineAddExp = false;
            }
            else
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sNowNotOnLineOrOnOtherServer, sHumName), TMsgColor.c_Red, TMsgType.t_Hint);
            }
        }