Пример #1
0
 public PrepareDataForEnterGameOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId)
     : base(sender, ServiceType.Rank, 6000, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_PrepareDataForEnterGame_ARG_int32_serverId__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
 }
Пример #2
0
        public AsyncReturnValue <int> UpdateReStateAsync(Coroutine co, string code, ClientAgentBase agent)
        {
            var ret = AsyncReturnValue <int> .Create();

            ret.Value = -1;

            Task.Run(() =>
            {
                var iData = new MySqlParameter[2];
                iData[0]  = new MySqlParameter("@incode", code)
                {
                    MySqlDbType = MySqlDbType.VarChar
                };
                iData[1]           = new MySqlParameter("@myreturn", MySqlDbType.Int16);
                iData[1].Direction = ParameterDirection.Output;

                MySqlConnection conn = null;
                try
                {
                    conn = CheckConnection();

                    using (var command = conn.CreateCommand())
                    {
                        command.CommandText = UpdateReStateProcedureName;
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddRange(iData);
                        using (var reader = command.ExecuteReader())
                        {
                            if (!reader.Read())
                            {
                                ret.Value = -1;
                            }
                            else
                            {
                                ret.Value = reader.GetInt16("myreturn");
                                reader.Close();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error("RunProcedure error !! storedProcName: {0} ,ex{1}", UpdateStateProcedureName, ex);
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }
                }

                if (!agent.mWaitingEvents.IsAddingCompleted)
                {
                    agent.mWaitingEvents.Add(new Scorpion.ContinueEvent(co));
                }
            });

            return(ret);
        }
Пример #3
0
 public GMCommandOutMessage(ClientAgentBase sender, ulong __characterId__, StringArray commonds)
     : base(sender, ServiceType.Rank, 6900, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_GMCommand_ARG_StringArray_commonds__();
     mMessage.CharacterId = __characterId__;
     Request.Commonds     = commonds;
 }
Пример #4
0
 public SBGetAllOnlineCharacterInServerOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId)
     : base(sender, ServiceType.Rank, 6030, (int)MessageType.SB)
 {
     Request = new __RPC_Rank_SBGetAllOnlineCharacterInServer_ARG_int32_serverId__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
 }
Пример #5
0
 public QueryBrokerStatusOutMessage(ClientAgentBase sender, ulong __characterId__, uint placeholder)
     : base(sender, ServiceType.Rank, 6040, (int)MessageType.SB)
 {
     Request = new __RPC_Rank_QueryBrokerStatus_ARG_uint32_placeholder__();
     mMessage.CharacterId = __characterId__;
     Request.Placeholder  = placeholder;
 }
Пример #6
0
 public CheckLostOutMessage(ClientAgentBase sender, ulong __characterId__, ulong characterId)
     : base(sender, ServiceType.Rank, 6032, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_CheckLost_ARG_uint64_characterId__();
     mMessage.CharacterId = __characterId__;
     Request.CharacterId  = characterId;
 }
Пример #7
0
 public UpdateServerOutMessage(ClientAgentBase sender, ulong __characterId__, int placeholder)
     : base(sender, ServiceType.Rank, 6051, (int)MessageType.SAS)
 {
     Request = new __RPC_Rank_UpdateServer_ARG_int32_placeholder__();
     mMessage.CharacterId = __characterId__;
     Request.Placeholder  = placeholder;
 }
Пример #8
0
 public SSCharacterChangeDataListOutMessage(ClientAgentBase sender, ulong __characterId__, RankChangeDataList changes)
     : base(sender, ServiceType.Rank, 6050, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_SSCharacterChangeDataList_ARG_RankChangeDataList_changes__();
     mMessage.CharacterId = __characterId__;
     Request.Changes      = changes;
 }
Пример #9
0
 public PrepareDataForLogoutOutMessage(ClientAgentBase sender, ulong __characterId__, uint placeholder)
     : base(sender, ServiceType.Rank, 6003, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_PrepareDataForLogout_ARG_uint32_placeholder__();
     mMessage.CharacterId = __characterId__;
     Request.Placeholder  = placeholder;
 }
Пример #10
0
 public PrepareDataForCreateCharacterOutMessage(ClientAgentBase sender, ulong __characterId__, int type)
     : base(sender, ServiceType.Rank, 6001, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_PrepareDataForCreateCharacter_ARG_int32_type__();
     mMessage.CharacterId = __characterId__;
     Request.Type         = type;
 }
Пример #11
0
 public SSNotifyCharacterOnConnetOutMessage(ClientAgentBase sender, ulong __characterId__, ulong clientId, ulong characterId)
     : base(sender, ServiceType.Rank, 6501, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_SSNotifyCharacterOnConnet_ARG_uint64_clientId_uint64_characterId__();
     mMessage.CharacterId = __characterId__;
     Request.ClientId     = clientId;
     Request.CharacterId  = characterId;
 }
Пример #12
0
 public SBCleanClientCharacterDataOutMessage(ClientAgentBase sender, ulong __characterId__, ulong clientId, ulong characterId)
     : base(sender, ServiceType.Rank, 6500, (int)MessageType.SB)
 {
     Request = new __RPC_Rank_SBCleanClientCharacterData_ARG_uint64_clientId_uint64_characterId__();
     mMessage.CharacterId = __characterId__;
     Request.ClientId     = clientId;
     Request.CharacterId  = characterId;
 }
Пример #13
0
 public SSGetServerRankDataOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, int ranktype)
     : base(sender, ServiceType.Rank, 6054, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_SSGetServerRankData_ARG_int32_serverId_int32_ranktype__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.Ranktype     = ranktype;
 }
