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); } } }
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); } }
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 } } }
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); } } }