Goto page 1, 2, 3  Next Software Documentation MQ2EmuCharacters v1.0 » Deprecated
Reply
MQ2EmuCharacters v1.0 » Deprecated

Deprecated


This plugin was drastically rewritten. Since the changes were so extensive and the nature of this plugin is that it urges large amounts of customization it seemed important to preserve this old documentation for those that might be hesitant to upgrade. For those that might feel that way I'd urge you to backup your old files, and give it a shot. I think you'll be happy once you get all your customizations ported over. The new documentation is in progress here: MQ2EmuCharacters v2.0







Overview
MQ2EmuCharacters gives you a way to graphically interact with your toons in the NetBots/EQBC link. There is an individual window(pod) for each character with globally or per-character customizable buttons, progress/hp/mana/etc bars, and labels. You set these pods up in an ini file using 4 obejects and their properties.




Objects
Objects are added by listing a name for them in the Button.Names, Label.Names, and Bar.Names settings in the ini file. For example a setting of "Label.Names=Top Bottom" would make two labels name top and bottom. Their font size Could then be set with a "Top.CaptionFontSize=1". The Pod objects "Names" property is derived from the list of names Netbots uses. That is to say it is automatic. The four objects properties are as follows.

Pods
This refers to the small windows that get tiled for each character. Since there is only 1 pod per character the "Pod" name is static and there is no list of pod names. Meaning Pod.Names does NOT exist.

Properties:
Pod.OnClick
Pod.Color
Pod.ToolTip
Pod.ToolTipColor
Pod.TopNext
Pod.LeftNext
Pod.Height
Pod.Width



Buttons
These are a sub object of pods.

Properties:
name.Caption
name.CaptionLeft
name.CaptionTop
name.CaptionFontSize
name.CaptionColor
name.OnClick
name.ToolTip
name.ToolTipColor
name.Top
name.Left
name.Height
name.Width



Bars
These are a sub object of pods.

Properties:
name.Percent
name.Color
name.OnClick
name.ToolTip
name.ToolTipColor
name.Top
name.Left
name.Height
name.Width



Labels
These are a sub object of pods.

Properties:
name.Caption
name.CaptionColor
name.Left
name.Top
name.CaptionFontSize





Object Properties Explained
P - means this property is parsed as a variable. Much like MQ2Hud properties.

Caption P
This is the string of text that will be displayed for buttons/labels. A label with a caption property of "${Character}" would make the label display the name of the character the pod belongs to.

Format:
name.Caption=<string>

Parameters:
${Character} - this characters name

Example:
Button1.Caption=My name is ${Character}


CaptionColor P
This is the color of the string of text that will be displayed for buttons/labels. A label with a caption property of "255 255 0 0" would make the label display as red.

Format:
name.CaptionColor=<alpha> <red> <green> <blue>

Parameters:
${Character} - this characters name

Example:
Button1.CaptionColor=${If[${NetBots[${Character}].State.Equal[SIT]},255 255 0 0,255 255 255 255]}


CaptionLeft
This is a pixel value of where the left edge of the caption will appear. For Labels this value will be relative to the pod, meaning a 10 will place it 10 pixels to the left of the left edge of the bod. For a Button this value is relative to the left edge of the button.

Format:
name.CaptionLeft=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.CaptionLeft=3


CaptionTop
This is a pixel value of where the top edge of the caption will appear. For Labels this value will be relative to the pod, meaning a 10 will place it 10 pixels below the top edge of the bod. For a Button this value is relative to the top edge of the button.

Format:
name.CaptionTop=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.CaptionTop=3


CaptionFontSize
This is what size the font should be for the caption. You probably want to only use font sizes 1-3 but more are available.

Format:
name.CaptionFontSize=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.CaptionFontSize=1


