Download Main.cs and put this file in the folder "WRobot\Plugins\" (you can rename it). Launch WRobot (or restart it) then go to the tab "Plugins" and enable it.
Hello, in "script can condition" put code like :
return wManager.Wow.ObjectManager.ObjectManager.Me.Level >= 5 && wManager.Wow.ObjectManager.ObjectManager.Me.Level <= 15;
Replace 5 by the minimum level, 15 by the maximum level (in the current code, the bot will buy your item if the level is equal to or bigger than 5 and equal to or lower than 15).
When I run
wManager.Wow.Bot.Tasks.GoToTask.ToPosition(new Vector3(-5470.455, -2890.753, 350.0887, "None"));
in dev tools I get only one pathfinder call.
If bot don't found path, in some case there can call pathfinder server several times.
I have test with pala.
In "Party" product settings don't forget to activate option "Healer".
In fight class by spell
- Activate option "For friends".
- Desactivate option "Combat only".
- Add condition "Target distance" (for spell range) and "Target health percent".
ps: sample in attached file
heal pala test.xml
Hello,
Your code can't work it doesn't have the good structure.
Here is some code with a correct structure (although I don't think it works, it would need to be debugged):
using System.Collections.Generic;
using System.Threading;
using robotManager.Helpful;
using wManager.Wow.Helpers;
using wManager.Wow.ObjectManager;
using wManager.Wow.Enums;
public class Main : wManager.Plugin.IPlugin
{
public void Initialize()
{
EventsLuaWithArgs.OnEventsLuaStringWithArgs += OnAuctionHouseShow;
}
private void OnAuctionHouseShow(string eventName, List<string> args)
{
if (eventName == "AUCTION_HOUSE_SHOW")
{
Logging.WriteDebug("Auction House is open");
Thread.Sleep(5000);
SellGreenItems();
}
}
public void SellGreenItems()
{
foreach (WoWItem item in Bag.GetBagItem())
{
if (item.GetItemInfo.ItemRarity == (int)WoWItemQuality.Uncommon)
{
Logging.WriteDebug($"Selling {item.Name}");
Bag.PickupContainerItem(item.Name);
Thread.Sleep(1500);
AuctionHelpers.StartAuction(50000, 50000, AuctionHelpers.Duration._12H, 1, 1); //Lua.LuaDoString($@"StartAuction(50000, 50000, 12, 1);");
}
}
}
public void Dispose()
{
EventsLuaWithArgs.OnEventsLuaStringWithArgs -= OnAuctionHouseShow;
}
public void Settings()
{
}
}
Hello,
Right-click on WRobot.exe and then click Properties. On the Compatibility tab, select Disable Display Scaling On High DPI Settings, and then click OK:
https://www.youtube.com/watch?v=0xS-UCuyq7s
using robotManager.Helpful;
using wManager.Wow.Helpers;
using wManager.Plugin;
using Timer = System.Threading.Timer;
public class Main : IPlugin
{
private bool _isEnabled;
public void Initialize()
{
Logging.Write("[JunkRemover] Plugin initialized and activated");
_isEnabled = true;
EventsLua.AttachEventLua("BAG_UPDATE", context => BagUpdateHandler());
}
public void Dispose()
{
_isEnabled = false;
Logging.Write("[JunkRemover] Plugin disposed");
}
private Timer _debounceTimer;
private void BagUpdateHandler()
{
Logging.Write("[JunkRemover] BAG_UPDATE");
if (_debounceTimer != null)
{
_debounceTimer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite);
_debounceTimer.Dispose();
}
_debounceTimer = new Timer((state) =>
{
if (_isEnabled)
{
Logging.Write("[JunkRemover] Checking bags for junk");
var needToRunAgain = Lua.LuaDoString<bool>(@"
for i = 0, NUM_BAG_SLOTS do
for j = 1, C_Container.GetContainerNumSlots(i) do
local itemId = C_Container.GetContainerItemID(i, j)
if itemId then
local itemName, _, itemQuality = GetItemInfo(C_Container.GetContainerItemID(i, j))
if itemName and itemQuality == 0 then
print('Deleting ' .. itemName)
C_Container.PickupContainerItem(i, j)
DeleteCursorItem()
return true
end
end
end
end
return false
");
if (needToRunAgain)
{
BagUpdateHandler();
}
}
}, null, 1000, System.Threading.Timeout.Infinite);
}
public void Settings()
{
}
}
JunkRemover.cs
using robotManager.Helpful;
using wManager.Wow.Helpers;
using wManager.Plugin;
using Timer = System.Threading.Timer;
public class Main : IPlugin
{
private bool _isEnabled;
public void Initialize()
{
Logging.Write("[JunkRemover] Plugin initialized and activated");
_isEnabled = true;
EventsLua.AttachEventLua("BAG_UPDATE", context => BagUpdateHandler());
}
public void Dispose()
{
_isEnabled = false;
Logging.Write("[JunkRemover] Plugin disposed");
}
private Timer _debounceTimer;
private void BagUpdateHandler()
{
Logging.Write("[JunkRemover] BAG_UPDATE");
if (_debounceTimer != null)
{
_debounceTimer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite);
_debounceTimer.Dispose();
}
_debounceTimer = new Timer((state) =>
{
if (_isEnabled)
{
Logging.Write("[JunkRemover] Checking bags for junk");
var needToRunAgain = Lua.LuaDoString<bool>(@"
for i = 0, NUM_BAG_SLOTS do
for j = 1, C_Container.GetContainerNumSlots(i) do
local itemId = C_Container.GetContainerItemID(i, j)
if itemId then
local itemName, _, itemQuality = GetItemInfo(C_Container.GetContainerItemID(i, j))
if itemName and itemQuality == 0 then
print('Deleting ' .. itemName)
C_Container.PickupContainerItem(i, j)
DeleteCursorItem()
return true
end
end
end
end
return false
");
if (needToRunAgain)
{
BagUpdateHandler();
}
}
}, null, 1000, System.Threading.Timeout.Infinite);
}
public void Settings()
{
}
}
JunkRemover.cs