Пример #14
0
 public ServerGMCommandOutMessage(ClientAgentBase sender, ulong __characterId__, string cmd, string param)
     : base(sender, ServiceType.Rank, 6048, (int)MessageType.SAS)
 {
     Request = new __RPC_Rank_ServerGMCommand_ARG_string_cmd_string_param__();
     mMessage.CharacterId = __characterId__;
     Request.Cmd          = cmd;
     Request.Param        = param;
 }
Пример #15
0
 public Rank_GetP1vP1ListOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, ulong characterId, string name)
     : base(sender, ServiceType.Rank, 6044, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_Rank_GetP1vP1List_ARG_int32_serverId_uint64_characterId_string_name__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.CharacterId  = characterId;
     Request.Name         = name;
 }
Пример #16
0
 public CompareRankOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, ulong characterId, int rank)
     : base(sender, ServiceType.Rank, 6045, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_CompareRank_ARG_int32_serverId_uint64_characterId_int32_rank__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.CharacterId  = characterId;
     Request.Rank         = rank;
 }
Пример #17
0
 public GetRankValueOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, int rankType, int idx)
     : base(sender, ServiceType.Rank, 6052, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_GetRankValue_ARG_int32_serverId_int32_rankType_int32_idx__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.RankType     = rankType;
     Request.Idx          = idx;
 }
Пример #18
0
 public SSGetRankDataByServerIdOutMessage(ClientAgentBase sender, ulong __characterId__, Int32Array serverList, long time, int ranktype)
     : base(sender, ServiceType.Rank, 6055, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_SSGetRankDataByServerId_ARG_Int32Array_serverList_int64_time_int32_ranktype__();
     mMessage.CharacterId = __characterId__;
     Request.ServerList   = serverList;
     Request.Time         = time;
     Request.Ranktype     = ranktype;
 }
Пример #19
0
 public NodifyModifyPlayerNameOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, ulong guid, string modifyName)
     : base(sender, ServiceType.Rank, 6901, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_NodifyModifyPlayerName_ARG_int32_serverId_uint64_guid_string_modifyName__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.Guid         = guid;
     Request.ModifyName   = modifyName;
 }
Пример #20
0
 public CharacterChangeDataOutMessage(ClientAgentBase sender, ulong __characterId__, int rankType, int serverId, ulong guid, string name, long value)
     : base(sender, ServiceType.Rank, 6042, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_CharacterChangeData_ARG_int32_rankType_int32_serverId_uint64_guid_string_name_int64_value__();
     mMessage.CharacterId = __characterId__;
     Request.RankType     = rankType;
     Request.ServerId     = serverId;
     Request.Guid         = guid;
     Request.Name         = name;
     Request.Value        = value;
 }
Пример #21
0
 public CharacterChangeLevelOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, ulong guid, string name, int level, int exp)
     : base(sender, ServiceType.Rank, 6041, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_CharacterChangeLevel_ARG_int32_serverId_uint64_guid_string_name_int32_level_int32_exp__();
     mMessage.CharacterId = __characterId__;
     Request.ServerId     = serverId;
     Request.Guid         = guid;
     Request.Name         = name;
     Request.Level        = level;
     Request.Exp          = exp;
 }