OnClick P
This is a command that will be executed when the object is clicked. It is important to note that it is parsed BEFORE it is executed. This means you can nest commands into variables. For example if we set a button OnClick to, "/bct ${Character} //attack ${If[${NetBots[${Character}].Attacking},off,on]}" it will execute a /attack on, or /attack off depending on if they are attacking.

Format:
name.OnClick=<command string>

Parameters:
${Character} - this characters name
${Left} - TRUE/FALSE the mouse was left clicked
${Right} - TRUE/FALSE the mouse was right clicked
${Alt} - TRUE/FALSE the mouse was alt clicked
${Ctrl} - TRUE/FALSE the mouse was ctrl clicked
${Shift} - TRUE/FALSE the mouse was shift clicked

Example:
Button1.OnClick=/bct ${Character} //attack ${If[${NetBots[${Character}].Attacking},off,on]}


ToolTip P
This is the string of text that will be displayed when the mouse hovers over an object. A Bar with a ToolTip property of "${NetBots[${Character}].PctEndurance}%" would make the ToolTip display the percentage of endurance.

Format:
name.ToolTip=<string>

Parameters:
${Character} - this characters name

Example:
Button1.ToolTip=This makes ${Character} sit


ToolTipColor P
This is the color of the string of text that will be displayed for on objects tooltip. A object with a ToolTipColor of "255 255 0 0" would display as red.

Format:
name.ToolTipColor=<alpha> <red> <green> <blue>

Parameters:
${Character} - this characters name

Example:
Button1.ToolTipColor=${If[${NetBots[${Character}].State.Equal[SIT]},255 255 0 0,255 255 255 255]}


Top
This is a pixel value of where the top edge of the object will appear in relation to the pod, meaning a 10 will place it 10 pixels from the edge of the characters pod.

Format:
name.Top=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.Top=30


Left
This is a pixel value of where the left edge of the object will appear in relation to the pod, meaning a 10 will place it 10 pixels from the edge of the characters pod.

Format:
name.Left=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.Left=10


Height
This is how tall, in pixels the object will be.

Format:
name.Height=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.Height=15


Width
This is how wide, in pixels the object will be.

Format:
name.Width=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Button1.Width=19


TopNext
This property is unique to the Pod Object. It represents, in pixels, where the top of the NEXT pod will start. For example, maudigans pod is 50px tall and 100px wide. If I wanted the pods to tile down the screen I would set this property equal to 55, and the pods would move 55 pixels down the screen for each pod this would leave a 5 pixel gap between pods.

Format:
Pod.TopNext=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Pod.TopNext=55


LeftNext
This property is unique to the Pod Object. It represents, in pixels, where the left edge of the NEXT pod will start. For example, maudigans pod is 50px tall and 100px wide. If I wanted the pods to tile across the screen I would set this property equal to 105, and the pods would move 105 pixels across the screen for each pod this would leave a 5 pixel gap between pods.

Format:
Pod.LeftNext=<int>

Parameters:
NONE - this property is NOT parsed.

Example:
Pod.LeftNext=55


Percent P
This should be a value of 0-100 representing the percentage width of a bar. For example a bar with a width of 110, and a Percent of of 50 would show up as 55 pixels wide.

Format:
name.Percent=<0-100>

Parameters:
${Character} - this characters name

Example:
Bar1.Percent=${NetBots[${Character}].TargetHP}


Color P
This is the color of the pod or bar object. It is similar to the CaptionColor property but it has an additional parameter to detect if the mouse is over it. A bar with the color of "255 0 0 255" would show up as blue.

Format:
name.Color=<alpha> <red> <green> <blue>

Parameters:
${Character} - this characters name
${MouseOver} - TRUE/FALSE if the mouse is over this object

Example:
Bar1.Color=${If[${MouseOver},255 180 0 0,155 180 0 0]}




[Maudigan] vs [Default]
You can set custom values for a particular characters pod. Any object settings that fall under [Default] can be placed under a section named after the character to redefine those settings for that one character. For example:

Macro
More +
[Talras]
Bar2.Percent=${NetBots[${Character}].PctMana}
Bar2.Color=255 0 0 255


This example would make Talra's Bar2 display as a blue mana bar. While everyone else defers to [default] and perhaps gets a stamina bar. You can even add/remove buttons/bars/labels by adding or removing parameters from the Bar.Names, Button.Names, and Label.Names. For example:

Macro
More +
[Talras]
Bar.Names=Bar1 Bar2 Bar3 Bar4
Bar4.Percent=${NetBots[${Character}].PetHP}
Bar4.Color=${If[${MouseOver},255 0 255 0,155 0 255 0]}
Bar4.OnClick=
Bar4.ToolTip=
Bar4.ToolTipColor=
Bar4.Top=32
Bar4.Left=6
Bar4.Height=1
Bar4.Width=100


This example would give Talras an additional bar, Bar4 that is 1 pixel tall, green, and displays pet life. Since he lists no properties for bar1, bar2, and bar3 it will automatically defer to [Default] and grab those values from there making bar1-3 identical to everyone elses. To remove a bar, talras could simple set bar names equal to "Bar1 Bar2" and then it wont load Bar3.




[Settings]

Format:
ini
More +
[Settings]
XML=the name of the xml file to load
ToolTipOn=1 or 0 for if tooltips are turned on
ShowInBackground=1 or 0 for if pods should be displayed on background windows
MoveButton.Graphic=the graphic in the xml file for the move button
MoveButton.Top=the top edge in pixels of where the move buttons should appear on screen
MoveButton.Left=the left edge in pixels of where the move buttons should appear on screen
MoveButton.Height=the move buttons height
MoveButton.Width=the move buttons width
Pod.Graphic=the graphic in the xml file for the character pods
Pod.Top=the top edge in pixels of the first pod
Pod.Left=the left edge in pixels of the first pod
Button.Up.Graphic=the graphic in the xml file for the buttons
Button.Down.Graphic=the graphic in the xml file for the buttons when depressed
UpdateTimer=in miliseconds how often the pods information gets updated/parsed


Example:
Ini
More +
[Settings]
XML=MQUI_Master.xml
ToolTipOn=0
ShowInBackground=0
MoveButton.Graphic=Button_Move
MoveButton.Top=-1
MoveButton.Left=-1
MoveButton.Height=7
MoveButton.Width=7
Pod.Graphic=Wnd_Character
Pod.Top=81
Pod.Left=38
Button.Up.Graphic=Button_Up_Small
Button.Down.Graphic=Button_Down_Small
UpdateTimer=300





/reloadpods
If you've made changes to the INI file and would like to refresh your layout/commands/etc simple type this command to reparse the ini file.




Move Button
In the top left corner (by default) there is a purple bubble. It's a button. To use it mouse down and drag the UI around the screen. It will save it's location on the screen in the ini file. Right now this is a global setting. It will effect the location (on load) of all characters on that PC.




UI Files
You must copy the files from the Macroquest UIFiles folder, to your everquests uifiles/default folder. If you did this BEFORE starting everquest, and you had mq2emucharacters loaded it should just work. If you copied the files after everquest loaded, or didn't have the plugin loaded on startup then you will need to do a "/loadskin default"




Dependencies

EQBCServer.exe
This requires the eqbcserver compiled on or after 26 september 2010

MQ2EQBC
This requires the mq2eqbc.dll compiled on or after 26 september 2010

MQ2NetBots
This requires the mq2netbots.dll compiled on or after 26 september 2010. Netbots send/grab must also be turned on.

MQ2EmuArt
This requires the mq2emuart.dll compiled on or after 26 september 2010

MQ2EmuMouseAPI
This requires the mq2emumouseapi.dll compiled on or after 6 july 2011

Gold Membership
This does require a gold membership to use. Because of this you'll need to have MQ2VMQNet Loaded, and have type /login <user> <pass>, or have set your user and pass in the VMQNet INI file for autologin. You can sign up for membership here.




