コード例 #1
0
        private void AddApprenticeReward(WorldCharacter pChar)
        {
            var rewards = DataProvider.Instance.MasterRewards.FindAll(d =>
                                                                      (byte)d.Job == pChar.Character.Job && d.Level == pChar.Character.CharLevel);
            var rr = new MasterRewardItem
            {
                ItemID = 250,
                Count  = 1
            };
            var conn = Program.GetZoneByMap(pChar.Character.PositionInfo.Map);

            if (conn == null)
            {
                return;
            }

            using (var packet = new Packet(SH37Type.SendApprenticeReward))
            {
                packet.WriteByte((byte)rewards.Count);  //count
                foreach (var pReward in rewards)
                {
                    packet.WriteUShort(pReward.ItemID);
                    packet.WriteByte(pReward.Count);
                    packet.WriteByte(0); //unk
                    InterHandler.SendAddReward(conn, pReward.ItemID, pReward.Count, pChar.Character.Name);
                }

                pChar.Client.SendPacket(packet);
            }
        }
コード例 #2
0
ファイル: DataProvider.cs プロジェクト: topblast/Estrella
        private void LoadMasterReward()
        {
            this.MasterRewards = new List <MasterRewardItem>();
            DataTable RewardData = null;

            using (DatabaseClient dbClient = Program.DatabaseManager.GetClient())
            {
                RewardData = dbClient.ReadDataTable(string.Format("USE `{0}`; SELECT  *FROM MasterRewards;  USE `{1}`", Settings.Instance.zoneMysqlDatabase, Settings.Instance.WorldMysqlDatabase));
            }
            if (RewardData != null)
            {
                foreach (DataRow row in RewardData.Rows)
                {
                    MasterRewardItem Reward = new MasterRewardItem(row);
                    this.MasterRewards.Add(Reward);
                }
            }
            Log.WriteLine(LogLevel.Info, "Load  {0} MasterRewards", this.MasterRewards.Count);
        }
コード例 #3
0
        private void LoadMasterReward()
        {
            MasterRewards = new List <MasterRewardItem>();
            DataTable RewardData = null;

            using (var dbClient = Program.DatabaseManager.GetClient())
            {
                RewardData = dbClient.ReadDataTable(
                    $"USE `{Settings.Instance.ZoneMysqlDatabase}`; SELECT  *FROM MasterRewards;  USE `{Settings.Instance.WorldMysqlDatabase}`");
            }

            if (RewardData != null)
            {
                foreach (DataRow row in RewardData.Rows)
                {
                    var Reward = new MasterRewardItem(row);
                    MasterRewards.Add(Reward);
                }
            }

            Log.WriteLine(LogLevel.Info, "Load  {0} MasterRewards", MasterRewards.Count);
        }
コード例 #4
0
        private void AddApprenticeReward(WorldCharacter pChar)
        {
            List<MasterRewardItem> Rewards = DataProvider.Instance.MasterRewards.FindAll(d => (byte)d.Job == pChar.Character.Job && d.Level == pChar.Character.CharLevel);
            MasterRewardItem rr = new MasterRewardItem
            {
                ItemID = 250,
                Count = 1,
            };
            ZoneConnection Conn = Program.GetZoneByMap(pChar.Character.PositionInfo.Map);
            if (Conn == null)
                return;

            using (var packet = new Packet(SH37Type.SendApprenticeReward))
            {

                packet.WriteByte((byte)Rewards.Count);//count
                foreach (var pReward in Rewards)
                {
                    packet.WriteUShort(pReward.ItemID);
                    packet.WriteByte(pReward.Count);
                    packet.WriteByte(0);//unk
                    InterHandler.SendAddReward(Conn, pReward.ItemID,pReward.Count,pChar.Character.Name);
                }
                pChar.Client.SendPacket(packet);
            }
        }
コード例 #5
0
 private void LoadMasterReward()
 {
     this.MasterRewards = new List<MasterRewardItem>();
     DataTable RewardData = null;
     using (DatabaseClient dbClient = Program.DatabaseManager.GetClient())
     {
         RewardData = dbClient.ReadDataTable(string.Format("USE `{0}`; SELECT  *FROM MasterRewards;  USE `{1}`", Settings.Instance.zoneMysqlDatabase, Settings.Instance.WorldMysqlDatabase));
     }
     if (RewardData != null)
     {
         foreach (DataRow row in RewardData.Rows)
         {
             MasterRewardItem Reward = new MasterRewardItem(row);
             this.MasterRewards.Add(Reward);
         }
     }
     Log.WriteLine(LogLevel.Info, "Load  {0} MasterRewards", this.MasterRewards.Count);
 }