What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Unique ways of doing things outside of a quest

tubajedimr

New Member
Joined
Apr 6, 2010
Messages
441
Reaction score
24
There are several ways to accomplish things outside of quests that insure that this thing won't occur again upon a bot restart. I will go over a few I have come up with. You can use these or a combination of these to accomplish doing things outside of a quest.

Positional Square

The "positional square" creates a square around the player to make sure that the player is within it prior to doing the behavior. This uses an X and Y attribute on either side and in front of and behind the players target position. X Y Z would be a positional cube. Here's an example:

PHP:
<If Condition="(Me.X &lt; -741) && (Me.X &gt; -764) &amp;&amp; (Me.Y &gt; 4686) &amp;&amp; (Me.Y &lt; 4717)">

Me.X is your X position, Me.Y is your Y position. Bear in mind that X is your vertical axis and Y is your horizontal.

Buy An Item

This one is a bit unorthodox, but still very doable. Just before turning in a quest, you would speak to and purchase a random food item from a vendor. A particularly unusual item that doesn't really drop from anywhere.

In this example we will purchase a Skethyl Berry from the vendor since it is only purchaseable and does not drop from any mobs.

To purchase an item from a vendor you must interact with the vendor, and then run a macro. See below:

PHP:
		<CustomBehavior File="BasicInteractWith" QuestId="0" NpcID="3362" />
		<CustomBehavior File="WaitTimer" WaitTime="1000"/>
		<CustomBehavior File="RunMacro" Macro="/run BuyMerchantItem(1, 1)" NumOfTimes="1" WaitTime="2000" />


The BuyMerchantItem(X, Y)

X is the position of the item in the window. They are numbered like you were reading a book.

1 2
3 4
5 6 etc

Y is the amount of the item.

Purchase only one and then predicate everything you want to do to be if you have that item.

So:
PHP:
<If Condition="HasItem(27856)">

After you've completed everything you want to do, at the very end prior to closing the IF tag, eat the Skethyl Berries, or whatever rare food item you've purchased.

PHP:
<UseItem ItemId="27856" QuestId="0" X="9243.975" Y="-7496.219" Z="37.05086" />

Then close your IF tag and continue on. This can be done repeatedly with the same item if it's sold at multiple vendors though you might want to let your profile users know in advanced not to have that item in their bags (however unlikely).

In A Zone (or not)

This is by far the simplest and most common, though there are more interesting ways to use it that are more useful. ZoneId's can be found on wowhead. Anyway, you can make it so that an action will only be done if you are NOT in the zone. Such that
PHP:
<If Condition="!Me.ZoneId == 100">

The "!" prior to "Me.ZoneId" lets the bot know that if your zone is NOT that area. It's an inverse action.

You can use this for a hearthing action, for example. If you have the user set hearth to Org, and if the user is not in org, you can use the hearth. Here's an example:

PHP:
<If Condition="!Me.ZoneId == 1637">
	<CustomBehavior File="RunMacro" Macro="/use Hearthstone" NumOfTimes="1" WaitTime="10000"/>



More to come...
 
Last edited:
not to bump an extremely old thread... but I prefer using ZoneId's this way:

PHP:
			<If Condition="Me.ZoneId != 3711" >
				<CustomBehavior File="FlyTo" Name="Oracles Base Camp" X="5653.112" Y="4579.119" Z="-137.1973" />
			</If>

you should piggy back it and say me.mapid == XXX && Me.ZoneId XXX
 
Back
Top