Limitations
Not available on SoF
This was added to Titanium on 7 July 2011. It can now be used on Titanium, Seeds of Destruction, and Underfoot.




Troubleshooting

My pods dont show up
  1. Make sure mq2emuart is loaded
  2. Make sure mq2emucharacters is loaded
  3. Make sure you are logged in using /login <username> <password>
  4. Make sure you and your other characters are connected to EQBCServer
  5. Make sure you and your other characters netbots grab/send are on.
  5. reload mq2emucharacters using /plugin mq2emucharacters unload, then /plugin mq2emucharacters
  6. Make sure your UI files loaded, /loadskin default




Full INI example
Macro
More +
[Settings]
XML=MQUI_Master.xml
ToolTipOn=0
ShowInBackground=0
MoveButton.Graphic=Button_Move
MoveButton.Top=-1
MoveButton.Left=-1
MoveButton.Height=7
MoveButton.Width=7
Pod.Graphic=Wnd_Character
Pod.Top=81
Pod.Left=38
Button.Up.Graphic=Button_Up_Small
Button.Down.Graphic=Button_Down_Small
UpdateTimer=300




[Default]
Button.Names=Button1 Button2 Button3 Button4 Button5 Button6 Button7 Button8 Button9 Button10
Label.Names=Label1 Label2
Bar.Names=Bar1 Bar2 Bar3

