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); } }
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); } }
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(); } }
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 }
private void ButlerTradeOpened(object sender, EnterTradeEventArgs e) { try { bButlerTradeOpen = true; }catch(Exception ex){LogError(ex);} }
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}"); }