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.

Close game when Teleported --> Stop bot when Teleported

Featured Replies

Does anyone know the method that is handling this or how to recreate it?

When I'm botting and I'm physically at the computer I don't want the game to be closed when teleported, rather I would like the bot to stop / close.

I tried looking in the DLL but man, those random names are messing me up so bad.

Hello, I am not sure to understand what you want but:

robotManager.Events.FiniteStateMachineEvents.OnRunState += 
delegate(robotManager.FiniteStateMachine.Engine engine, robotManager.FiniteStateMachine.State state, System.ComponentModel.CancelEventArgs cancelable)
{
    if (state is wManager.Wow.Bot.States.StopBotIf && state.DisplayName == "Security/Stop game")
    {
        // sample to disable tp detection:
        wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;
        wManager.Wow.Bot.States.StopBotIf.ForcePvpMode = true;
        wManager.Wow.Bot.States.StopBotIf.LastPos = wManager.Wow.ObjectManager.ObjectManager.Me.Position;

        // how to wrobot check if your char is tp:
        if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
            wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
            wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 450)
        {
            // close bot...
        }
    }
};

 

  • Author
On 19. 11. 2017 at 12:02 PM, Droidz said:

Hello, I am not sure to understand what you want but:


robotManager.Events.FiniteStateMachineEvents.OnRunState += 
delegate(robotManager.FiniteStateMachine.Engine engine, robotManager.FiniteStateMachine.State state, System.ComponentModel.CancelEventArgs cancelable)
{
    if (state is wManager.Wow.Bot.States.StopBotIf && state.DisplayName == "Security/Stop game")
    {
        // sample to disable tp detection:
        wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;
        wManager.Wow.Bot.States.StopBotIf.ForcePvpMode = true;
        wManager.Wow.Bot.States.StopBotIf.LastPos = wManager.Wow.ObjectManager.ObjectManager.Me.Position;

        // how to wrobot check if your char is tp:
        if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
            wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
            wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 450)
        {
            // close bot...
        }
    }
};

 

BTW, what does wManager.Wow.Bot.States.StopBotIf.ForcePvpMode = true; do?

EDIT: any idea how to test it? Tried with using HS but that apparently didn't work.

  • Author
Just now, Avvi said:

To test Teleporting, you can use a hearthstone or use a mage portal / game portal etc.

Thanks, so smething must be wrong. Tried with HS and it didn't work.

What I don't get is the first IF statement:

 if (state is wManager.Wow.Bot.States.StopBotIf && state.DisplayName == "Security/Stop game")

 

state comes from the FiniteStateMachine 

robotManager.FiniteStateMachine.Engine engine, robotManager.FiniteStateMachine.State state, System.ComponentModel.CancelEventArgs cancelable

 

To be honest, I have implemented what Droidz has , but in my RoboAlert plugin. I implemented it a little differently through looking at his code in dotPeek. One problem with the code snippet Droidz provided is that it's missing the continent change. The above code might not catch that.

You may want to just try the below in its own method with a while loop (for testing).

        // how to wrobot check if your char is tp:
        if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
            wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
            wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 450)
        {
            // close bot...
        }

That should probably work

  • Author

Tried using it in a plugin. Didn't work with blink, both for the event and the while loops

Spoiler

using wManager.Wow.ObjectManager;
using wManager.Wow.Bot.Tasks;
using System;
using System.Collections.Generic;
using System.Threading;
using robotManager.Helpful;
using robotManager.Products;
using robotManager.Events;
using wManager.Plugin;
using wManager.Wow.Helpers;
using System.Configuration;
using System.ComponentModel;
using System.IO;
using System.Windows.Forms;
using wManager.Wow.Enums;
using System.Linq;

public class Main : wManager.Plugin.IPlugin
{	
	
    public void Initialize()
    {
		robotManager.Events.FiniteStateMachineEvents.OnRunState += 
		delegate(robotManager.FiniteStateMachine.Engine engine, robotManager.FiniteStateMachine.State state, System.ComponentModel.CancelEventArgs cancelable)
		{
			if (state is wManager.Wow.Bot.States.StopBotIf && state.DisplayName == "Security/Stop game")
			{
				// sample to disable tp detection:
				wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;
				wManager.Wow.Bot.States.StopBotIf.ForcePvpMode = true;
				wManager.Wow.Bot.States.StopBotIf.LastPos = wManager.Wow.ObjectManager.ObjectManager.Me.Position;

				// how to wrobot check if your char is tp:
				if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
					wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
					wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 15)
				{
					robotManager.Products.Products.ProductStop();
				}
			}
		};
		/* while (Conditions.ProductIsStartedNotInPause)
		{
			// sample to disable tp detection:
			wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;
			wManager.Wow.Bot.States.StopBotIf.ForcePvpMode = true;
			wManager.Wow.Bot.States.StopBotIf.LastPos = wManager.Wow.ObjectManager.ObjectManager.Me.Position;

			// how to wrobot check if your char is tp:
			if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
				wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
				wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 15)
			{
				robotManager.Products.Products.ProductStop();
			}
			Thread.Sleep(5);
		} */
    }

    public void Dispose()
    {
    }
	
	public void Settings()
    {
    }
}

 

 

Can you try the below? 

 

using wManager.Wow.ObjectManager;
using wManager.Wow.Bot.Tasks;
using System;
using System.Collections.Generic;
using System.Threading;
using robotManager.Helpful;
using robotManager.Products;
using robotManager.Events;
using wManager.Plugin;
using wManager.Wow.Helpers;
using System.Configuration;
using System.ComponentModel;
using System.IO;
using System.Windows.Forms;
using wManager.Wow.Enums;
using System.Linq;

public class Main : wManager.Plugin.IPlugin
{	
	
    public void Initialize()
    {
		pluginLoop();

    }

  	public void pluginLoop()
    {

        while (Products.IsStarted && _isLaunched)
        {

            if (!Products.InPause)
            {
		        checkForTeleport()
            }
        }

    }
  
    public void checkForTeleport() {
  
         // how to wrobot check if your char is tp:
        if (wManager.Wow.Bot.States.StopBotIf.LastPos != null &&
            wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAlive && 
            wManager.Wow.ObjectManager.ObjectManager.Me.Position.DistanceTo(wManager.Wow.Bot.States.StopBotIf.LastPos) >= 450)
        {
            Logging.Write("[Teleport Tester] PLAYER HAS TELEPORTED.");
          	robotManager.Products.Products.ProductStop();
        }
  
    }

  
    public void Dispose()
    {
    }
	
	public void Settings()
    {
    }
}

 

My recommendation is to take a look / decompile the WRobot code using dotPeek to figure out how Droidz does it. In his above snippet, he is omitting a lot - such as checking for when character is dead / character moved to different continent, etc.

 

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.