Pod.OnClick=${If[${NetBots[${Character}].InZone},/target ${Character},/popup ${Character} isn't in the zone]}
Pod.Color=${If[${MouseOver},255,180]} 255 255 255
Pod.ToolTip=${Character} - ${NetBots[${Character}].PctHPs}%
Pod.ToolTipColor=255 255 255 255
pod.TopNext=81
Pod.LeftNext=0
Pod.Height=80
Pod.Width=112

Button1.Caption=${If[${NetBots[${Character}].State.Equal[SIT]},Sta,Sit]}
Button1.CaptionLeft=4
Button1.CaptionTop=3
Button1.CaptionFontSize=1
Button1.CaptionColor=${If[${NetBots[${Character}].State.Equal[SIT]},255 255 0 0,255 255 255 255]}
Button1.OnClick=${If[${NetBots[${Character}].State.Equal[SIT]},/bct ${Character} //sit off,/bct ${Character} //sit on]}
Button1.ToolTip=${If[${NetBots[${Character}].State.Equal[SIT]},Stand ${Character} up.,Sit ${Character} down.]}
Button1.ToolTipColor=255 255 255 255
Button1.Top=46
Button1.Left=6
Button1.Height=15
Button1.Width=19

Button2.Caption=on
Button2.CaptionColor=255 110 255 110
Button2.CaptionLeft=4
Button2.CaptionTop=3
Button2.CaptionFontSize=1
Button2.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; /target PC ${Me.Name} ; /netfollow on,/popup ${Character} isn't in the zone]}
Button2.ToolTip=Make ${Character} follow me.
Button2.ToolTipColor=255 255 255 255
Button2.Top=46
Button2.Left=26
Button2.Height=15
Button2.Width=19

Button3.Caption=off
Button3.CaptionColor=255 110 255 110
Button3.CaptionLeft=4
Button3.CaptionTop=3
Button3.CaptionFontSize=1
Button3.OnClick=/bct ${Character} //netfollow off
Button3.ToolTip=Turn ${Character}`s follow off.
Button3.ToolTipColor=255 255 255 255
Button3.Top=46
Button3.Left=46
Button3.Height=15
Button3.Width=19

Button4.Caption=tar
Button4.CaptionColor=255 255 255 255
Button4.CaptionLeft=4
Button4.CaptionTop=3
Button4.CaptionFontSize=1
Button4.OnClick=/bct ${Character} //target ID ${Target.ID}
Button4.ToolTip=Make ${Character} target ${Target.Name}.
Button4.ToolTipColor=255 255 255 255
Button4.Top=46
Button4.Left=66
Button4.Height=15
Button4.Width=19

Button5.Caption=atk    
Button5.CaptionColor=${If[${NetBots[${Character}].Attacking},255 255 0 0,255 255 255 255]}
Button5.CaptionLeft=4
Button5.CaptionTop=3
Button5.CaptionFontSize=1
Button5.OnClick=/bct ${Character} //attack ${If[${NetBots[${Character}].Attacking},off,on]}
Button5.ToolTip=
Button5.ToolTipColor=255 255 255 255
Button5.Top=46
Button5.Left=86
Button5.Height=15
Button5.Width=19

Button6.Caption=on
Button6.CaptionColor=255 110 110 255
Button6.CaptionLeft=4
Button6.CaptionTop=3
Button6.CaptionFontSize=1
Button6.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; /target ID ${Target.ID} ; /stick on,/popup ${Character} isn't in the zone]}
Button6.ToolTip=
Button6.ToolTipColor=255 255 255 255
Button6.Top=62
Button6.Left=6
Button6.Height=15
Button6.Width=19

Button7.Caption=off
Button7.CaptionLeft=4
Button7.CaptionTop=3
Button7.CaptionFontSize=1
Button7.CaptionColor=255 110 110 255
Button7.OnClick=/bct ${Character} //stick off
Button7.ToolTip=
Button7.ToolTipColor=255 255 255 255
Button7.Top=62
Button7.Left=26
Button7.Height=15
Button7.Width=19

Button8.Caption=cmp
Button8.CaptionColor=255 255 255 255
Button8.CaptionLeft=2
Button8.CaptionTop=3
Button8.CaptionFontSize=1
Button8.OnClick=/bct ${Character} //camp
Button8.ToolTip=
Button8.ToolTipColor=255 255 255 255
Button8.Top=62
Button8.Left=46
Button8.Height=15
Button8.Width=19

Button9.Caption=
Button9.CaptionColor=
Button9.CaptionLeft=4
Button9.CaptionTop=3
Button9.CaptionFontSize=1
Button9.OnClick=
Button9.ToolTip=
Button9.ToolTipColor=255 255 255 255
Button9.Top=62
Button9.Left=66
Button9.Height=15
Button9.Width=19

Button10.Caption=inv
Button10.CaptionColor=255 255 255 255
Button10.CaptionLeft=4
Button10.CaptionTop=3
Button10.CaptionFontSize=1
Button10.OnClick=/inventory ${Character}
Button10.ToolTip=Open/Close ${Character}`s Inventory.
Button10.ToolTipColor=255 255 255 255
Button10.Top=62
Button10.Left=86
Button10.Height=15
Button10.Width=19

Bar1.Percent=${NetBots[${Character}].PctHPs}
Bar1.Color=${If[${MouseOver},255 255 0 0,155 255 0 0]}
Bar1.OnClick=/bc //casting "Complete Heal|gem1" -targetid|${Spawn[PC ${Character}].ID}
Bar1.ToolTip=${NetBots[${Character}].PctHPs}% - Click to heal.
Bar1.ToolTipColor=255 255 255 255
Bar1.Top=26
Bar1.Left=6
Bar1.Height=5
Bar1.Width=100

Bar2.Percent=${NetBots[${Character}].PctEndurance}
Bar2.Color=${If[${MouseOver},255 255 255 0,155 255 255 0]}
Bar2.OnClick=
Bar2.ToolTip=${NetBots[${Character}].PctEndurance}%
Bar2.ToolTipColor=255 255 255 255
Bar2.Top=32
Bar2.Left=6
Bar2.Height=5
Bar2.Width=100

Bar3.Percent=${If[${NetBots[${Character}].Attacking}&&${NetBots[${Character}].TargetID},${NetBots[${Character}].TargetHP},0]}
Bar3.Color=${If[${MouseOver},255 180 0 0,155 180 0 0]}
Bar3.OnClick=
Bar3.ToolTip=${If[${NetBots[${Character}].Attacking}&&${NetBots[${Character}].TargetID},Target Life - ${NetBots[${Character}].TargetHP}%,]}
Bar3.ToolTipColor=255 255 255 255
Bar3.Top=38
Bar3.Left=6
Bar3.Height=5
Bar3.Width=100

Label1.Caption=${Character}
Label1.CaptionColor=${If[${NetBots[${Character}].State.Equal[DEAD]},255 255 0 255,${If[${NetBots[${Character}].InZone},255 255 255 50,255 50 50 50]}]}
Label1.Left=6
Label1.Top=3
Label1.CaptionFontSize=1

Label2.Caption=${If[${Spell[${NetBots[${Character}].Casting}].ID},${NetBots[${Character}].Casting} ,${If[${NetBots[${Character}].TargetID},${Spawn[${NetBots[${Character}].TargetID}]},]}]}
Label2.CaptionColor=${If[${Spell[${NetBots[${Character}].Casting}].ID},255 0 255 0,${If[${NetBots[${Character}].TargetID},${If[${NetBots[${Character}].Attacking},255 255 0 0,255 255 255 255]},255 255 255 255]}]}
Label2.Left=6
Label2.Top=14
Label2.CaptionFontSize=1
Last edited by Maudigan on Sat May 07, 2016 10:20 am; edited 17 times in total
Sun Jan 16, 2011 1:41 pm
Project Lead
thats some cool stuff right there =)
Sun Jan 16, 2011 5:52 pm
Thanks =)
I've been daydreaming about this one for two years.
Sun Jan 16, 2011 6:03 pm
Project Lead
there gonna be an option's for group commands?. like for instance all names have a button on them witch places them in a "Melee" channel then another attached to the group window that lets you attack, then of corse one to make them follow you?. all the neat things we already do :P
Sun Jan 16, 2011 6:25 pm
You can pretty much do whatever you want, there are very few limitations. I don't use mq2melee but if you post some example commands I can show you how to implement it.
Sun Jan 16, 2011 6:37 pm
Project Lead
I'm in front of the PC now so I can be a little more detailed. I'm not sure on the meele thing, sorvani might know more since he uses it, and i'm not sure what you mean about the group thing. For the follow it would look something like this:

Macro
More +
Button1.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; /target ID ${Me.ID} ; /netfollow on,/popup ${Character} is not in the same zone as you]}


