コード例 #1
0
ファイル: Talented.cs プロジェクト: naacra/wowhbbotcracked
        private void HandleTalentPointsChanged(object sender, LuaEventArgs args)
        {
            if (!HasLearnedMajorTree)
                SelectMajorTalentTree(_talentBuild.Specialization);

            var learned = BuildLearnedTalentDictionary();
            var wanted = GetCurrentSpecTalentPlacements();

            int numAvailable = Lua.GetReturnVal<int>("return GetUnspentTalentPoints()", 0);

            foreach (var tp in wanted)
            {
                if (numAvailable == 0)
                    continue;

                var lt = learned.FirstOrDefault(t => (t.Name == tp.Name) || (t.Index == tp.Index && t.Tab == tp.Tab));

                int numLearned = 0;

                if (lt != null)
                    numLearned = lt.Count;

                while (numAvailable != 0 && numLearned < tp.Count)
                {
                    LearnTalent(tp.Tab, tp.Index);
                    numLearned++;
                    numAvailable--;
                }
            }

            Lua.DoString("LearnPreviewTalents()");
        }
コード例 #2
0
ファイル: Root.cs プロジェクト: Mirabis/PushHub
        private static void OnDisconected(object sender, LuaEventArgs args)
        {
            const string title   = "Character Disconnected";
            const string message = "You've been disconnected.";

            SendNotification(message, title);
        }
コード例 #3
0
        public static void HandleResurrect(object sender, LuaEventArgs args)
        {
            float waitseconds = Lua.GetReturnVal <float>("return GetCorpseRecoveryDelay()", 0);

            Thread.Sleep((int)(waitseconds * 1000));
            Lua.DoString("AcceptResurrect()");
        }
コード例 #4
0
ファイル: TalentManager.cs プロジェクト: hbcode2/Illidari
 private static void initializeTalents(object sender, LuaEventArgs args)
 {
     L.infoLog("Event triggered: " + args.EventName, C.InfoColor);
     //WriteDebugLuaEvents(args);
     setTalents();
     //printTalents();
 }
コード例 #5
0
        private void Reload(object sender, LuaEventArgs args)
        {
            if (ProfileManager.XmlLocation.ToLower().Contains("questing profile pack"))
            {
                _kickz = false;

                for (var i = 0; i <= _qdirs.Length - 1; i++)
                {
                    if (ProfileManager.XmlLocation.ToLower().Contains(_qdirs[i]))
                    {
                        ProfileManager.LoadNew(Path.Combine(Path.GetDirectoryName(ProfileManager.XmlLocation),
                                                            "..\\Auto Loader - v2.xml"));
                        _kickz = true;
                    }
                }
                if (!_kickz)
                {
                    ProfileManager.LoadNew(ProfileManager.XmlLocation);
                }
            }
            else
            {
                ProfileManager.LoadNew(ProfileManager.XmlLocation);
            }
        }
コード例 #6
0
        private static void HandleErrorMessage(object sender, LuaEventArgs args)
        {
            bool handled = false;

            if (StyxWoW.Me.Class == WoWClass.Rogue && args.Args[0].ToString() == LocalizedAlreadyPickPocketedError)
            {
                if (StyxWoW.Me.GotTarget)
                {
                    WoWUnit unit = StyxWoW.Me.CurrentTarget;
                    Logging.WriteDiagnostic("[WowErrorMessage] already pick pocketed {0}, blacklisting from pick pocket for 2 minutes", unit.SafeName());
                    Blacklist.Add(unit.Guid, BlacklistFlags.Node, TimeSpan.FromMinutes(2));
                    handled = true;
                }
            }

            if (StyxWoW.Me.Class == WoWClass.Druid)
            {
                if (LocalizedShapeshiftMessages.ContainsKey(args.Args[0].ToString()))
                {
                    string symbolicName = LocalizedShapeshiftMessages[args.Args[0].ToString()];
                    LastShapeshiftFailure = DateTime.Now;
                    Logging.WriteDiagnostic("[WowErrorMessage] cast fail due to shapeshift error '{0}' while questing reported at {1}", symbolicName, LastShapeshiftFailure.ToString("HH:mm:ss.fff"));
                    handled = true;
                }
            }

            if (!handled)
            {
                Logging.WriteDiagnostic("[WoWRedError] {0}", args.Args[0].ToString());
            }
        }
コード例 #7
0
ファイル: 14122.cs プロジェクト: ywjb/Honorbuddy-434
 public void q14122msg(object sender, LuaEventArgs arg)
 {
     if (arg.Args[0].ToString().Contains("Infinifold Lockpick"))
     {
         Thread.Sleep(1000);
         Lua.DoString("CastPetAction(4)");
     }
     if (arg.Args[0].ToString().Contains("Amazing G-Ray"))
     {
         Thread.Sleep(1000);
         Lua.DoString("CastPetAction(1)");
     }
     if (arg.Args[0].ToString().Contains("Kaja'mite Drill"))
     {
         Thread.Sleep(1000);
         Lua.DoString("CastPetAction(5)");
     }
     if (arg.Args[0].ToString().Contains("Ear-O-Scope"))
     {
         Thread.Sleep(1000);
         Lua.DoString("CastPetAction(3)");
     }
     if (arg.Args[0].ToString().Contains("Blastcrackers"))
     {
         Thread.Sleep(1000);
         Lua.DoString("CastPetAction(2)");
     }
 }
