Exemple #1
0
    public override string doDyop(object param)
    {
        ParamKickPlayer p = (ParamKickPlayer)param;

        bool cres = createGMUser(p);

        if (!cres)
        {
            return(Helper.genJsonStr(m_retData));
        }

        if (!p.checkSign(m_gmUser))
        {
            m_retData.Add("result", RetCode.RET_SIGN_ERROR);
            return(Helper.genJsonStr(m_retData));
        }

        Player player = new Player(p.m_playerAcc, m_gmUser);

        if (!player.m_isExists)
        {
            m_retData.Add("result", RetCode.RET_NO_PLAYER);
            return(Helper.genJsonStr(m_retData));
        }
        if (!player.isOwner(m_gmUser.m_acc))
        {
            m_retData.Add("result", RetCode.RET_NO_RIGHT);
            return(Helper.genJsonStr(m_retData));
        }

        /*if (!player.isInGame()) // 玩家不在游戏内
         * {
         *  m_retData.Add("result", RetCode.RET_SUCCESS);
         *  return Helper.genJsonStr(m_retData);
         * }*/

        /* string url = string.Format(CONST.URL_KICK_PLAYER, p.m_playerAcc, p.m_time);
         * var ret = HttpPost.Get(new Uri(url));
         * if (ret != null)
         * {
         *   string retStr = Encoding.UTF8.GetString(ret);
         *   Dictionary<string, object> retData =
         *       JsonHelper.ParseFromStr<Dictionary<string, object>>(retStr);
         *   if (retData.ContainsKey("result"))
         *   {
         *       m_retData.Add("result", retData["result"]);
         *   }
         * }*/
        kickPlayer(p);
        return(Helper.genJsonStr(m_retData));
    }
Exemple #2
0
    void kickPlayer(ParamKickPlayer p)
    {
        var ret = MongodbPlayer.Instance.ExecuteGetBykey(TableName.PLAYER_INFO, "account", p.m_playerAcc, new string[] { "SyncLock" });

        if (ret == null)
        {
            m_retData.Add("result", RetCode.RET_NO_PLAYER);
            return;
        }

        int state = Convert.ToInt32(ret["SyncLock"]);

        if (state != 1)
        {
            m_retData.Add("result", RetCode.RET_SUCCESS);
            return;
        }

        int nt = p.m_time;

        if (nt < 480)
        {
            nt = 480;
        }

        Dictionary <string, object> data = new Dictionary <string, object>();

        data["time"] = nt;

        string err = MongodbPlayer.Instance.ExecuteStoreBykey(TableName.KICK_PLAYER, "key", p.m_playerAcc, data);

        if (string.IsNullOrEmpty(err))
        {
            m_retData.Add("result", RetCode.RET_SUCCESS);
        }
        else
        {
            m_retData.Add("result", RetCode.RET_DB_ERROR);
        }
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            ParamKickPlayer param = new ParamKickPlayer();

            param.m_gmAccount = Request.QueryString["gmAcc"];
            param.m_gmPwd     = Request.QueryString["gmPwd"];
            param.m_playerAcc = Request.QueryString["playerAcc"];
            param.m_timeStr   = Request.QueryString["forbidTime"]; // 禁止登录的时间
            param.m_sign      = Request.QueryString["sign"];

            if (!param.isParamValid())
            {
                Dictionary <string, object> data = new Dictionary <string, object>();
                data.Add("result", RetCode.RET_PARAM_NOT_VALID);
                Response.Write(Helper.genJsonStr(data));
                return;
            }

            DyOpKickPlayer dy     = new DyOpKickPlayer();
            string         retStr = dy.doDyop(param);

            Response.Write(retStr);
        }