So we parse the ${Character} first. That is to say if you click on Maudigan's button1 the ${Character} evaluates to "Maudigan", if you click on Cantarb's button it evaluates to "Cantarb". So we get:

Macro
More +
Button1.OnClick=${If[${NetBots[Cantarb].InZone},/bct Cantarb //multiline ; /target ID ${Me.ID} ; /netfollow on,/popup Cantarb is not in the same zone as you]}


Then the ${If} evaluates. If Cantarb is in zone with the toon doing the clicking we get the evaluation of

Macro
More +
/bct Cantarb //multiline ; /target ID 259 ; /netfollow on


if cantarb isn't in the same zone we get

Macro
More +
/popup Cantarb is not in the same zone as you


Once all that parsing is done that command gets executed, so If cantarb is in zone it sends him a command to target you by your ID, and then turn netfollow on, it would work equally well with /stick, or /follow. If Cantarb isn't in zone it pops a message up on the clickers screen telling them such.

It can be peculiar to wrap your head around sometimes, I had difficulty trying to write a help file for it, it's kind of one of those ones that you just have to see it work to get it.

EDIT: it might be worth noting that becoming familiar with this setup will be beneficial for those that have a gold membership as I really like how amazingly dynamic and powerful it is and intend on implementing a system like this in all future plugins that have a GUI.
Last edited by Maudigan on Sun Feb 20, 2011 12:30 pm; edited 1 time in total
Sun Jan 16, 2011 9:23 pm
Project Lead
i don't like mq2melee honestly i use eqbcc with muliline so melee's would look like
Macro
More +
/muliline ; /bct melee //assist PC Cantarb ; /bct melee //stick dist 30 /bct melee //attack on

keeps it simple (well simple to me anyways)


edit if i sound goofy or anything its cus i haven't been to bed in 46 hours heading to bed now
Mon Jan 17, 2011 4:59 am
Not using a plugin to handle things it is designed to handle means doing a lot of work that you would not otherwise need to do, but the choice is yours.

Here are some example buttons functions for everyone. Some of these are in the default INI already, just spelling them out here for people to see. All of these examples say "Button1" you will obviously need to change that to be whichever button you put this on.

Macro
More +
|Follow me (with netfollow)
Button1.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; /target ID ${Me.ID} ; /netfollow on,/popup ${Character} is not in the same zone as you]}

|Follow me (with stick)
Button1.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; /squelch /target clear ; /stick id ${Me.ID} hold uw,/popup ${Character} is not in the same zone as you]}

|Click Yes on a Teleport/Rez Window
Button1.OnClick=/bct ${Character} //notify ConfirmationDialogBox Yes_Button leftmouseup

|Click No on a Teleport/Rez Window
Button1.OnClick=/bct ${Character} //notify ConfirmationDialogBox No_Button leftmouseup

|Target my current target
Button1.OnClick=/bct ${Character} //target ID ${Target.ID}

|Instant camp to character select (possible not all servers support this)
Button1.OnClick=/bct ${Character} //keypress instant_camp



More to come.
_________________
Sorvani
Mon Jan 17, 2011 10:40 am
Senior Project Member
If you are having trouble getting this to display, set ShowInBackground equal to "1", there may be a bug causing it to not recognize when EQ is the foreground window.
Tue Jan 18, 2011 1:11 pm
Project Lead
I haven't tested this out; I wrote it out on paper at work. It should change a characters name based on their distance from you, from green to yellow, then to red at around 500 distance max, beyond that it should stay red.


Macro
More +
Label1.Color=255 ${If[${Spawn[PC =${Character}].Distance3D} < 255,${Spawn[PC =${Character}].Distance3D},255]} ${If[${Spawn[PC =${Character}].Distance3D} < 255,255,${If[${Spawn[PC =${Character}].Distance3D} > 511,0,${Math.Calc[511 - ${Spawn[PC =${Character}].Distance3D}]}]}]} 0



and the same with an InZone check, they will be grey if not in zone with you.

Macro
More +
Label1.Color=255 ${If[${NetBots[${Character}].InZone}
,${If[${Spawn[PC =${Character}].Distance3D} < 255,${Spawn[PC =${Character}].Distance3D},255]} ${If[${Spawn[PC =${Character}].Distance3D} < 255,255,${If[${Spawn[PC =${Character}].Distance3D} > 511,0,${Math.Calc[511 - ${Spawn[PC =${Character}].Distance3D}]}]}]} 0, 50 50 50]}
Last edited by Maudigan on Sun Feb 20, 2011 12:29 pm; edited 1 time in total
Thu Jan 20, 2011 10:38 am
Project Lead
Setup a progress bar to show a toons distance from you:

Macro
More +
Bar3.Percent=${If[${NetBots[${Character}].InZone},${Math.Calc[${Spawn[PC =${Character}].Distance3D}/5]},0]}



Again, I haven't tested this but the idea is you get the distance divided by 5. So a distance of 500 would be a 100% full bar, a distance of 50 would be a 10% full bar. A distance of 1000 would be a 200% bar, the plugin will automatically truncate this down to 100 when it is parsed. If you want 100% to be 300 units away... change that 5 to a 3.
Thu Jan 20, 2011 10:56 am
Project Lead
custom buttons
to customize the buttons and bars for each toon. It tooks to me like you replace [${character}] with [${toon_name}] then you type in what ever code you want in the box for example