コード例 #8
0
 private void HandleMS(object sender, LuaEventArgs args)
 {
     if ((args.Args[0].ToString() == "Hey!  A little help over here!" ||
          args.Args[0].ToString() == "Umm... I think I might need a hand here..." ||
          args.Args[0].ToString() == "If we don't slow down soon, I might pass out." ||
          args.Args[0].ToString() == "Ugh... maybe if you could lightly slap me on the cheek...") && !Me.Dead && Me.QuestLog.GetQuestById(24735) != null && !Me.QuestLog.GetQuestById(24735).IsCompleted&& q24735mob.Count > 0)
     {
         Log("Slap 'da bitch!");
         while (Me.Location.Distance(q24735mob[0].Location) > 5)
         {
             Navigator.MoveTo(q24735mob[0].Location);
         }
         WoWMovement.MoveStop();
         q24735mob[0].Interact();
         StyxWoW.SleepForLagDuration();
     }
     if (args.Args[0].ToString() == "Squire!  Please stand next to me as I request the blessing of this Light-blessed spirit." && !Me.Dead && Me.QuestLog.GetQuestById(24706) != null && !Me.QuestLog.GetQuestById(24706).IsCompleted)
     {
         Log("Let the idiot get his blessing");
         Lua.DoString("PetStopAttack()");
         SpellManager.StopCasting();
         Me.ClearTarget();
         if (!SpellManager.Spells["Freezing Trap"].Cooldown)
         {
             SpellManager.Cast("Freezing Trap");
         }
         Thread.Sleep(10000);
     }
 }
コード例 #9
0
        private void HandleLootClosed(object sender, LuaEventArgs e)
        {
            try
            {
                if (!TreeRoot.IsRunning)
                {
                    return;
                }

                if (ObjectManager.Me.Combat || ObjectManager.Me.Dead || ObjectManager.Me.IsGhost)
                {
                    return;
                }

                if (Battlegrounds.IsInsideBattleground)
                {
                    return;
                }

                DoCheck();
            }
            catch (Exception ex)
            {
                Styx.Helpers.Logging.WriteException(ex);
            }
        }
コード例 #10
0
 private void handleAuction(object sender, LuaEventArgs args)
 {
     if (args.Args[0].ToString().StartsWith("Ihr habt") || args.Args[0].ToString().StartsWith("You won an auction"))
     {
         prepareSendMessage(args.Args[0].ToString(), "240534944558874625");
     }
 }
コード例 #11
0
ファイル: SimcraftTop.cs プロジェクト: jodysaliba/simpl
        public void ContextChange(object sender, LuaEventArgs args)
        {
            talent.Reset();
            glyph.Reset();
            spell.Reset();
            line_cds.Clear();
            PlayerAuras.Reset();
            PetAuras.Reset();

            _class = StyxWoW.Me.Class;
            //_spec = Me.Specialization;

            var oldctx = Context;

            Context = (StyxWoW.Me.CurrentMap.IsArena || StyxWoW.Me.CurrentMap.IsBattleground)
                ? WoWContext.PvP
                : WoWContext.PvE;
            if (Context != oldctx)
            {
                SimcraftImpl.Write("Switching to " + Context + " Mode");
            }

            ooc = DateTime.Now;
            RebuildBehaviors();
        }
コード例 #12
0
 private void OnUnitSpellCastSucceeded(object obj, LuaEventArgs args)
 {
     try
     {
         if ((string)args.Args[0] == "player" && (uint)((double)args.Args[4]) == Entry)
         {
             // confirm last recipe
             if (Casted + 1 == CalculatedRepeat)
             {
                 Confimed = true;
             }
             if (RepeatType != RepeatCalculationType.Craftable)
             {
                 Casted++;
             }
             Professionbuddy.Instance.UpdateMaterials();
             if (MainForm.IsValid)
             {
                 MainForm.Instance.RefreshTradeSkillTabs();
                 MainForm.Instance.RefreshActionTree(typeof(CastSpellAction));
             }
         }
     }
     catch (Exception ex)
     {
         Professionbuddy.Err(ex.ToString());
     }
 }
コード例 #13
0
        public void BossWhisperHandler(object sender, LuaEventArgs arg)
        {
            var msg   = arg.Args[0].ToString();
            var match = _bossWhisperIcons.FirstOrDefault(msg.Contains);

            _petAbilityIndex = match != null ? (Extensions.IndexOf(_bossWhisperIcons, match) + 1) : 0;
        }
コード例 #14
0
 private void OnBagUpdate(object obj, LuaEventArgs args)
 {
     if (_onBagUpdateTimer.IsFinished)
     {
         try
         {
             lock (tradeSkillLocker)
             {
                 foreach (TradeSkill ts in TradeSkillList)
                 {
                     ts.PulseBags();
                 }
                 UpdateMaterials();
                 if (MainForm.IsValid)
                 {
                     MainForm.Instance.RefreshTradeSkillTabs();
                     MainForm.Instance.RefreshActionTree(typeof(CastSpellAction));
                 }
             }
         }
         catch (Exception ex)
         {
             PBLog.Warn(ex.ToString());
         }
         _onBagUpdateTimer.Reset();
     }
 }
コード例 #15
0
 private void HandlePartyMembersChanged(object sender, LuaEventArgs args)
 {
     if (!IsInGroup)
     {
         Logging.WriteDebug("You left the group");
         haveWeChecked = false;
     }
     else if (IamTheTank || LazyRaiderSettings.Instance.NoTank)
     {
         Logging.WriteDebug("You are acting as Tank, no leader needed");
         haveWeChecked = true;
     }
     else if (RaFHelper.Leader == null)
     {
         Log("Joined party -- need to find tank");
         haveWeChecked = false;
     }
     else if (GroupMembers.Contains(RaFHelper.Leader))
     {
         Logging.WriteDebug("Party Members Changed - Tank still in group");
     }
     else
     {
         Log("Tank left group, no tank currently");
         RaFHelper.ClearLeader();
         haveWeChecked = false;
     }
 }
