Esempio n. 1
0
 public void GetDropItemInfo()
 {
     if (this.m_game.CurrentLiving is Player)
     {
         Player          p         = this.m_game.CurrentLiving as Player;
         List <ItemInfo> infos     = null;
         int             gold      = 0;
         int             money     = 0;
         int             gifttoken = 0;
         DropInventory.NPCDrop(this.m_npcInfo.DropId, ref infos);
         if (infos != null)
         {
             foreach (ItemInfo info in infos)
             {
                 ItemInfo tempInfo = ItemInfo.FindSpecialItemInfo(info, ref gold, ref money, ref gifttoken);
                 if (tempInfo != null)
                 {
                     if (tempInfo.Template.CategoryID == 10)
                     {
                         p.PlayerDetail.AddTemplate(tempInfo, eBageType.FightBag, info.Count);
                     }
                     else
                     {
                         p.PlayerDetail.AddTemplate(tempInfo, eBageType.TempBag, info.Count);
                     }
                 }
             }
             p.PlayerDetail.AddGold(gold);
             p.PlayerDetail.AddMoney(money, LogMoneyType.Award, LogMoneyType.Award_Drop);
             p.PlayerDetail.AddGiftToken(gifttoken);
         }
     }
 }
Esempio n. 2
0
        public void TestDropPerformance()
        {
            List <ItemInfo> tempItem = null;

            for (int i = 0; i < 100000; i++)
            {
                DropInventory.PvEQuestsDrop(1, ref tempItem);
                if (tempItem != null)
                {
                    Console.WriteLine(tempItem.First().Template.Name);
                }
                DropInventory.NPCDrop(3, ref tempItem);
                DropInventory.CopyDrop(1071, 1, ref tempItem);
            }
        }
Esempio n. 3
0
 public void GetDropItemInfo()
 {
     //NPC物品掉落表
     if (m_game.CurrentLiving is Player)
     {
         Player          p         = m_game.CurrentLiving as Player;
         List <ItemInfo> infos     = null;
         int             gold      = 0;
         int             money     = 0;
         int             gifttoken = 0;
         int             medal     = 0;
         DropInventory.NPCDrop(m_npcInfo.DropId, ref infos);
         if (infos != null)
         {
             foreach (ItemInfo info in infos)
             {
                 ItemInfo.FindSpecialItemInfo(info, ref gold, ref money, ref gifttoken, ref medal);
                 if (info != null)
                 {
                     if (info.Template.CategoryID == 10)
                     {
                         //添加物品到道具栏
                         p.PlayerDetail.AddTemplate(info, eBageType.FightBag, info.Count);
                     }
                     else
                     {
                         p.PlayerDetail.AddTemplate(info, eBageType.TempBag, info.Count);
                     }
                 }
             }
             p.PlayerDetail.AddGold(gold);
             p.PlayerDetail.AddMoney(money);
             p.PlayerDetail.LogAddMoney(AddMoneyType.Award, AddMoneyType.Award_Drop, p.PlayerDetail.PlayerCharacter.ID, money, p.PlayerDetail.PlayerCharacter.Money);
             p.PlayerDetail.AddGiftToken(gifttoken);
             p.PlayerDetail.AddMedal(medal); //trminhpc
         }
     }
 }
Esempio n. 4
0
 public void GetDropItemInfo()
 {
     if (this.m_game.CurrentLiving is Player)
     {
         Player          player = this.m_game.CurrentLiving as Player;
         List <ItemInfo> list   = null;
         int             value  = 0;
         int             num    = 0;
         int             value2 = 0;
         int             value3 = 0;
         DropInventory.NPCDrop(this.m_npcInfo.DropId, ref list);
         if (list != null)
         {
             foreach (ItemInfo current in list)
             {
                 ItemInfo.FindSpecialItemInfo(current, ref value, ref num, ref value2, ref value3);
                 if (current != null)
                 {
                     if (current.Template.CategoryID == 10)
                     {
                         player.PlayerDetail.AddTemplate(current, eBageType.FightBag, current.Count);
                     }
                     else
                     {
                         player.PlayerDetail.AddTemplate(current, eBageType.TempBag, current.Count);
                     }
                 }
             }
             player.PlayerDetail.AddGold(value);
             player.PlayerDetail.AddMoney(num);
             player.PlayerDetail.LogAddMoney(AddMoneyType.Award, AddMoneyType.Award_Drop, player.PlayerDetail.PlayerCharacter.ID, num, player.PlayerDetail.PlayerCharacter.Money);
             player.PlayerDetail.AddGiftToken(value2);
             player.PlayerDetail.AddMedal(value3);
         }
     }
 }