Skip to content
View in the app

A better way to browse. Learn more.

WRobot

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Few developer questions.

Featured Replies

Hey there.
I'm relatively new to WRobot, so far I'm learning plugin writing so I can have full control on most of bot's actions.
I'd like to know if there is a way to recompile plugins without reopening Wrobot every time.
Is there a way to block Product (like Gatherer or Quester) pulsing so plugin could take needed actions?
Thanks in advance <3

Hello and welcome to the Wrobot community!

Usually you don't need to reopen Wrobot to compile the plugins(only if you add a new .cs or .dll file to the plugin directory). As soon you save the .cs or .dll file you just need to start and stop Wrobot to update it.

And yes, you can block your product indirectly by events.

 

For e.g. the movement

    public Vector3 POI = new Vector3();

    public void Initialize()//wrobot method
    {
        MovementEvents.OnMoveToPulse += (vectors, state) =>
        {
            if (POI != Vector3.Empty && MovementManager.CurrentPath.LastOrDefault() != POI)
            {
                state.Cancel = true;
            }
        };
    }

    public void Pulse()//ticks
    {
        if (ObjectManager.Me.TargetObject.Position != Vector3.Empty && POI == Vector3.Empty && POI.DistanceTo(ObjectManager.Me.Position) > 5)
        {
            List<Vector3> Path = PathFinder.FindPath(ObjectManager.Me.Position, ObjectManager.Me.TargetObject.Position);
            MovementManager.Go(Path);
            POI = Path.LastOrDefault();
            Logging.Write("Walk to :\n"+POI);
        }
        if (!ObjectManager.Me.GetMove && POI != Vector3.Empty)
        {
            List<Vector3> Path = PathFinder.FindPath(ObjectManager.Me.Position, POI);
            MovementManager.Go(Path);
        }
        else if (POI.DistanceTo(ObjectManager.Me.Position) < 7)
        {
            Logging.Write("Arrived clear target to go back to task");
            Lua.LuaDoString("ClearTarget()");
        }
        if (ObjectManager.Me.Target == 0)
        {
            POI = new Vector3();
        }
    }

 

or you switch your product which doesn't influence specific behaviors:

 

  • Author

Thank you very much.
I also could not find any way to load profile for current product (like Gatherer or Quester).
 

Products.ProductStop();
Products.LoadProducts(name);

For changing between Quester and others. If you look at available functions in the .dll files, you'll find how to load a certain quester profile too, I'm sure.

As for stopping combat:

wManager.Wow.Helpers.Fight.StopFight();

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.