コード例 #16
0
ファイル: GarrisonButler.cs プロジェクト: aash/GarrisonButler
        private static void GARRISON_MISSION_COMPLETE_RESPONSE(object sender, LuaEventArgs args)
        {
            Diagnostic("LuaEvent: GARRISON_MISSION_COMPLETE_RESPONSE ");
            // Store the success of the mission
            if (args.Args[1].ToString() == "nil")
            {
                Diagnostic("GARRISON_MISSION_COMPLETE_RESPONSE: Received a failure.");
            }
            else
            {
                if (args.Args[0] == null)
                {
                    Warning("ERROR: Arg0 null in GARRISON_MISSION_COMPLETE_RESPONSE");
                }
                else
                {
                    var success = Lua.ParseLuaValue<Boolean>(args.Args[1].ToString());

                    var mission = MissionLua.GetCompletedMissionById(args.Args[0].ToString());
                    mission.Success = success;
                    if (success)
                    {
                        CacheCompletedList.Add(mission);
                    }
                    else
                    {
                        mission.PrintCompletedMission();
                    }
                }
            }
        }
コード例 #17
0
 public void SellVenderItems(object sender, LuaEventArgs args)
 {
     if (Styx.Logic.Inventory.Frames.Merchant.MerchantFrame.Instance.IsVisible && MIRsettings.Instance.EnableSell)
     {
         foreach (WoWItem Items in Me.BagItems)
         {
             if (!Items.IsSoulbound)
             {
                 if (Items.Quality == WoWItemQuality.Poor && MIRsettings.Instance.SellGray)
                 {
                     slog("Selling Gray Item {0}", Items.Name);
                     Items.UseContainerItem();
                 }
                 if (Items.Quality == WoWItemQuality.Common && MIRsettings.Instance.SellWhite)
                 {
                     slog("Selling White Item {0}", Items.Name);
                     Items.UseContainerItem();
                 }
                 if (Items.Quality == WoWItemQuality.Uncommon && MIRsettings.Instance.SellGreen)
                 {
                     slog("Selling Green Item {0}", Items.Name);
                     Items.UseContainerItem();
                 }
                 if (_ItemNameSell.Contains(Items.Name))
                 {
                     slog("Item Matched List Selling {0}", Items.Name);
                     Items.UseContainerItem();
                 }
             }
         }
     }
 }
コード例 #18
0
ファイル: TidyBags.cs プロジェクト: LiquidAtoR/TidyBags
 private void MailboxFinished(object sender, LuaEventArgs args)
 {
     if (InventoryCheck == false)
     {
         InventoryCheck = true;
     }
 }
コード例 #19
0
ファイル: GarrisonButler.cs プロジェクト: aash/GarrisonButler
        private static void GARRISON_MISSION_BONUS_ROLL_COMPLETE(object sender, LuaEventArgs args)
        {
            Diagnostic("LuaEvent: GARRISON_MISSION_BONUS_ROLL_COMPLETE ");
            if (args.Args[1].ToString() == "nil")
            {
                Diagnostic("GARRISON_MISSION_BONUS_ROLL_COMPLETE: Received a failure.");
            }
            else
            {
                if (args.Args[0] == null)
                {
                    Warning("ERROR: Arg0 null in GARRISON_MISSION_BONUS_ROLL_COMPLETE");
                }
                else
                {
                    var idstring = args.Args[0].ToString();

                    var mission = CacheCompletedList.FirstOrDefault(m => m.MissionId == idstring);
                    if (mission != null)
                    {
                        mission.PrintCompletedMission();
                    }
                    else
                    {
                        Log("Unknown mission completed.");
                    }
                }
            }
        }
コード例 #20
0
ファイル: TalentManager.cs プロジェクト: hbcode2/Illidari
 private static void updateTalentManager(object sender, LuaEventArgs args)
 {
     L.infoLog("------------------", C.InfoColor);
     L.infoLog("Talents changed...", C.InfoColor);
     initTalents();
     printTalents();
 }
コード例 #21
0
        private static void HandlePartyMemberDisable(object sender, LuaEventArgs args)
        {
            // Since we hooked this in ctor, make sure we are the selected CC
            if (RoutineManager.Current.Name != SingularRoutine.Instance.Name)
            {
                return;
            }

            WoWPartyMember pm     = Unit.GroupMemberInfos.FirstOrDefault(g => g.ToPlayer() != null && string.Equals(g.ToPlayer().Name, args.Args[0].ToString(), StringComparison.InvariantCulture));
            string         name   = "(null)";
            string         status = "(unknown)";

            if (pm == null)
            {
                Logger.WriteDiagnostic("Group Member: {0} disabled but could not be found", args.Args[0].ToString());
            }
            else
            {
                WoWUnit o = ObjectManager.GetObjectByGuid <WoWUnit>(pm.Guid);
                name = o.Name;
                if (!o.IsAlive)
                {
                    status = "Died!";
                }
                else if (!pm.IsOnline)
                {
                    status = "went Offline";
                }

                Logger.WriteDiagnostic("Group Member {0}: {1} {2}", pm.RaidRank, name, status);
            }
        }
コード例 #22
0
        /**
         * /run local icon, name, quality, bound, numCurrUpgrades, numMaxUpgrades, cost, currencyType = GetItemUpgradeItemInfo()
         **/
        public void OnSetItemUpgrade(object sender, LuaEventArgs args)
        {
            List <string> values        = Lua.GetReturnValues("return GetItemUpgradeItemInfo()");
            int           upgradeAmount = Convert.ToInt32(values[4]);
            int           maxAmount     = Convert.ToInt32(values[5]);
            uint          cost          = Convert.ToUInt32(values[6]);
            uint          currencyType  = Convert.ToUInt32(values[7]);



            SDebug("Event: OnSetItemUpgrade, On Item {4}, amount: {0}, maxAmount: {1}, cost: {2}, currencyType: {3}",
                   upgradeAmount,
                   maxAmount,
                   cost,
                   currencyType,
                   currentItem.Name);

            if (upgradeAmount < maxAmount)
            {
                Lua.DoString("UpgradeItem()");
            }
            else
            {
                blacklistedItems.Add(currentItem.Guid);

                SLog("{0} is fully upgraded, blacklisting item for upgrades. ", currentItem.Name);

                Lua.DoString("CloseItemUpgrade()");
            }
        }
