EQ2Interface

EQ2Interface (https://www.eq2interface.com/forums/index.php)
-   XML Modification Help & Info (https://www.eq2interface.com/forums/forumdisplay.php?f=22)
-   -   Slash commands with OnPress, etc (https://www.eq2interface.com/forums/showthread.php?t=806)

Deathbane27 12-29-2004 04:35 PM

Slash commands with OnPress, etc
 
ATTENTION!
IMPORTANT UPDATE!


OnHide="show_window=(MainHud.stat01) show_window=(MainHud.stat01)"

I stuck this in the Clock window and got Ellyana's stat box to show up ON LOAD! Yay!

(UPDATE NOTE: At the moment it only works in the MainHUD root page on /loadui, not when the game loads. Sorry!)

The key is that show_window works as a game setting as well as a slash command, so = works. But you also have to have it execute TWICE because the first time it just gives the Clock window a property called show_window instead of changing the game setting.

Just thought everyone would like to know. We can now show ANY custom window without the need for the user to create a /show_window macro. :)



UPDATE!
March 02, 2005

Getting commands like /say and /gsay to work:

OnPress="say='This is a test.' say='This is a test.'"

The two executes much match exactly, and you must do each execute twice.
So, for example, if you wanted to make a button on the player window that casted a ward and announced it (out of macro slots? :p), you would do something like this:

OnPress="gsay='Warding %t!' gsay='Warding %t!'
useability='Demonstration of Faith' useability='Demonstration of Faith'"



Bug to be aware of.

If you do a script with Anything=Somethingelse, and "Somethingelse" is a command, then you may have problems. Examples:

OnPress="mood='happy' mood='happy'"

OnPress="somevalue=(Some math thing that results in the number 2)"

The first will execute /happy instead of /mood happy because /happy is a command. This can NOW be worked around!

OnPress="'mood happy=' '"




If you are in two or more chat channels, then the second script may give the message Usage: /tellchannel <channelname> <message> because it thinks you're trying to talk in the second chat channel (/2 Hello!). I'm not certain how to work around it or why it started showing up with math calculations a patch or two ago.








*Discussion below*

This should have been painfully obvious, I guess...

The script functions OnHoverIn, OnPress, OnHide, etc., take regular old slash commands.

insomniac 12-29-2004 05:37 PM

whats the point?
 
i'll try playing with it some, but can onpress do something besides / commands? I mean, if you want /show_window keys make a hotbutton..

Deathbane27 12-29-2004 05:38 PM

I've been trying various characters and escape sequences to get it to recognize a space, but no luck so far. Only thing new so far is

"emote1=emote2"

makes it ignore emote1 and skip to emote2

Gotta head to work now, if anyone wants to take a crack at this we'd all really appreciate it.

Deathbane27 12-29-2004 05:43 PM

Haven't found anything it can do besides /commands. The idea was that, for example, Ellyana could add a button to show her stat strip on the EQII button window, instead of attaching it or making the end-user make a macro.

Or I could make a pet window with a REAL /pet attack button instead of the click-through button over the icon.

You could also do OnShow on the Player window to make the Clock window load when you log in, too. :P

insomniac 12-29-2004 05:53 PM

ooooo onshow would be cool =)
my semi non interesting find.. you dont need the / :D

i've tryed - . _ nothing works

Deathbane27 12-30-2004 01:27 AM

Does anyone know if there's a \ escape character for a space? \n for newline, \t for tab, \r for carriage return, etc. I tried &#32; and &#160; but those didn't work either.

Talyns 12-30-2004 02:12 AM

Got further than I did.. I never did figure out if slash commands worked because I was trying the useful ones.. Silly me..
Putting them in a CDATA section doesn't work either...
IE.. OnPress= "<![CDATA[/sigh]]>"
does nothing

as for escape chars how about \0 (zero) for a null character?


edit: fixed the \

Deathbane27 12-30-2004 02:17 AM

Quote:

Originally Posted by Talyns
I never did figure out if slash commands worked because I was trying the useful ones...

Exactly. :p

Quote:

as for escape chars how about /0 (zero) for a null character?
No worky...

*ponder*

It might help if I Google for "Escape Sequence" instead of "Escape Character"...

Talyns 12-30-2004 02:24 AM

Quote:

Originally Posted by Deathbane27
Exactly. :p



No worky...

*ponder*

It might help if I Google for "Escape Sequence" instead of "Escape Character"...

No Idea if there is one for backspace..

Edit: hmm, thought you asked about backspace :P

Deathbane27 12-30-2004 03:18 AM

(Backspace is \b)

In case anyone else wants to take a crack at it, posting my findings so far...

"=" causes it to ignore the previous command.
"\" is ignored completely, even "\\", so no escape sequences.
The "/" is inserted automatically, so you can't even do 'text instead of /say text

! & | - + * are treated the same as a space. (Or, rather, the "space semicolon space" sequence that can be used for multiple commands on a single macro line, when all we want is just a space.)

> < ` ~ # ^ % $ : ; [ { ] } @ ? . , ) are treated as their own characters.

"(" causes the game to crash. :p

' (single quote) by itself seems to be treated as its own character. Putting two right next to eachother is treated as the space;space. If there's anything between the two then it treats it as characters with the space;space after it... experimenting with this now.

Talyns 12-30-2004 06:12 PM

Learned a way to keep the Target Window up with these.. If you add the command "ToggleTargetWindow" to OnHide it will keep the window up at all times..

I thought that would fix the problem with target info not clearing but it doesn't :(

Deathbane27 12-30-2004 06:28 PM

That makes it so the user doesn't have to use Alt-T to get the window to show on log-in (like is necessary using DynamicData="0000") though, right? Still useful. :D

Corren Silverfir 12-30-2004 09:35 PM

Quote:

Originally Posted by Deathbane27
Haven't found anything it can do besides /commands. The idea was that, for example, Ellyana could add a button to show her stat strip on the EQII button window, instead of attaching it or making the end-user make a macro.

Or I could make a pet window with a REAL /pet attack button instead of the click-through button over the icon.

You could also do OnShow on the Player window to make the Clock window load when you log in, too. :P


OK I've seen the graphics for the supposed ingame clock if there is a way to get it to display can you tell me?

Deathbane27 12-30-2004 09:36 PM

/show_window MainHUD.Clock

(case-sensitive)

Corren Silverfir 12-30-2004 09:38 PM

Quote:

Originally Posted by Deathbane27
/show_window MainHUD.Clock

(case-sensitive)


Sweet! Thankyou very much! :D

Why did they not document that or something lol?

Seos 12-31-2004 04:12 AM

found this in the default_quickbars.ini

Code:

QUICKBAR 0 0
0 0 0 command hail
0 0 1 command attack
0 0 2 command sit
0 0 3 command yell
0 0 9 command bug
1 0 0 macro Take a Screenshot:cl_screenshot 1
1 0 1 macro Shadows On/Off:ui $r_shadows = !r_shadows
1 0 2 macro Water:ui $r_updateplanarreflectionmaps = !$r_updateplanarreflectionmaps

so maybe if you put in the 'OnPress=$show_window mainhud.statbar = !hide_window statbar'

Deathbane27 12-31-2004 05:11 AM

Quote:

Originally Posted by Seos
found this in the default_quickbars.ini

Code:

QUICKBAR 0 0
0 0 0 command hail
0 0 1 command attack
0 0 2 command sit
0 0 3 command yell
0 0 9 command bug
1 0 0 macro Take a Screenshot:cl_screenshot 1
1 0 1 macro Shadows On/Off:ui $r_shadows = !r_shadows
1 0 2 macro Water:ui $r_updateplanarreflectionmaps = !$r_updateplanarreflectionmaps

so maybe if you put in the 'OnPress=$show_window mainhud.statbar = !hide_window statbar'


Doesn't work for the OnEvents, but I can probably use this syntax a single macro that will toggle between two different game music volume levels when I'm running Winamp. Thanks for pointing it out. :)

Bah, the last three SHOULD work for preset icons, but don't.

On a side note, you could add a button to the ExpBar window with OnPress="toggleshowadventurexp" that would switch the bar between Adventure and Tradeskill experience...

beastnic 12-31-2004 10:36 AM

Just noticed that the pet window uses the ActionData property to controll what the icons do ie - attack has "ActionData command petAttack" im going to try and see what else I can make those buttons do.


edit:

well that didnt work quite right....
there must be a limited number of action commands avaialable to be used most likely just the pet commands oh well mayby someone else can figure the rest out

Agathorn 12-31-2004 12:02 PM

I've messed around with these a bit myself and gave up in frustration. You all found out more than I did because like Talyns I was trying to make it do useful things :p

This is such a HUGE part of the UI system that would hopefully gfive us the ability to make it more dynamic and they don't give us squat for info. It really sucks.

Deathbane27 01-02-2005 09:26 AM

WOOT!

Eloa and I have discovered the "proper" script functions for these.

http://www.eq2interface.com/forums/showthread.php?t=845

Unfortunately, I can't get it to force custom windows (like Ellyana's original stat box) to show, so we still want to get slash commands working.

But I did manage a self-contained, auto-showing clock window. :D

Dolby 01-02-2005 05:40 PM

Quote:

Originally Posted by Deathbane27
Unfortunately, I can't get it to force custom windows (like Ellyana's original stat box) to show, so we still want to get slash commands working.

That would be very useful. We'll have to add that to the UI wish list or if there is a way maybe Mr. SOE_Bobble will have some info.

Deathbane27 01-17-2005 04:32 AM

Quote:

Originally Posted by Dolby
Quote:

Originally Posted by Deathbane27
Unfortunately, I can't get it to force custom windows (like Ellyana's original stat box) to show, so we still want to get slash commands working.

That would be very useful. We'll have to add that to the UI wish list or if there is a way maybe Mr. SOE_Bobble will have some info.


UPDATE!

OnHide="show_window=(MainHud.stat01) show_window=(MainHud.stat01)"

I stuck this in the Clock window and got Ellyana's stat box to show up ON LOAD! Yay!

EDIT: (UPDATE NOTE: At the moment it only works in the MainHUD root page on /loadui, not when the game loads. Sorry!)

The key is that show_window works as a game setting as well as a slash command, so = works. But (like all game settings) you also have to have it execute TWICE because the first time it just gives the Clock window a property called show_window instead of changing the game setting.


Just thought everyone would like to know. We can now show ANY custom window without the need for the user to create a /show_window macro. :)

Quib 01-17-2005 05:00 AM

I love you Deathbane27. I've got something neat, almost ready, to celebrate.

Quib

Edit: Here a link to what I made. Ituses your wonderful new trick to force a custom window to show to add an ammo indicator to the player window.
http://www.eq2interface.com/download...fo.php?id=3372

sunthas 01-22-2005 11:27 PM

Quote:

Originally Posted by Deathbane27
UPDATE!

OnHide="show_window=(MainHud.stat01) show_window=(MainHud.stat01)"

I stuck this in the MainHUD root Page and got Ellyana's stat box to show up ON LOAD! Yay!

The key is that show_window works as a game setting as well as a slash command, so = works. But (like all game settings) you also have to have it execute TWICE because the first time it just gives the Clock window a property called show_window instead of changing the game setting.


Just thought everyone would like to know. We can now show ANY custom window without the need for the user to create a /show_window macro. :)

are you adding it to eq2_mainhud.xml?
is the command case sensitive so normally you would use /show_window MainHUD.Inventory or something. I can't get my window to autoshow.

Deathbane27 01-23-2005 12:30 AM

Edit: Me dumb. When I first used it, it was in the Target window. I switched it over to MainHUD and checked if it worked there, but I only tested that with /loadui. It doesn't work on load. I recommend hijacking the clock window for this.


All times are GMT -5. The time now is 04:14 PM.

vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI