OgreBot V15 MCP Tricks

bjcasey

ISX Specialist
Kannkor has done a great job giving us a much more customizable MCP. I think it would beneficial to everyone if we get a list going of the various things we can add/edit. I'll try to keep this post updated.

Template

BUTTON NAME:
BRIEF DESCRIPTION OF USAGE:
SELECT COMMAND:
PARAMETERS:
 

bjcasey

ISX Specialist
Code:
BUTTON NAME: Max
BRIEF DESCRIPTION OF USAGE: Moves only healers into max range of the person who pushes the button
SELECT COMMAND: Come2Me
PARAMETERS:
${Me.Name}
Healers
19
Code:
BUTTON NAME: Absorb
BRIEF DESCRIPTION OF USAGE: Casters will cast absorb magic on their target
SELECT COMMAND: Cast..
PARAMETERS:
Casters
Absorb Magic
Code:
BUTTON NAME: Spirit Tap
BRIEF DESCRIPTION OF USAGE: Mystic will cast spirit tap
SELECT COMMAND: Cast..
PARAMETERS:
All
Spirit Tap
Code:
BUTTON NAME: Possess
BRIEF DESCRIPTION OF USAGE: Coercer will pause and acquire a pet from their current target
SELECT COMMAND: Possess
PARAMETERS: N/A
[code]1.  Copy the following into EQ2OgreBot/MCP/MCPCommandsCustom.xml

   <Set Name="Possess">
    <Set Name="Code">
      <Setting Name="One">relay all execute \${If[\${Me.SubClass.Equal[coercer]},runscript PossessEssence,NoOp]}</Setting>
    </Set>
    <Set Name="Description">
      <Setting Name="One">Runs the possess essence script.</Setting>
    </Set>
  </Set> 

2.  Copy the following into a new document called PossessEssence.iss in your innerspace/scripts folder

function main()
{
    if ${Script[${OgreBotScriptName}](exists)} && !${b_OB_Paused}
        Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]

    wait 5
    eq2execute target ${Me.ToActor.Target.Target}
    wait 5
    eq2execute useability Possess Essence
    wait 100 ${Me.CastingSpell}

    if ${Script[Buffer:OgreBot](exists)} && ${b_OB_Paused}
        Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]

}
[/code]

Code:
BUTTON NAME: EQ2Execute
BRIEF DESCRIPTION OF USAGE: Allows you relay an EQ2 command to all clients.
SELECT COMMAND: EQ2Execute
PARAMETERS: ANY EQ2 COMMAND
[code]1. Copy and paste the following into EQ2OgreBot/MCP/MCPCommandsCustom.xml.

    <Set Name="EQ2Execute">
    <Set Name="Code">
      <Setting Name="One">relay all eq2execute ${Parameter1}</Setting>
    </Set>
    <Set Name="Description">
      <Setting Name="One">Tells [Bots] to perform an EQ2 specific [command].</Setting>
      <Setting Name="two">Parameter 1 = Command to execute.</Setting>
    </Set>
  </Set>
[/code]
 
Last edited:

Sunomi

Senior Member
Awesome BJ, the coercer one is the hotness. I have yet to code it but will try it when I get home today.
 

Sunomi

Senior Member
Code:
BUTTON NAME: Max
BRIEF DESCRIPTION OF USAGE: Moves only healers into max range of the person who pushes the button
SELECT COMMAND: Come2Me
PARAMETERS:
${Me.Name}
Healers
19
Code:
BUTTON NAME: Absorb
BRIEF DESCRIPTION OF USAGE: Casters will cast absorb magic on their target
SELECT COMMAND: Cast..
PARAMETERS:
Casters
Absorb Magic
Code:
BUTTON NAME: Spirit Tap
BRIEF DESCRIPTION OF USAGE: Mystic will cast spirit tap
SELECT COMMAND: Cast..
PARAMETERS:
All
Spirit Tap
Code:
BUTTON NAME: Possess
BRIEF DESCRIPTION OF USAGE: Coercer will pause and acquire a pet from their current target
SELECT COMMAND: Possess
PARAMETERS: N/A
[CODE]1.  Copy the following into EQ2OgreBot/MCP/MCPCommandsCustom.xml

   <Set Name="Possess">
    <Set Name="Code">
      <Setting Name="One">relay all execute \${If[\${Me.SubClass.Equal[coercer]},runscript PossessEssence,NoOp]}</Setting>
    </Set>
    <Set Name="Description">
      <Setting Name="One">Runs the possess essence script.</Setting>
    </Set>
  </Set> 

2.  Copy the following into a new document called PossessEssence.iss in your innerspace/scripts folder