コード例 #23
0
 public static void GARRISON_MISSION_STARTED(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission Started!"));
     if (OnGarrisonMissionStarted != null)
     {
         OnGarrisonMissionStarted();
     }
 }
コード例 #24
0
 public static void HandleDungeonInvite(object sender, LuaEventArgs args)
 {
     if (AutoAcceptDungeon)
     {
         FTWLogger.log(Color.SandyBrown, "Accepting dungeon invite");
         Lua.DoString("AcceptProposal()");
     }
 }
コード例 #25
0
 public static void GARRISON_MISSION_LIST_UPDATE(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission List Updated!"));
     if (OnGarrisonMissionListUpdated != null)
     {
         OnGarrisonMissionListUpdated();
     }
 }
コード例 #26
0
 public static void TAXIMAP_CLOSED(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent("LuaEvent: TAXIMAP_CLOSED");
     if (OnTaxiMapClosed != null)
     {
         OnTaxiMapClosed();
     }
 }
コード例 #27
0
 public static void BAG_UPDATE(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent("LuaEvent: BAG_UPDATE");
     if (OnBagUpdate != null)
     {
         OnBagUpdate();
     }
 }
コード例 #28
0
 public static void GARRISON_MISSION_NPC_CLOSED(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Mission NPC Closed!"));
     if (OnGarrisonMissionNpcClosed != null)
     {
         OnGarrisonMissionNpcClosed();
     }
 }
コード例 #29
0
 public static void GARRISON_SHOW_LANDING_PAGE(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Landing Page Shown!"));
     if (OnGarrisonLandingPageShow != null)
     {
         OnGarrisonLandingPageShow();
     }
 }
コード例 #30
0
        public void OnUpgradeItem(object sender, LuaEventArgs args)
        {
            SDebug("Event: OnUpgradeItem.");

            SLog("Upgraded item {0}. ", currentItem.Name);

            Lua.DoString("CloseItemUpgrade()");
        }
コード例 #31
0
 public static void PLAYERREAGENTBANKSLOTS_CHANGED(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent("LuaEvent: PLAYERREAGENTBANKSLOTS_CHANGED");
     if (OnPlayerReagentsBankSlotsChanged != null)
     {
         OnPlayerReagentsBankSlotsChanged();
     }
 }
コード例 #32
0
 public static void GARRISON_FOLLOWER_LIST_UPDATE(object sender, LuaEventArgs args)
 {
     GarrisonBase.DebugLuaEvent(String.Format("LuaEvent: {0}", "Garrison Follower List Updated!"));
     if (OnGarrisonFollowerListUpdated != null)
     {
         OnGarrisonFollowerListUpdated();
     }
 }
コード例 #33
0
 public static void HandleDungeonInvite(object sender, LuaEventArgs args)
 {
     if (AutoAcceptDungeon)
     {
         FTWLogger.log(Color.SandyBrown, "Accepting dungeon invite");
         Lua.DoString("AcceptProposal()");
     }
 }
コード例 #34
0
        public void OnOpenVendor(object sender, LuaEventArgs args)
        {
            currentlyCheckingItemUpgrades = true;
            SLog("Event: InVendor: We got new item to upgrade: {0}. You have enough points + correct gear requirement. Starting procedure.", currentItem.Name);

            currentItem.PickUp();
            Lua.DoString("SetItemUpgradeFromCursorItem()");
        }
コード例 #35
0
 public static void HandleDungeonDone(object sender, LuaEventArgs args)
 {
     // Done with dungeon
     if (AutoQueueDungeon)
     {
         Thread.Sleep(60000);
         Lua.DoString("LeaveParty()");
     }
 }
コード例 #36
0
        private static void HandlePlayerDead(object sender, LuaEventArgs args)
        {
            // Since we hooked this in ctor, make sure we are the selected CC
            if (RoutineManager.Current.Name != SingularRoutine.Instance.Name)
                return;

            if (StyxWoW.Me.IsAlive || StyxWoW.Me.IsGhost)
                return;

            List<string> hasSoulstone = Lua.GetReturnValues("return HasSoulstone()", "hawker.lua");
            if (hasSoulstone != null && hasSoulstone.Count > 0 && !String.IsNullOrEmpty(hasSoulstone[0]) && hasSoulstone[0].ToLower() != "nil")
            {
                if (MovementManager.IsMovementDisabled )
                {
                    Logger.Write(Color.Aquamarine, "Suppressing {0} behavior since movement disabled...", hasSoulstone[0]);
                    return;
                }

                const int RezMaxMobsNear = 0;
                const int RezWaitTime = 10;
                const int RezWaitDist = 20;
                WaitTimer waitClearArea = new WaitTimer(TimeSpan.FromSeconds(RezWaitTime ));
                waitClearArea.Reset();
                Logger.Write(Color.Aquamarine, "Waiting up to {0} seconds for clear area to use {1}...", RezWaitTime , hasSoulstone[0]);
                int countMobs;
                do
                {
                    countMobs = (from u in Unit.NearbyUnfriendlyUnits where u.Distance < RezWaitDist select u).Count();
                } while (countMobs > RezMaxMobsNear && !waitClearArea.IsFinished && !StyxWoW.Me.IsAlive && !StyxWoW.Me.IsGhost);

                if (StyxWoW.Me.IsGhost)
                {
                    Logger.Write(Color.Aquamarine, "Insignia taken or something else released the corpse");
                    return;
                }

                if (StyxWoW.Me.IsAlive)
                {
                    Logger.Write(Color.Aquamarine, "Ressurected by something other than Singular...");
                    return;
                }

                if (countMobs > RezMaxMobsNear )
                {
                    Logger.Write(Color.Aquamarine, "Still {0} enemies within {1} yds, skipping {2}", countMobs, RezWaitDist, hasSoulstone[0]);
                    return;
                }

                Lua.DoString("UseSoulstone()");
                StyxWoW.SleepForLagDuration();
            }
            else
            {

            }
        }
コード例 #37
0
 private void AuctionPageShown(object sender, LuaEventArgs args)
 {
     Lua.Events.DetachEvent("AUCTION_ITEM_LIST_UPDATE", AuctionPageShown);
     var count = Lua.GetReturnVal<int>("return GetNumAuctionItems(\"list\")", 1);
     Pages = Convert.ToInt32(Math.Ceiling((double) count/50));
     if (_searching)
     {
         _searching = false;
         var results = new PageShownArgs();
         PageShown(results);
     }
 }
コード例 #38
0
ファイル: Inventory.cs プロジェクト: jodysaliba/ret_cr
        private static void UpdateGear(object sender = null, LuaEventArgs args = null)
        {
            EquippedGear.Clear();

            for (uint i = 0; i < 18; i++)
            {
                var slotInfo = StyxWoW.Me.Inventory.GetItemBySlot(i);

                if (slotInfo != null)
                    EquippedGear.Add(slotInfo.ItemInfo.Id);
            }
        }
コード例 #39
0
        public static void PlayerDeadEventHandler(object sender, LuaEventArgs args)
        {
            Utils.Log("************************* PLAY-YA DE-EDD");

            foreach (object arg in args.Args)
            {
                if (!(arg is String)) continue;
                var s = (string)arg;
                Utils.Log("*********************[PLAYED DEAD EVENT FIRED]**************************");
                Utils.Log(s);
                Utils.Log("*********************[PLAYED DEAD EVENT ENDED]**************************");

            }
        }
コード例 #40
0
ファイル: CombatLogEvent.cs プロジェクト: Lbniese/PawsPremium
        public CombatLogEvent(LuaEventArgs eventArgs)
        {
            EventType = eventArgs.EventName;

            BaseArgs = new CombatLogEventBaseArgs
            {
                TimeStamp = Convert.ToInt32(eventArgs.Args[0]),
                Event = Convert.ToString(eventArgs.Args[1]),
                SourceUnitId = UnitManager.GuidToUnitId((string) eventArgs.Args[3]),
                SourceName = Convert.ToString(eventArgs.Args[4]),
                DestinationUnitId = UnitManager.GuidToUnitId((string) eventArgs.Args[7]),
                DestinationName = Convert.ToString(eventArgs.Args[8])
            };
        }
コード例 #41
0
        public void BNWhisper(object sender, LuaEventArgs args)
        {
            object[] Args = args.Args;
            string Message = Args[0].ToString();
            string presenceId = Args[12].ToString();
            string Author = Lua.GetReturnValues(String.Format("return BNGetFriendInfoByID({0})", presenceId))[3];

            if (File.Exists(Rarekiller.Settings.SoundfileWisper))
                new SoundPlayer(Rarekiller.Settings.SoundfileWisper).Play();
            else if (File.Exists(Rarekiller.Soundfile))
                new SoundPlayer(Rarekiller.Soundfile).Play();
            else
                Logging.Write(System.Drawing.Color.Red, "Rarekiller Part Alert: playing Soundfile failes");
            Logging.Write(System.Drawing.Color.Aqua, "Rarekiller Part Alert: You got a BN Wisper: {0}: {1} - Timestamp: {2}: {3}", Author, Message, DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString());
        }
コード例 #42
0
ファイル: Events.cs プロジェクト: Lbniese/PawsPremium
 public void CombatLogHandler(object self, LuaEventArgs args)
 {
     if (CombatLogEvent.GetEvent(args) != "SPELL_CAST_SUCCESS") return;
     //Log.GUI(string.Format("0:{0}, 1:{1}, 2:{2}, 3:{3}, 4:{4}, 5:{5}, 6:{6}, 7:{7}",
     //    args.Args[0], args.Args[1], args.Args[2], args.Args[3], args.Args[4], args.Args[5], args.Args[6], args.Args[7]));
     var combatLogEvent = new SpellCastSuccess(args);
     if (combatLogEvent.SpellName != "Rake" || combatLogEvent.BaseArgs.SourceUnitId != Me.GetUnitId())
         return;
     if (MyCurrentTarget != null &&
         (MyCurrentTarget.GetUnitId() == combatLogEvent.BaseArgs.DestinationUnitId))
     {
         // Added this routine to catch instances of rake casts that the user may have initiated so that rolling
         // bleed modifiers are properly applied.
         SnapshotManager.Instance.AddRakedTarget(MyCurrentTarget, true);
     }
 }
コード例 #43
0
 // ACTIVE_TALENT_GROUP_CHANGED Event - Complete 08/08/2012 - CoDeRs (IMO)
 public void ACTIVE_TALENT_GROUP_CHANGED(object sender, LuaEventArgs args)
 {
     try
     {
         try
         {
             string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToons\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"szCurrentSpec\":\"" + UnitFunctions.getSpec() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}");
             Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Talent Update Report: " + sCommandCheck);
         }
         catch (Exception ex)
         {
             Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACTIVE_TALENT_GROUP_CHANGED SQL Failed!");
             Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
         }
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACTIVE_TALENT_GROUP_CHANGED LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }
コード例 #44
0
        private void HandleLootClosed(object sender, LuaEventArgs e)
        {
            try
            {

                if (!TreeRoot.IsRunning)
                    return;

                if (ObjectManager.Me.Combat || ObjectManager.Me.Dead || ObjectManager.Me.IsGhost)
                    return;

                if (Battlegrounds.IsInsideBattleground)
                    return;

                DoCheck();
            }
            catch (Exception ex)
            {
                Styx.Helpers.Logging.WriteException(ex);
            }
        }
コード例 #45
0
        // Parses the current battle round from a log event as there
        // is no other way to get it from the game
        public static void LuaMessage(object sender, LuaEventArgs args)
        {
            string msg = args.Args[0].ToString();
            string regex = "";

            switch(_locale) {
                case "frFR":
                case "esES":
                case "esMX":
                case "itIT":
                case "koKR":
                case "ptBR":
                case "ruRU":
                case "zhCN":
                case "zhTW":
                    break;

                case "deDE":
                    regex = @"Runde\s(\d*)";
                    break;

                case "enGB":
                case "enUS":
                default:
                    regex = @"Round\s(\d*)";
                    break;
            }

            if(regex == "")
                return;

            Match match = Regex.Match(msg, @"Round\s(\d*)");

            if (match.Success)
            {
                string roundStr = match.Groups[1].Value;
                int round = Convert.ToInt32(roundStr);
                Battle.SetRoundFromLog(round);
            }
        }
コード例 #46
0
        private static void HandleCombatLog(object sender, LuaEventArgs args)
        {
            var e = new CombatLogEventArgs(args.EventName, args.FireTimeStamp, args.Args);
            //Logger.WriteDebug("[CombatLog] " + e.Event + " - " + e.SourceName + " - " + e.SpellName);
            switch (e.Event)
            {
                case "SPELL_AURA_APPLIED":
                case "SPELL_CAST_SUCCESS":
                    if (e.SourceGuid != StyxWoW.Me.Guid)
                    {
                        return;
                    }

                    // Update the last spell we cast. So certain classes can 'switch' their logic around.
                    Spell.LastSpellCast = e.SpellName;
                    //Logger.WriteDebug("Successfully cast " + Spell.LastSpellCast);

                    // Force a wait for all summoned minions. This prevents double-casting it.
                    if (SingularRoutine.MyClass == WoWClass.Warlock && e.SpellName.StartsWith("Summon "))
                    {
                        StyxWoW.SleepForLagDuration();
                    }
                    break;

                case "SPELL_MISSED":
                    if (e.Args[14].ToString() == "EVADE")
                    {
                        Logger.Write("Mob is evading. Blacklisting it!");
                        Blacklist.Add(e.DestGuid, TimeSpan.FromMinutes(30));
                        if (StyxWoW.Me.CurrentTargetGuid == e.DestGuid)
                        {
                            StyxWoW.Me.ClearTarget();
                        }

                        BotPoi.Clear("Blacklisting evading mob");
                        StyxWoW.SleepForLagDuration();
                    }
                    break;
            }
        }
コード例 #47
0
ファイル: GuildAccept.cs プロジェクト: rhoninsk/novas-addons
        private void GuildInvite(object sender, LuaEventArgs e)
        {
            // Our Var's

            string GuildName;
            int GuildLevel;

            GuildName = e.Args[1].ToString();
            GuildLevel =  Convert.ToInt32(e.Args[2]);

            if (GuildLevel >= LevelToJoin)
            {
                Write("Accepting - Guild Name: {0}  Guild Level: {1}", GuildName, GuildLevel);
                Lua.DoString("AcceptGuild()");
            }
            else
            {
                Write("Declining - Guild Name: {0}  Guild Level: {1}", GuildName, GuildLevel);
                Lua.DoString("DeclineGuild()");
            }
            Lua.DoString("StaticPopup_Hide(\"GUILD_INVITE_REQUEST\")");
        }
コード例 #48
0
ファイル: LuaEvents.cs プロジェクト: aash/GarrisonButler
        internal static void LootOpened(object sender, LuaEventArgs args)
        {
            GarrisonButler.Log("[Loot] Opened");
            var currenPoi = BotPoi.Current.AsObject as WoWGameObject;
            if (currenPoi != null && currenPoi.IsValid)
            {
                var lootHash = currenPoi.Guid.GetHashCode();
                if (LootHash != lootHash)
                {
                    GarrisonButler.Log("[Loot] Looting {0}.", currenPoi.Name);
                    LootCount = 0;
                    LootHash = lootHash;
                }
                else
                {
                    GarrisonButler.Diagnostic("[Loot] Looting frame of {0} opened for the {1} time.", currenPoi.Name, LootCount);
                    LootCount++;
                }
                if (LootCount > MaxLootCount)
                {
                    GarrisonButler.Warning("[Loot] Tried to loot {0}, {1} times => blacklisting.", currenPoi.Name, LootCount);
                    Objects.Blacklist.Add(currenPoi);
                }
            }

            //var lootFrame = LootFrame.Instance;
            //if (lootFrame != null)
            //{
            //    for (int i = 0; i < lootFrame.LootItems; i++)
            //    {
            //        GarrisonButler.Diagnostic("[Loot] Found LootName {0}.", lootFrame.LootInfo(i).LootName);
            //        GarrisonButler.Diagnostic("[Loot] Found LootIcon {0}.", lootFrame.LootInfo(i).LootIcon);
            //        GarrisonButler.Diagnostic("[Loot] Found LootQuantity {0}.", lootFrame.LootInfo(i).LootQuantity);
            //        GarrisonButler.Diagnostic("[Loot] Found LootRarity {0}.", lootFrame.LootInfo(i).LootRarity);
            //        GarrisonButler.Diagnostic("[Loot] Found Locked {0}.", lootFrame.LootInfo(i).Locked);
            //    }
            //}
            LootIsOpen = true;
        }
