/* Print all item sets in input item set table */ public static void Print(ItemSetTable ist) { if (ist != null) { Console.WriteLine("Order: {0}", ist.order); Console.WriteLine(ist.ToString()); } else Console.WriteLine("don't exist"); }
public static void Initialize() { nextPlayerGuid = CharacterTable.getNextGuid(); nextPlayerGuid++; nextItemGuid = InventoryItemTable.getNextGuid(); nextItemGuid++; nextGuildId = GuildTable.getNextGuid(); nextGuildId++; nextMountId = MountTable.getNextGuid(); nextMountId++; nextSpeakingId = SpeakingTable.getNextGuid(); nextSpeakingId++; SpellTable.Load(); ExpFloorTable.Load(); MonsterTable.Load(); ItemTemplateTable.Load(); ItemTemplateTable.LoadItemActions(); ItemSetTable.Load(); DropTable.Load(); TitleTable.Load(); IObjectTemplateTable.Load(); AreaTable.Load(); AreaSubTable.Load(); MapTable.Load(); MapTable.LoadActions(); CellActionTable.Load(); MobGroupFixTable.Load(); BreedTable.Load(); NpcTemplateTable.Load(); NpcTemplateTable.LoadPlaces(); NpcQuestionTable.Load(); NpcReplyTable.Load(); ShopNpcTable.Initialize(); GuildTable.Load(); CharactersGuildTable.Load(); TaxCollectorTable.Load(); PrismeTable.Load(); BidHouseTable.Load(); BidHouseTable.LoadItems(); MountParkTable.Load(); StaticMountTable.Load(); MountTable.Load();//TODO Dynamic load of Character mount ZaapTable.Load(); ZaapiTable.Load(); var Timer = new System.Timers.Timer(1000 * 60 * 25); Timer.Elapsed += delegate(object sender, ElapsedEventArgs e) { Save(); }; Timer.Start(); }
public void onMoveItem(InventoryItemModel Item) { lock (this.ItemSetEffects) { if (Item.Template.ItemSetID != -1) { if (ItemSetTable.getItemSet(Item.Template.ItemSetID) == null) { return; } var countByItemSet = CountItemByItemSet(Item.Template.ItemSetID); var Stat = ItemSetTable.getItemSet(Item.Template.ItemSetID).getBonusStatByItemCount(countByItemSet); if (!this.ItemSetEffects.Keys.Contains(Item.Template.ItemSetID)) { if (countByItemSet > 1) { this.ItemSetEffects.Add(Item.Template.ItemSetID, Stat); this.Player.myStats.Merge(Stat); this.Player.Life += Stat.GetTotal(EffectEnum.AddVitalite); } } else { if (countByItemSet <= 1) { this.Player.myStats.UnMerge(this.ItemSetEffects[Item.Template.ItemSetID]); this.Player.Life -= this.ItemSetEffects[Item.Template.ItemSetID].GetTotal(EffectEnum.AddVitalite); this.ItemSetEffects.Remove(Item.Template.ItemSetID); } else if (this.ItemSetEffects[Item.Template.ItemSetID] != Stat) { this.Player.myStats.UnMerge(this.ItemSetEffects[Item.Template.ItemSetID]); this.Player.Life -= this.ItemSetEffects[Item.Template.ItemSetID].GetTotal(EffectEnum.AddVitalite); this.ItemSetEffects[Item.Template.ItemSetID] = Stat; this.Player.myStats.Merge(Stat); this.Player.Life += Stat.GetTotal(EffectEnum.AddVitalite); } } Player.BeginCachedBuffer(); Player.Send(new ItemSetAppearMessage(Player, Item.Template.ItemSetID)); Player.Send(new AccountStatsMessage(Player)); Player.EndCachedBuffer(); } } }
public void RefreshSet() { lock (ItemsCache) { foreach (var Item in this.ItemsCache.Values.Where(x => x != null && x.Template.ItemSetID != -1 && ItemSetTable.getItemSet(x.Template.ItemSetID) != null && x.Slot > ItemSlotEnum.SLOT_INVENTAIRE && x.Slot <= ItemSlotEnum.SLOT_BOUCLIER)) { if (!this.ItemSetEffects.Keys.Contains(Item.Template.ItemSetID)) { if (CountItemByItemSet(Item.Template.ItemSetID) > 1) { this.ItemSetEffects.Add(Item.Template.ItemSetID, ItemSetTable.getItemSet(Item.Template.ItemSetID).getBonusStatByItemCount(CountItemByItemSet(Item.Template.ItemSetID))); this.Player.myStats.Merge(ItemSetTable.getItemSet(Item.Template.ItemSetID).getBonusStatByItemCount(CountItemByItemSet(Item.Template.ItemSetID))); this.Player.Life += ItemSetTable.getItemSet(Item.Template.ItemSetID).getBonusStatByItemCount(CountItemByItemSet(Item.Template.ItemSetID)).GetTotal(EffectEnum.AddVitalite); } Player.Send(new ItemSetAppearMessage(Player, Item.Template.ItemSetID)); } } } }
public override string Compile() { StringBuilder Packet = new StringBuilder("OS"); int num = Character.InventoryCache.CountItemByItemSet(Pano); if (num <= 0) { Packet.Append("-").Append(Pano); } else { Packet.Append("+").Append(Pano).Append("|"); var ItemSet = ItemSetTable.getItemSet(Pano); if (ItemSet != null) { StringBuilder Items = new StringBuilder(); foreach (var Item in ItemSet.Items) { if (Character.InventoryCache.HasTemplateEquiped(Item.ID)) { if (Items.Length > 0) { Items.Append(";"); } Items.Append(Item.ID); } } var stat = ItemSet.getBonusStatByItemCount(num).ToItemStats(); if (stat.StartsWith(",")) { stat = stat.Substring(1); } Packet.Append(Items.ToString()).Append("|").Append(stat); } } return(Packet.ToString()); }
public static void Main(string[] args) { Console.WriteLine(DateTime.Now.ToString("O")); string inputFile = null; string outputFile = null; int minSupPercent = 0; int minSupport = 0; if (args.Length != 3) { PrintUsage(); } try { minSupPercent = Convert.ToInt32(args[0]); inputFile = String.Copy(args[1]); outputFile = String.Copy(args[2]); // If input file don't exist, throw exception. if (File.Exists(inputFile) == false) throw new FileNotFoundException(); // If output file already exists, the file will be deleted. if (File.Exists(outputFile) == true) File.Delete(outputFile); } catch (Exception e) { Console.WriteLine(e); PrintUsage(); } TransactionDatabase database = new TransactionDatabase(inputFile, outputFile); ItemSetTable candidateTable = new ItemSetTable(); ItemSetTable frequentTable = null; /* Printing input arguments.. */ minSupport = minSupPercent * database.Count / 100; Console.WriteLine("minimum support: {0} %", minSupPercent); Console.WriteLine("minimum support: {0}", minSupport); ItemSetTable.SetMinSupport(minSupport); /* Build C(1), the candidate item sets with size 1 */ candidateTable = database.FindFirstCandidateItemSetTable(); /* Build L(1), the frequent item sets with size 1 */ if (candidateTable != null) frequentTable = candidateTable.BuildFrequentItemSet(); for (int k=1; frequentTable != null; ++k) { // C(k+1) = candidates generated from L(k) candidateTable = frequentTable.BuildCandidateItemSet(); // for each transaction t in database do increment the count of // all candidates in C(k+1) that are contained in t database.IncrementCandidatesIn(candidateTable); // L(k+1) = candidates in C(K+1) with min_support frequentTable = candidateTable.BuildFrequentItemSet(); if (frequentTable != null) { foreach (ItemSet frequentItemSet in frequentTable.Keys) database.FindAssociationRules(frequentItemSet); } } Console.WriteLine("Finding Association Rules is finished."); Console.WriteLine(DateTime.Now.ToString("O")); }