function main()
{
	if ${Script[${OgreBotScriptName}](exists)} && !${b_OB_Paused}
		Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]

    wait 5
    eq2execute target ${Me.ToActor.Target.Target}
    wait 5
    eq2execute useability Possess Essence
    wait 100 ${Me.CastingSpell}

	if ${Script[Buffer:OgreBot](exists)} && ${b_OB_Paused}
		Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]

}
[/code]
Bj after i add the two files do I need to add the ability to one of the MCP buttons using the Possess Select command? I did try that but he doesnt seem to pause and attempt to possess.

Eh, after I reread your directions I did add it to the MCP but I must have the code wrong.
 
Last edited:

Sunomi

Senior Member
Ok so the code is right the problem I have is that when I save it as PossessEssence.iss using wordpad is appends .txt to the file extension instead of making it a .iss file. So, I'm assuming .iss is some type of Windows Shell command based on the properties. I just need to figure out how to save it as a true .iss.
 

bjcasey

ISX Specialist
Ok so the code is right the problem I have is that when I save it as PossessEssence.iss using wordpad is appends .txt to the file extension instead of making it a .iss file. So, I'm assuming .iss is some type of Windows Shell command based on the properties. I just need to figure out how to save it as a true .iss.
Don't use wordpad. Instead try notepad. When saving in notepad choose all as the file type and then type PossessEssence.iss in the text field.
 
Ok so the code is right the problem I have is that when I save it as PossessEssence.iss using wordpad is appends .txt to the file extension instead of making it a .iss file. So, I'm assuming .iss is some type of Windows Shell command based on the properties. I just need to figure out how to save it as a true .iss.
If you're using Windows 7, you can go to Start -> Control Panel. Then open up Appearance and Personalization and click on Folder Options. Click the View Tab. Scroll down, and uncheck the box that says "Hide extensions for known file types".

After that, navigate to your Scripts directory and highlight the PossessEssence.iss.txt file. Press F2, and remove the .txt - then press Enter. Tell the computer you're sure you want to do that, and you should be set.
 

Dooby

Active Member
Re: V15 MCP tricks

I've tried using caston.. in a button to absorb magic on different players and NPC (depending on the fight). For example, dispelling the librarian, but not wanting to stop and change targets first....or dispelling effects on the healer when slowed.

Does anyone have a proven button setting for dispelling the librarian (for example) or another player? Just putting in caston.. with All Absorb Magic and Librarian doesn't really work. Maybe I'm just doing something wrong?

Also, if I try to use ${Me.Target.Target.Name} shouldn't that use the implied target's name, if I have one? (implied target is needed if auto-assisting the tank).

Any clarification and advice is greatly appreciated. Thanks! :)
 

Kannkor

Ogre
I've tried using caston.. in a button to absorb magic on different players and NPC (depending on the fight). For example, dispelling the librarian, but not wanting to stop and change targets first....or dispelling effects on the healer when slowed.

Does anyone have a proven button setting for dispelling the librarian (for example) or another player? Just putting in caston.. with All Absorb Magic and Librarian doesn't really work. Maybe I'm just doing something wrong?

Also, if I try to use ${Me.Target.Target.Name} shouldn't that use the implied target's name, if I have one? (implied target is needed if auto-assisting the tank).

Any clarification and advice is greatly appreciated. Thanks! :)
Absorb Magic doesn't work on players... It's an NPC spell only. So it'll never work on players.

Cast.. just tells people to cast that spell when they are done casting, it doesn't change targets.

CastOn.. is used for PC targets only. It doesn't change targets, it simply casts the spell on the target specifically (same idea if you made a macro to cast a spell on a person).

If your absorb magic didn't work, try using BJ's and see if his works. Then compare to see what is different with yours.

Note: Using Me.Target.Target.Name won't ever work, as there is nothing set to cast on an NPC by using the name.
 

Sunomi

Senior Member
If you're using Windows 7, you can go to Start -> Control Panel. Then open up Appearance and Personalization and click on Folder Options. Click the View Tab. Scroll down, and uncheck the box that says "Hide extensions for known file types".

After that, navigate to your Scripts directory and highlight the PossessEssence.iss.txt file. Press F2, and remove the .txt - then press Enter. Tell the computer you're sure you want to do that, and you should be set.
Sweet that did the trick, thanks!
 

dbrown333

Member
Is V15 on release to everyone or is it still in testing? I keep checking the release notes post but it's still on OgreBot-14.068
 

Kannkor