コード例 #49
0
        // ACHIEVEMENT Event - Complete 08/08/2012 - CoDeRs (IMO)
        public void ACHIEVEMENT_EARNED(object sender, LuaEventArgs args)
        {
            try
            {
                List<string> achievementInfo = Lua.GetReturnValues("return GetAchievementInfo(" + args.Args[0].ToString() + ")");

                try
                {
                    string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABAchievements\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"nAchievLfd\":\"NULL\"},{\"szAchievId\":\"" + achievementInfo[0] + "\"},{\"szAchievName\":\"" + achievementInfo[1] + "\"}]", "{\"Query\":\"Insert\"}", "{\"Limit\":\"0\"}");
                    Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Achievement Update Report: " + sCommandCheck);
                }
                catch (Exception ex)
                {
                    Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACHIEVEMENT_EARNED SQL Failed!");
                    Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
                }
            }
            catch (Exception ex)
            {
                Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ACHIEVEMENT_EARNED LUA Failed!");
                Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
            }
        }
コード例 #50
0
        public static void CombatLogEventHander(object sender, LuaEventArgs args)
        {
            foreach (object arg in args.Args)
            {
                if (arg is String)
                {
                    var s = (string)arg;

                    //if (s.Contains("Crab")) Utils.Log("CRAB-EH!",Color.Red);
                    
                    if (s.Contains("EVADE"))
                    {
                        if (Me.GotTarget)
                        {
                            Logging.Write("My target is Evade bugged, blacking " + CT.Name,Color.Red);
                            Target.BlackList(3600);
                            Lua.DoString("StopAttack() PetStopAttack() PetFollow()");
                            StyxWoW.Me.ClearTarget();
                        }
                    }
                }
            }
        }
コード例 #51
0
ファイル: Enemy.cs プロジェクト: Wigglez/DaVinci
        public static void HandleErrorMessage(object sender, LuaEventArgs args)
        {
            var errorMessage = args.Args[0].ToString();

            //var localizedAlreadyPickpocketed = Lua.GetReturnVal<string>("return ERR_ALREADY_PICKPOCKETED", 0);

            /*
            if(!errorMessage.Equals(localizedAlreadyPickpocketed)) {
                return;
            }
            */

            /*
            if(errorMessage.Equals(localizedNoPockets)) {
                var noPocketMob = new Blacklist.BlacklistEntry { Entry = PickPocketTarget.Target.Entry, GUID = PickPocketTarget.Target.Guid, Name = PickPocketTarget.Target.Name, Elite = PickPocketTarget.Target.Elite, Comment = "No pockets (auto added)." };
                BlacklistSettings.Instance.BlacklistedUnits.Add(noPocketMob);
                BlacklistSettings.Save();
            } else {
                PickPocketTarget.AddToPickPocketedBlacklist();
            }

            ClearAllTargetData();
             */
        }
コード例 #52
0
 public void recievedWhoList(object sender, LuaEventArgs args)
 {
     List<string> whoNumAmounts = Lua.GetReturnValues("return GetNumWhoResults()");
     int shownWhos = Int32.Parse(whoNumAmounts[0]);
     totalWhos = Int32.Parse(whoNumAmounts[1]);
     for (int i = 1; i <= totalWhos; i++)
     {
         List<string> whoInfo = Lua.GetReturnValues("return GetWhoInfo(" + i + ")");
         if (whoInfo[1].Length <= 0)
         {
             Persons curPerson = new Persons();
             curPerson.name = whoInfo[0];
             curPerson.level = Int32.Parse(whoInfo[2]);
             if (!allPersons.ContainsKey(whoInfo[0]))
             {
                 allPersons.Add(whoInfo[0], curPerson);
                 writePerson(curPerson);
             }
         }
     }
     Lua.DoString("ToggleFriendsFrame(2)");
     improveSearch();
 }
コード例 #53
0
 void OnUnitSpellCastSucceeded(object obj, LuaEventArgs args)
 {
     try
     {
         if ((string)args.Args[0] == "player" && (uint)((double)args.Args[4]) == Entry)
         {
             // confirm last recipe
             if (Casted + 1 == CalculatedRepeat)
             {
                 Confimed = true;
             }
             if (RepeatType != RepeatCalculationType.Craftable)
                 Casted++;
             Professionbuddy.Instance.UpdateMaterials();
             if (MainForm.IsValid)
             {
                 MainForm.Instance.RefreshTradeSkillTabs();
                 MainForm.Instance.RefreshActionTree(typeof(CastSpellAction));
             }
         }
     }
     catch (Exception ex) { Professionbuddy.Err(ex.ToString()); }
 }