Button2_Caption=on
Button2_CaptionColor=255 110 255 110
Button2_CaptionLeft=4
Button2_CaptionTop=3
Button2_CaptionFontSize=1
Button2_OnClick=${If[${NetBots[${toon_name}].InZone},/bct ${toon_name} //multiline ; //casting 0069 1 -maxtries|5,/popup ${toon_name} isn't in the zone]}
Button2_ToolTip=Make ${toon_name} follow me.
Button2_ToolTipColor=255 255 255 255
Button2_Top=46
Button2_Left=26
Button2_Height=15
Button2_Width=19

but i'm not sure what to put here

Button2_ToolTip=Make ${toon_name} follow me.

or what else im missing

would you then cut and past the whole file for each toon you want to customize and put them all in the same mq2emucharacters file.

to attatch a macro would you type the macro here or just the command?
Mon May 09, 2011 6:28 am
You can literally type in the toon name, or leave it as ${Character} (it's case sensitive). ${Character} is replaced by the toons name, but it is done automatically by the plugin. So you would want:

Macro
More +
[Hawkhunter]
Button2.aption=on
Button2.CaptionColor=255 110 255 110
Button2.CaptionLeft=4
Button2.CaptionTop=3
Button2.CaptionFontSize=1
Button2.OnClick=${If[${NetBots[Hawkhunter].InZone},/bct Hawkhunter //multiline ; //casting 0069 1 -maxtries|5,/popup Hawkhunter isn't in the zone]}
Button2.ToolTip=Make Hawkhunter follow me.
Button2.ToolTipColor=255 255 255 255
Button2.Top=46
Button2.Left=26
Button2.Height=15
Button2.Width=19


OR, if you want the plugin to handle it:

Macro
More +
[Hawkhunter]
Button2.Caption=on
Button2.CaptionColor=255 110 255 110
Button2.CaptionLeft=4
Button2.CaptionTop=3
Button2.CaptionFontSize=1
Button2.OnClick=${If[${NetBots[${Character}].InZone},/bct ${Character} //multiline ; //casting 0069 1 -maxtries|5,/popup ${Character} isn't in the zone]}
Button2.ToolTip=Make ${Character} follow me.
Button2.ToolTipColor=255 255 255 255
Button2.Top=46
Button2.Left=26
Button2.Height=15
Button2.Width=19



would you then cut and past the whole file for each toon you want to customize and put them all in the same mq2emucharacters file.


You could cut and paste all of the stuff, or individual parts. For example, if Hawkhunters's section was verbatim like the example above then only button 2 would change, and all the other buttons would inherit the old default settings.

to attatch a macro would you type the macro here or just the command?


I'm not totally sure what you mean. If you have a macro that makes your toons follow, and to initiate that action you do "/g Hawkhunter FOLLOWME!", then you would put that command on a button:

Macro
More +
Button2.OnClick=/g ${Character} FOLLOWME!


The macro otherwise runs independantly of this plugin. Think of them as just glorified hotkeys, similar to what EQ normally provides, just enhanced.


Also, you used underscores, "Button2_Caption", that was how it worked on the original release, it's been changed to "Button2.Caption" to be more similar to object oriented programming languages.
Mon May 09, 2011 7:42 am
Project Lead
missing UI files
i just down loaded the new gold underfoot download.

and mq2emucharacters did not display! tried the setbackground = 1

/loadskin default and a bunch of other stuff in the end i noticed that the MQUI-Master.xml file was not in the UIfile folder. so you may want to check it. I reloaded old gold underfoot and it works fine of course the master is in there.
Sat May 14, 2011 1:10 am
Thanks I'll check it out
Sat May 14, 2011 2:58 am
Project Lead
Goto page 1, 2, 3  Next Software Documentation MQ2EmuCharacters v1.0 » Deprecated
Reply