Ogre
Is V15 on release to everyone or is it still in testing? I keep checking the release notes post but it's still on OgreBot-14.068
It's been in open testing for a bit. I'll be sending out an email and making a post tomorrow about how to upgrade (it's also on the first page of the wiki how to upgrade). Feel free to upgrade when you wish.
 

blackee

Senior Member
Kannkor has done a great job giving us a much more customizable MCP. I think it would beneficial to everyone if we get a list going of the various things we can add/edit. I'll try to keep this post updated.

Template

BUTTON NAME:
BRIEF DESCRIPTION OF USAGE:
SELECT COMMAND:
PARAMETERS:
i have a few things i am trying to do...

Which command do I use for /eq2execute "command"?

For instance, relay all /eq2execute scratch OR relay all /eq2execute accept invite?
 

bjcasey

ISX Specialist
i have a few things i am trying to do...

Which command do I use for /eq2execute "command"?

For instance, relay all /eq2execute scratch OR relay all /eq2execute accept invite?
Copy and paste the following into EQ2OgreBot/MCP/MCPCommandsCustom.xml.

Code:
   <Set Name="EQ2Execute">
    <Set Name="Code">
      <Setting Name="One">relay all eq2execute ${Parameter1}</Setting>
    </Set>
    <Set Name="Description">
      <Setting Name="One">Tells [Bots] to perform an EQ2 specific [command].</Setting>
      <Setting Name="two">Parameter 1 = Command to execute.</Setting>
    </Set>
  </Set>
 

Deugar

Active Member
A few i use

BUTTON NAME:AssistOff
BRIEF DESCRIPTION OF USAGE:I use it when i want to target through someone assist does not work with. Like Marshal in PQ.
SELECT COMMAND:AssistOff
PARAMETERS: (None)

<Set Name="AssistOff">
<Set Name="Code">
<Setting Name="One">relay all IgnoreAssist:Set[TRUE]</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Assist Off</Setting>
</Set>
</Set>

BUTTON NAME:AssistOn
BRIEF DESCRIPTION OF USAGE:Use it after AssistOff was used to go back to default assist target.
SELECT COMMAND:AssistOff
PARAMETERS: (None)

<Set Name="AssistOn">
<Set Name="Code">
<Setting Name="One">relay all IgnoreAssist:Set[FALSE]</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Assist On</Setting>
</Set>
</Set>

BUTTON NAME:{Target}
BRIEF DESCRIPTION OF USAGE:Lets you set a target for groups usage. Use in conjunction with AssistOff
SELECT COMMAND:Target
PARAMETERS:{Name of Implied Target. i.e. "a Thurgadin siege-marshal}

<Set Name="Target">
<Set Name="Code">
<Setting Name="One">relay all eq2exec target ${Parameter1}</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Target Name</Setting>
<Setting Name="two">Parameter 1 = Who to target. Example a Thurgadin siege-marshal</Setting>
</Set>
</Set>

BUTTON NAME:{UseItem}
BRIEF DESCRIPTION OF USAGE:lets you use an item from inventory once the item numbers are none.
SELECT COMMAND:UseItemvdl
PARAMETERS:
parameter1: first half of item code.
parameter2: second half of item code.

<Set Name="UseItemvdl">
<Set Name="Code">
<Setting Name="One">relay all eq2exec use_itemvdl ${Parameter1} ${Parameter2}</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">use item</Setting>
<Setting Name="Two"> Part one of the item code</Setting>
<Setting Name="Three">Part two of the item code</Setting>
</Set>
</Set>
 
Last edited:

tub210

Active Member
Thanks so much for the Possess Essence script. I have wanted to be able to do that for quite a while. :)
 

Zeek

Active Member
A few i use
Code:
<Set Name="UseItemvdl">
	<Set Name="Code">
		<Setting Name="One">relay all eq2exec use_itemvdl ${Parameter1} ${Parameter2}</Setting>
	</Set>
	<Set Name="Description">
		<Setting Name="One">use item</Setting>
		<Setting Name="Two"> Part one of the item code</Setting>
		<Setting Name="Three">Part two of the item code</Setting>
	</Set>
</Set>
Is this set of code for using items out of inventory?
 

bjcasey

ISX Specialist
A few i use

<Set Name="AssistOff">
<Set Name="Code">
<Setting Name="One">relay all IgnoreAssist:Set[TRUE]</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Assist Off</Setting>
</Set>
</Set>
<Set Name="AssistOn">
<Set Name="Code">
<Setting Name="One">relay all IgnoreAssist:Set[FALSE]</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Assist On</Setting>
</Set>
</Set>
<Set Name="Target">
<Set Name="Code">
<Setting Name="One">relay all eq2exec target ${Parameter1}</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Target Name</Setting>
<Setting Name="two">Parameter 1 = Who to target. Example a Thurgadin siege-marshal</Setting>
</Set>
</Set>
<Set Name="UseItemvdl">
<Set Name="Code">
<Setting Name="One">relay all eq2exec use_itemvdl ${Parameter1} ${Parameter2}</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">use item</Setting>
<Setting Name="Two"> Part one of the item code</Setting>
<Setting Name="Three">Part two of the item code</Setting>
</Set>
</Set>
Deugar could you please go back and edit your post so that it follows the template I provided? It makes it a lot easier for me to update the main post when I'm not guessing what the code does. Thanks.
 

Gorrok

Active Member
Thanks alot for the Possess script, was messings around last night trying to get this working via the standard ogre gui.

Would anyone happen to have script/button that i can setup for "move behind the mob".
I personally dont like settings it as a option becaue sometimes characters bug out and just keep trying to move, so a button just to get everyone nicely placed once in a while would be magic.
 

Zigge

Member
I got excited about the possess essence button! Tried to get it to work yesterday but I must be doing something wrong. When I click the button it says failed to load script PossessEssence. This is what my MCPCommandsCustom looks like:

<?xml version='1.0' encoding='UTF-8'?>
<!-- Generated by LavishSettings v2 -->
<InnerSpaceSettings>
<!-- Welcome to OgreMCP Custom Commands. This is where you can make completely custom commands
that can be called through OgreMCP. There are a few special rules to follow
1) Never use commas - anywhere.
2) Spaces are generally bad. Don't use them in Command button names etc.
3) ${Parameter1} ${Parameter2} etc etc are used when you can enter parameters in via the interface.
You may use global variables also. Script level variables will not work because the variables are
resolved at script level in LoadOgreMCP.
You can use the same Parameter
4) Set and Setting names MUST be different. Don't use Numbers only. I generally used "One" "Two" "Three"
However - anything would be fine. Including asldk3 lak3 3lai - As long as it is unique.
5) Keep the description to 7 lines total (If you type a long line, it will span over multiple lines,
and doesn't increase your 7 line limit).
6) If you are simply wanting it to cast a spell, use the command Cast.. or CastOn.. There is no reason
to make a custom command to cast a spell.
7) If you wish to use an If statement, you must do it via the ${If[]} method. (See lavishwiki for more details).