コード例 #54
0
 // UPDATE_FACTION Event - Complete 08/08/2012 - CoDeRs (Would like to make this less "work")
 public void UPDATE_FACTION(object sender, LuaEventArgs args)
 {
     try
     {
         try
         {
             UnitFunctions.updateReputations();
         }
         catch (Exception ex)
         {
             Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UPDATE_FACTION SQL Failed!");
             Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
         }
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UPDATE_FACTION LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }
コード例 #55
0
 // UNIT_POWER Event
 public void UNIT_POWER(object sender, LuaEventArgs args)
 {
     try
     {
         try
         {
             if (args.Args[0].ToString() == "player")
             {
                 string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToonsDetail\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"szPowerType\":\"" + StyxWoW.Me.PowerType.ToString() + "\"},{\"szPower\":\"" + StyxWoW.Me.PowerPercent.ToString() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}");
                 Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Power Update Report: " + sCommandCheck);
             }
         }
         catch (Exception ex)
         {
             Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UNIT_POWER SQL Failed!");
             Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
         }
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - UNIT_POWER LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }
コード例 #56
0
 // ZONE_CHANGED_INDOORS Event
 public void ZONE_CHANGED_INDOORS(object sender, LuaEventArgs args)
 {
     try
     {
         UnitFunctions.updateCurrentPosition();
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ZONE_CHANGED_INDOORS LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }
コード例 #57
0
        private static void HandleCombatLogPvP(object sender, LuaEventArgs args)
        {
            var e = new CombatLogEventArgs(args.EventName, args.FireTimeStamp, args.Args);

            switch (e.Event)
            {
                case "SPELL_CAST_SUCCESS":

                    //Logging.Write(LogLevel.Diagnostic, "Debug: {0} SPELL_CAST_SUCCESS {1} - {2} - {3} - {4} - {5}",
                    //              e.SourceName, e.SpellName,
                    //              e.SpellId, e.Timestamp, e.FireTimeStamp, e.DestName);

                    if (!IsEnemy(e.SourceUnit))
                    {
                        return;
                    }

                    if ((e.SpellId == 60192 || e.SpellId == 1499))
                    {
                        Logging.Write(LogLevel.Diagnostic, "Found Hunter Drop {0} - {1}", e.SpellName,
                                      e.SpellId);
                        LastTrapEvent = DateTime.Now;
                    }

                    if (InterruptSpellHS.Contains(e.SpellId))
                    {
                        Logging.Write(LogLevel.Diagnostic, "InterruptonCooldownUnit Add {0} - {1} - {2} - {3} ",
                                      e.SourceUnit.SafeName,
                                      e.SpellName,
                                      e.SpellId,
                                      InterruptSpellCooldown(e.SpellId) - 1000);

                        if (e.DestGuid == MeGuid)
                        {
                            Logging.Write(LogLevel.Diagnostic, "Incoming SPELL_CAST_SUCCESS {0} - {1} Stop Casting",
                                          e.SpellName,
                                          e.SpellId);
                            if (!MeHasAura(131558))
                            {
                                SpellManager.StopCasting();
                            }
                        }

                        InterruptonCooldownUnitAdd(e.SourceUnit, InterruptSpellCooldown(e.SpellId) - 1000);
                    }
                    break;

                    //case "SPELL_CAST_START":

                    //    Logging.Write(LogLevel.Diagnostic, "Debug: {0} SPELL_CAST_START {1} - {2} - {3} - {4} - {5}",
                    //                  e.SourceName,
                    //                  e.SpellName,
                    //                  e.SpellId,
                    //                  e.DestName,
                    //                  e.DestGuid,
                    //                  e.DestGuidStr);

                    //    //if (InterruptSpellHS.Contains(e.SpellId) &&
                    //    //    IsEnemy(e.SourceUnit))
                    //    //{
                    //    //    InterruptonCooldownUnitAdd(e.SourceUnit, InterruptSpellCooldown(e.SpellId - 1000));

                    //    //    if (e.SourceUnit.CurrentTarget != null &&
                    //    //        e.SourceUnit.CurrentTarget == Me &&
                    //    //        !MeHasAura(131558))
                    //    //    {
                    //    //        Logging.Write(LogLevel.Diagnostic, "Incoming SPELL_CAST_START {0} - {1} Stop Casting",
                    //    //                      e.SpellName, e.SpellId);

                    //    //        SpellManager.StopCasting();
                    //    //    }
                    //    //}
                    //    break;
            }
        }
コード例 #58
0
ファイル: Poisons.cs プロジェクト: superkhung/SingularMod3
 private static void HandleEndBoundTradeable(object sender, LuaEventArgs args)
 {
     //Lua.DoString("EndBoundTradeable(" + args.Args[0] + ")");
 }
コード例 #59
0
 // ZONE_CHANGED_NEW_AREA Event
 public void ZONE_CHANGED_NEW_AREA(object sender, LuaEventArgs args)
 {
     try
     {
         if (WatchMyToon.bIsInLoadingScreen)
         {
             WatchMyToon.bIsInLoadingScreen = false;
             Logging.Write(LogLevel.Normal, Colors.LightBlue, "[WatchMyToon] - Player Entered Zone From Loading Screen!");
         }
         UnitFunctions.updateCurrentPosition();
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - ZONE_CHANGED_NEW_AREA LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }
コード例 #60
0
 // BagUpdate Event
 public void BagUpdate(object sender, LuaEventArgs args)
 {
     try
     {
         if (WatchMyToon.bIsLootClosed == true)
         {
             try
             {
                 string sCommandCheck = SQLConnector.SendJSON("[{\"TAB\":\"TABToonsDetail\"},{\"nToonId\":\"" + WatchMyToon.nToonId + "\"},{\"nFreeBagSlot\":\"" + StyxWoW.Me.FreeBagSlots + "\"},{\"nTotalBagSlot\":\"" + UnitFunctions.getTotalBagCount() + "\"}]", "{\"Query\":\"Update\"}", "{\"Limit\":\"0\"}");
                 Logging.Write(LogLevel.Verbose, Colors.Orange, "[WatchMyToon] - Bag Update Report: " + sCommandCheck);
             }
             catch (ArgumentException ex)
             {
                 Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - BagUpdate SQL Failed!");
                 Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
             }
         }
     }
     catch (Exception ex)
     {
         Logging.Write(LogLevel.Normal, Colors.Red, "[WatchMyToon] - BagUpdate LUA Failed!");
         Logging.Write(LogLevel.Diagnostic, Colors.Red, "[WatchMyToon] - " + ex);
     }
 }