Exemple #1
0
		void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
		{
			try
			{
				if (!Settings.SettingsManager.AutoTradeAdd.Enabled.Value)
					return;

				int traderId = 0;

				// This is a little trick.
				// When someone initiates the trade, they will have both the trader and tradee ID's be accurate.
				// When someone initiates a trade with you, you will have them as both ID's.
				// This will prevent our mule from auto-muling back to us.
				if (e.TradeeId == CoreManager.Current.CharacterFilter.Id)
					traderId = e.TraderId;
				else if (e.TraderId == CoreManager.Current.CharacterFilter.Id)
					traderId = e.TradeeId;

				if (traderId == 0)
					return;

				FileInfo fileInfo = new FileInfo(PluginCore.PluginPersonalFolder + @"\" + CoreManager.Current.WorldFilter[traderId].Name + ".utl");

				if (!fileInfo.Exists)
					return;

				Start(fileInfo);
			}
			catch (FileNotFoundException) { CoreManager.Current.Actions.AddChatText("<{" + PluginCore.PluginName + "}>: " + "Unable to start Auto Add to Trade. Is Virindi Tank running?", 5); }
			catch (Exception ex) { Debug.LogException(ex); }
		}
Exemple #2
0
        private void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
        {
            try
            {
                //   Util.WriteToChat("Trader ID: " + e.TradeeId);

                requestorID   = e.TradeeId;
                requestorName = Core.WorldFilter[e.TradeeId].Name;

                Util.WriteToChat("Trader name: " + Core.WorldFilter[e.TradeeId].Name);
                //   if (((base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)2) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)3)) || (base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)4) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)1))) || (base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)9) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)0x1f)))
                // from Magnus code
                // Thx Magnus for your code which really helped


                // Magnus writes, This is a little trick.
                // When someone initiates the trade, they will have both the trader and tradee ID's be accurate.
                // When someone initiates a trade with you, you will have them as both ID's.
                // This will prevent our mule from auto-muling back to us.
                //if (e.TradeeId == botGuid)   //??? Must play with this
                //     traderId = e.TraderId;
                //else if (e.TraderId == botGuid)
                //    traderId = e.TradeeId;
                //   botInventory = new List<WorldObject>();
                //   msubRoutine = "GetInventory";

                Util.WriteToChat("Trade window started and trader is = " + requestorName);
                Util.WriteToChat("chatCmd: " + chatCmd);

                if (chatCmd.Contains("None"))
                {
                    botMess = "You must give me a command such as salvage, weapon, armor, before I can continue.";
                    WriteToTrader(botMess);
                    return;
                }
                else
                {
                    Util.WriteToChat("I am in the else of chatcmd == null");
                    lstWaitingforID              = new List <WorldObject>();
                    lstTrdObjects                = new List <WorldObject>();
                    lstSalvages                  = new List <WorldObject>();
                    numTrdObjs                   = 0;
                    Core.WorldFilter.EnterTrade -= new EventHandler <EnterTradeEventArgs>(WorldFilter_EnterTrade);

                    Core.WorldFilter.AcceptTrade += new EventHandler <AcceptTradeEventArgs>(WorldFilter_AcceptTrade);
                }
                //}
            }
            catch (Exception ex) { Util.LogError(ex); }
        }
Exemple #3
0
        private void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
        {
            WorldObjectCollection players = Core.WorldFilter.GetByObjectClass(ObjectClass.Player);
            int myId = Core.CharacterFilter.Id;

            foreach (WorldObject player in players.Where(k => k.Id != myId))
            {
                if (player.Id == e.TraderId || player.Id == e.TradeeId)
                {
                    TradePartnerName = player.Name;
                    TradePartnerId   = player.Id;
                }
            }
            if (GivingItems != null)
            {
                WorldObjectCollection woc = Core.WorldFilter.GetByOwner(Core.CharacterFilter.Id);
                foreach (WorldObject wo in woc)
                {
                    if (wo.ObjectClass != ObjectClass.Container)
                    {
                        if (GivingItems.Contains(wo.Id))
                        {
                            PendingItemsToTradeAdd.Add(wo);
                        }
                    }
                }
                AddPendingItemsToTrade();
                GivingItems = null;
            }
            else
            {
                if (TradePartnerName != "")
                {
                    SayHelp(TradePartnerName, false, true);
                }
                WorldObjectCollection woc = Core.WorldFilter.GetByOwner(Core.CharacterFilter.Id);
                foreach (WorldObject wo in woc)
                {
                    if (wo.ObjectClass != ObjectClass.Container)
                    {
                        PendingItemsToTradeAdd.Add(wo);
                    }
                }
                AddPendingItemsToTrade();
            }
        }
Exemple #4
0
        void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
        {
            try
            {
                if (!Settings.SettingsManager.AutoTradeAdd.Enabled.Value)
                {
                    return;
                }

                int traderId = 0;

                // This is a little trick.
                // When someone initiates the trade, they will have both the trader and tradee ID's be accurate.
                // When someone initiates a trade with you, you will have them as both ID's.
                // This will prevent our mule from auto-muling back to us.
                if (e.TradeeId == CoreManager.Current.CharacterFilter.Id)
                {
                    traderId = e.TraderId;
                }
                else if (e.TraderId == CoreManager.Current.CharacterFilter.Id)
                {
                    traderId = e.TradeeId;
                }

                if (traderId == 0)
                {
                    return;
                }

                FileInfo fileInfo = new FileInfo(PluginCore.PluginPersonalFolder + @"\" + CoreManager.Current.WorldFilter[traderId].Name + ".utl");

                if (!fileInfo.Exists)
                {
                    return;
                }

                Start(fileInfo);
            }
            catch (FileNotFoundException) { MyClasses.VCS_Connector.SendChatTextCategorized("Errors", "<{" + PluginCore.PluginName + "}>: " + "Unable to start Auto Add to Trade. Is Virindi Tank running?", 5); }
            catch (Exception ex) { Debug.LogException(ex); }
        }
 void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
 {
     // DO STUFF HERE
 }
Exemple #6
0
 private void ButlerTradeOpened(object sender, EnterTradeEventArgs e)
 {
     try
     {
         bButlerTradeOpen = true;
     }catch(Exception ex){LogError(ex);}
 }
Exemple #7
0
        private void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
        {
            try
            {
               //   Util.WriteToChat("Trader ID: " + e.TradeeId);

                  requestorID = e.TradeeId;
                  requestorName = Core.WorldFilter[e.TradeeId].Name;

                  Util.WriteToChat("Trader name: " + Core.WorldFilter[e.TradeeId].Name);
                //   if (((base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)2) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)3)) || (base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)4) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)1))) || (base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)9) || base.Core.WorldFilter[A_1.ItemId].ObjectClass.Equals((ObjectClass)0x1f)))
                // from Magnus code
                // Thx Magnus for your code which really helped

                // Magnus writes, This is a little trick.
                // When someone initiates the trade, they will have both the trader and tradee ID's be accurate.
                // When someone initiates a trade with you, you will have them as both ID's.
                // This will prevent our mule from auto-muling back to us.
                //if (e.TradeeId == botGuid)   //??? Must play with this
                //     traderId = e.TraderId;
                //else if (e.TraderId == botGuid)
                //    traderId = e.TradeeId;
              //   botInventory = new List<WorldObject>();
              //   msubRoutine = "GetInventory";

                 Util.WriteToChat("Trade window started and trader is = " + requestorName);
                 Util.WriteToChat("chatCmd: " + chatCmd);

                if (chatCmd.Contains("None"))
                {
                    botMess = "You must give me a command such as salvage, weapon, armor, before I can continue.";
                    WriteToTrader(botMess);
                    return;

                }
                else
                {
                    Util.WriteToChat("I am in the else of chatcmd == null");
                     lstWaitingforID = new List<WorldObject>();
                lstTrdObjects = new List<WorldObject>();
                lstSalvages = new List<WorldObject>();
                numTrdObjs = 0;
                        Core.WorldFilter.EnterTrade -= new EventHandler<EnterTradeEventArgs>(WorldFilter_EnterTrade);

                        Core.WorldFilter.AcceptTrade += new EventHandler<AcceptTradeEventArgs>(WorldFilter_AcceptTrade);

                    }
                 //}
            }
              catch (Exception ex) { Util.LogError(ex); }
        }
 void WorldFilter_EnterTrade(object sender, EnterTradeEventArgs e)
 {
     wtc($"{System.Reflection.MethodBase.GetCurrentMethod().Name}");
 }