For more examples, look at MCPDefaultCommands.xml
<Set Name="HoldUp">
<Set Name="Code">
<Setting Name="One">relay all OgreBotAtom a_StopFollow</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">This button turns auto follow off.</Setting>
</Set>
</Set>
-->
<Set Name="Possess">
<Set Name="Code">
<Setting Name="One">relay all execute \${If[\${Me.SubClass.Equal[coercer]},runscript PossessEssence,NoOp]}</Setting>
</Set>
<Set Name="Description">
<Setting Name="One">Runs the possess essence script.</Setting>
</Set>
</Set>
-->

</InnerSpaceSettings>

And this is my PossessEssence.iss :


function main()
{
if ${Script[${OgreBotScriptName}](exists)} && !${b_OB_Paused}
Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]
wait 5
eq2execute target ${Me.ToActor.Target.Target}
wait 5
eq2execute useability Possess Essence
wait 100 ${Me.CastingSpell}
if ${Script[Buffer:OgreBot](exists)} && ${b_OB_Paused}
Script[${OgreBotScriptName}]:ExecuteAtom[TogglePause]

I just copied the text from BJcaseys post and pasted it in the 2 respective documents, made a new PossessEssence.iss with Notepad.
 

eacosta

Well-Known Member
Hi guys,

I'm just trying to do this but my installation doesn't have a MCP directory or the MCPCommandsCustom.xml file... do I need to create it? if so, I'm thinking about doing it on this path: C:\Program Files (x86)\InnerSpace\Scripts\EQ2OgreCommon\MCP; please let me know if this is correct.

thanks.
 

blackee

Senior Member
What is the best way to relay to all of my toons to start ogre craft?

I am using rawcommand
Parameter 1: ogre
Parameter 2: Craft

But, how do i relay it to my other toons?
 

bjcasey

ISX Specialist
What is the best way to relay to all of my toons to start ogre craft?

I am using rawcommand
Parameter 1: ogre
Parameter 2: Craft

But, how do i relay it to my other toons?
relay
all
ogre
craft

But you could just use the MCP command called: Ogre_CommandRelay

Parameter 1 = craft
 

Malice

New Member
Hi Guys i am pretty new to Ogre but am having troubles with Campspot.

Is there a command other than all or mages casters melee etc that i can use so my tank isnt affected yet the rest of my grp is?

When i hit North or east or west etc my tank turns in that direction also ( doesnt move ) and then my camera jerks spasmodicaly trying to target between the mob and the direction.

I understand that this is probably due to me having combat face avatar turned on and ogre making me face the move direction.

When i turn off combat face avatar my tank will only face the directional campspot move direction i have pressed ( north etc )

I basiclaly want to have all of my toons run north etc but have full control of my tank still.

I tried adding to parameter 1: Melee Healers Caster or Melee / Healers / Casters or meleehealerscaster lol but nothing works.

Do i have to create 3 sep CS-dft buttons ( one for each archtype )?

Thanks in advance for your help!!
 
Top Bottom