Пример #22
0
 public RankP1vP1FightOverOutMessage(ClientAgentBase sender, ulong __characterId__, int serverId, ulong characterId, ulong pvpCharacterId, int result, string name, string pvpName)
     : base(sender, ServiceType.Rank, 6046, (int)MessageType.SS)
 {
     Request = new __RPC_Rank_RankP1vP1FightOver_ARG_int32_serverId_uint64_characterId_uint64_pvpCharacterId_int32_result_string_name_string_pvpName__();
     mMessage.CharacterId   = __characterId__;
     Request.ServerId       = serverId;
     Request.CharacterId    = characterId;
     Request.PvpCharacterId = pvpCharacterId;
     Request.Result         = result;
     Request.Name           = name;
     Request.PvpName        = pvpName;
 }
Пример #23
0
        // 查看当前礼品码是否可以使用
        public AsyncReturnValue <bool> CheckCodeIsActiveAsync(Coroutine co, string code, ClientAgentBase agent)
        {
            var ret = AsyncReturnValue <bool> .Create();

            ret.Value = false;
            Task.Run(() =>
            {
                var sql = string.Format("SELECT * FROM giftcodedb.giftcode where code = '{0}' and state = 0;", code);
                MySqlConnection conn   = null;
                MySqlDataReader reader = null;
                try
                {
                    conn = CheckConnection();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = sql;
                        cmd.CommandType = CommandType.Text;
                        using (reader = cmd.ExecuteReader())
                        {
                            if (reader != null)
                            {
                                if (reader.Read())
                                {
                                    ret.Value = true;
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(ex, "CheckCodeIsActiveAsync error !! {0}");
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }
                    if (!agent.mWaitingEvents.IsAddingCompleted)
                    {
                        agent.mWaitingEvents.Add(new Scorpion.ContinueEvent(co));
                    }
                }
            });
            return(ret);
        }
Пример #24
0
        public AsyncReturnValue <int, int, int> GetUngetPlayerLevel(Coroutine co, string userid, ClientAgentBase agent)
        {
            AsyncReturnValue <int, int, int> ret = AsyncReturnValue <int, int, int> .Create();

            ret.Value1 = -1;
            ret.Value2 = -1;
            ret.Value3 = -1;
            Task.Run(() =>
            {
                MySqlConnection conn = null;
                try
                {
                    var iData = new MySqlParameter[4];
                    iData[0]  = new MySqlParameter("@incode", userid)
                    {
                        MySqlDbType = MySqlDbType.VarChar
                    };
                    iData[1] = new MySqlParameter("@returnLevel", MySqlDbType.Int16);
                    iData[2] = new MySqlParameter("@returnRecharge", MySqlDbType.Int32);
                    iData[3] = new MySqlParameter("@returnVipExp", MySqlDbType.Int32);

                    iData[1].Direction = ParameterDirection.Output;
                    iData[2].Direction = ParameterDirection.Output;
                    iData[3].Direction = ParameterDirection.Output;

                    conn = CheckConnection();

                    using (var command = conn.CreateCommand())
                    {
                        command.CommandText = GetLevelProcedureName;
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.AddRange(iData);
                        using (var reader = command.ExecuteReader())
                        {
                            if (!reader.Read())
                            {
                                ret.Value1 = -1;
                                ret.Value2 = -1;
                                ret.Value3 = -1;
                            }
                            else
                            {
                                if (reader.FieldCount < 3)
                                {
                                    reader.Close();
                                }
                                else
                                {
                                    ret.Value1 = reader.GetInt16("returnLevel");
                                    ret.Value2 = reader.GetInt16("returnRecharge");
                                    ret.Value3 = reader.GetInt16("returnVipExp");
                                    reader.Close();
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error("RunProcedure error !! storedProcName: {0} ,ex{1}", UpdateStateProcedureName, ex);
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }

                    if (!agent.mWaitingEvents.IsAddingCompleted)
                    {
                        agent.mWaitingEvents.Add(new Scorpion.ContinueEvent(co));
                    }
                }
            });


            return(ret);
        }
Пример #25
0
        // 修改玩家反馈消息状态
        public AsyncReturnValue <int> SetCharacterFanKuiStateAsync(Coroutine co, List <int> Ids, int State, ClientAgentBase agent)
        {
            var ret = AsyncReturnValue <int> .Create();

            ret.Value = 0;

            Task.Run(() =>
            {
                var ids = string.Empty;
                for (int i = 0; i < Ids.Count; i++)
                {
                    if (i != Ids.Count - 1)
                    {
                        ids = ids + Ids[i] + ",";
                    }
                    else
                    {
                        ids = ids + Ids[i];
                    }
                }

                var sql = string.Format("Update giftcodedb.question set state = {0} where id IN({1});", State, ids);
                MySqlConnection conn = null;
                try
                {
                    conn = CheckConnection();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = sql;
                        cmd.CommandType = CommandType.Text;
                        ret.Value       = cmd.ExecuteNonQuery();
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(ex, "GetCharacterFanKuiAsync error !! {0}");
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }
                    if (!agent.mWaitingEvents.IsAddingCompleted)
                    {
                        agent.mWaitingEvents.Add(new ContinueEvent(co));
                    }
                }
            });
            return(ret);
        }
Пример #26
0
        /// <summary>
        ///     执行多条SQL语句,实现数据库事务。
        /// </summary>
        /// sql2000数据库
        /// <param name="sqls">多条SQL语句</param>
        public AsyncReturnValue <int> ExecuteSqlTranAsync(Coroutine co, IEnumerable <string> sqls, ClientAgentBase agent)
        {
            AsyncReturnValue <int> ret = AsyncReturnValue <int> .Create();

            ret.Value = 0;

            Task.Run(() =>
            {
                MySqlConnection conn = null;
                try
                {
                    conn = CheckConnection();
                    using (var cmd = conn.CreateCommand())
                    {
                        foreach (var sql in sqls)
                        {
                            cmd.CommandText += sql;
                        }
                        ret.Value = cmd.ExecuteNonQuery();
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error("RunProcedure error !! storedProcName: {0} ,ex{1}", UpdateStateProcedureName, ex);
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }
                    if (!agent.mWaitingEvents.IsAddingCompleted)
                    {
                        agent.mWaitingEvents.Add(new ContinueEvent(co));
                    }
                }
            });

            return(ret);
        }
Пример #27
0
        // 返回玩家反馈消息
        public AsyncReturnValue <GMGetFanKuiList> GetCharacterFanKuiAsync(Coroutine co, string TimeBegin, string TimeEnd, int StartIndex, int EndIndex, int State, ClientAgentBase agent)
        {
            var ret = AsyncReturnValue <GMGetFanKuiList> .Create();

            ret.Value = new GMGetFanKuiList();

            Task.Run(() =>
            {
                var sql =
                    string.Format(
                        "SELECT * FROM giftcodedb.question where createtime >= '{0}' and createtime <= '{1}' and state = {2} limit {3},{4};",
                        TimeBegin, TimeEnd, State, StartIndex, EndIndex);
                MySqlConnection conn   = null;
                MySqlDataReader reader = null;
                try
                {
                    conn = CheckConnection();
                    using (var cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = sql;
                        cmd.CommandType = CommandType.Text;
                        using (reader = cmd.ExecuteReader())
                        {
                            if (reader != null)
                            {
                                while (reader.Read())
                                {
//                                 result += " CharacterId: " + reader.GetUInt32("ById").ToString();
//                                 result += " CharacterName: " + reader.GetString("ByName");
//                                 result += " Title: " + reader.GetString("Title");
//                                 result += " Content: " + reader.GetString("Text");
//                                 result += " createTime: " + reader.GetString("createtime");
//                                 result += " state " + reader.GetInt16("state") + ";   ";
                                    var tmp         = new GMGetFanKui();
                                    tmp.Id          = reader.GetUInt32("id");
                                    tmp.CharacterId = reader.GetInt64("ById");
                                    tmp.Name        = reader.GetString("ByName");
                                    tmp.Title       = reader.GetString("Title");
                                    tmp.Content     = reader.GetString("Text");
                                    tmp.CreateTime  = reader.GetString("createtime");
                                    tmp.State       = reader.GetInt32("state");
                                    ret.Value.FanKuiList.Add(tmp);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(ex, "GetCharacterFanKuiAsync error !! {0}");
                }
                finally
                {
                    if (conn != null)
                    {
                        mConnections.Push(conn);
                    }
                    if (!agent.mWaitingEvents.IsAddingCompleted)
                    {
                        agent.mWaitingEvents.Add(new Scorpion.ContinueEvent(co));
                    }
                }
            });
            return(ret);
        }