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.

some problems with party bot in openpvp

Featured Replies

hello, i wanna use the party bot in openpvp and already created some fightclasses myself for this purpose, which also work so far quite good, but im currently dealing with the following problems i dont know how to solve:


1. in DPS (range spec) mode, the bot keeps chasing enemy targets when they are out of range, i want it even in combat to keep following the player/partyleader defined at "follow by player name" and not chase players.

2. in Healer mode, the bot stops following the player/partyleader defined at "follow by player name" as soon as it gets into combat. i want it to keep following him even in combat.

3. in openpvp combat, the dps bot sometimes keeps targeting and trying to attack neutral players (which is impossible) who have set their pvp status to inactive. it mostly happens when the neutral player is currently fighting against someone/something (for example dueling another neutral player).

4. the bot keeps targeting and attacking players randomly (who are attacking the bot). i want the bot to swap to the partyleader/player defined at "follow by player name" his target, when he is attacking it.

5. at the healer fightclass, resurrection just wont work. i have added the resurrection spell, changed spell settings: "combat only" "false"; "for friends (party)" "true" and added spell conditions: "target health percent" "equal 0"; "target distance" "smallerorequal 40"; "me in combat" "false"
but when a group member died and the healer bot is out of combat, it still wont start resurrecting.

has anybody got an idea how to solve them?

 

Hello,

1: You can use this plugin to stop fight: http://wrobot.eu/files/file/650-party-chat-command/ (Add command with this c# code: 

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

).

2 & 3: I'll check it.

4: You can disable option to help party member in advanced general settings and, in plugin chat command... and use this c# code to attack current group leader target: 

if (wManager.Wow.Helpers.Party.IsInGroup()) { wManager.Wow.Helpers.Fight.StartFight(new wManager.Wow.ObjectManager.WoWPlayer(wManager.Wow.ObjectManager.ObjectManager.GetObjectByGuid(wManager.Wow.Helpers.Party.GetPartyLeaderGUIDHomeAndInstance()).GetBaseAddress).TargetObject.Guid); }

5: Sorry, dead units(players) are not supported. To it, you need to create fightclass in c# (or vb.net).

 

ps: You can found some codes for plugin here: http://wrobot.eu/forums/topic/2834-command-to-party-by-party-chat

  • Author
Quote

1: You can use this plugin to stop fight: http://wrobot.eu/files/file/650-party-chat-command/ (Add command with this c# code: 


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

according to the wrobot log the commands get executed, but the bot still keeps chasing and attacking with combat routine, it doesnt make it stop fighting or moving on execution as it should.

the same thing is when pressing the "stop move" and "stop fight" buttons under the tools tab at the bot window, doesnt work too.

 

is there really now way to disable the chase behavior and replace it with just keep following groupleader? and stop attacking as soon as a target gets out of range? and automatically attack attackable (player) targets who get in range? is there any programming way to change this combat behavior?

 

Quote

4: You can disable option to help party member in advanced general settings and, in plugin chat command... and use this c# code to attack current group leader target: 


if (wManager.Wow.Helpers.Party.IsInGroup()) { wManager.Wow.Helpers.Fight.StartFight(new wManager.Wow.ObjectManager.WoWPlayer(wManager.Wow.ObjectManager.ObjectManager.GetObjectByGuid(wManage

 

also here, when running this code and the bot is already attacking someone it doesnt swap to the partyleaders target. when the bot is out of combat and not attacking anyone yet, the code works fine and the bot starts attacking the partyleaders target.

 

and i got some other questions: 1. how to prevent the bot from attacking enemy player's pets?

2. is it possible to implement a wait time between character death and spirit release? because if the bot dies up in the air while sitting on a fly mount, it releases the spirit so fast that the corpse stays in the air and can not be reached anymore for resurrect.

 

My code didn't work properly so i gotta work on it when i got time but here is code from my druid profile. It won't work like this but if you know something about programming you should be able to get this working

 

var resAll = getPartymembers().Where(o => o.IsValid && o.IsDead && !TraceLine.TraceLineGo(o.Position)).OrderBy(o => o.GetDistance);
if (resAll.Count() > 0)
{
	var u = resAll.First();
	WoWPlayer all = new WoWPlayer(u.GetBaseAddress);
	if (!TraceLine.TraceLineGo(all.Position) && all.IsDead)
	{
		Interact.InteractGameObject(all.GetBaseAddress, false);
		_rebirth.Launch();
		return true;
	}
}

 

Its just a quick post but hope it helps

            // Get dead party member
            IEnumerable<WoWPlayer> partyMember = Party.GetParty().Where(p => p.IsValid && p.IsDead && !TraceLine.TraceLineGo(p.Position) && p.GetDistance < 30).OrderBy(p => p.GetDistance);

            // Process each player
            foreach(WoWPlayer player in partyMember)
            {
                Interact.InteractGameObject(player.GetBaseAddress, false);
                _rebirth.Launch();
            }

            return true;

If you dont want to target each player here the lua example

Lua.LuaDoString($"CastSpellByID({_rebirth.Id}, \"{player.Name}\")");

Instead of:

Interact.InteractGameObject(all.GetBaseAddress, false);
_rebirth.Launch();

 

1 hour ago, iMod said:

Its just a quick post but hope it helps


            // Get dead party member
            IEnumerable<WoWPlayer> partyMember = Party.GetParty().Where(p => p.IsValid && p.IsDead && !TraceLine.TraceLineGo(p.Position) && p.GetDistance < 30).OrderBy(p => p.GetDistance);

            // Process each player
            foreach(WoWPlayer player in partyMember)
            {
                Interact.InteractGameObject(player.GetBaseAddress, false);
                _rebirth.Launch();
            }

            return true;

If you dont want to target each player here the lua example


Lua.LuaDoString($"CastSpellByID({_rebirth.Id}, \"{player.Name}\")");

Instead of:


Interact.InteractGameObject(all.GetBaseAddress, false);
_rebirth.Launch();

 

this won't work for rebirth because it has cooldown but resurrecting should work with this code

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.