Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
MaxiM
Newbie


Joined: 09 Feb 2005
Posts: 4

PostPosted: Wed Feb 09, 2005 1:44 am   

Catching ang gaging prompt, moving it into status bar - how?
 
I know there's many topics on that already but none helped of them me. People just gave concrete exaples and kill me, i don't know how to modify them for my use.

As in the title, i want to gag my prompt and make it go into my status bar and/or gauge (preferably both). Not looking for anything fancy here, just something like this:

100/100 HP 100/100 MP 100/100 AP

If someone could just give me the basics so i can modify it later, i would be very greatful.


Last edited by MaxiM on Wed Feb 09, 2005 4:14 am; edited 1 time in total
Reply with quote
Aarlot
Adept


Joined: 30 Dec 2003
Posts: 226

PostPosted: Wed Feb 09, 2005 2:24 am   
 
What does your prompt from the mud look like?
_________________
Everyone is entitled to their beliefs - until they die. Then only the truth matters.
Reply with quote
MaxiM
Newbie


Joined: 09 Feb 2005
Posts: 4

PostPosted: Wed Feb 09, 2005 4:12 am   
 
Stripped from all colors and ASCII it looks like this:

Code:
%HP/%MHP HP %MA/%MMA MA %PA/%MPA PA


And this is basicaly what i want to see in status bar, no need for pretty stuff Cool
Reply with quote
nexela
Wizard


Joined: 15 Jan 2002
Posts: 1644
Location: USA

PostPosted: Wed Feb 09, 2005 4:39 am   
 
The Simple Way

#TR "PromptTr" {(%d)/(%d) HP (%d)/(%d) MA (%d)/(%d) PA} {#ST {%trigger};#GAG} "" {prompt|nocr}
_________________
Zmud Support Library
Zmud Knowledge Base
Reply with quote
MaxiM
Newbie


Joined: 09 Feb 2005
Posts: 4

PostPosted: Wed Feb 09, 2005 4:44 am   
 
OK, now i'm even more confused. I really tried to udrerstand, but i see totally different methods in every topic.
I still don't know what's the scheme behind it, too many different versions. Could someone explain that to me?
And thanks for quick response.
I would also like to know if i can add colours to status bar and how to make gauges Cool
Reply with quote
nexela
Wizard


Joined: 15 Jan 2002
Posts: 1644
Location: USA

PostPosted: Wed Feb 09, 2005 8:22 am   
 
I SHOULD be sleeping :p

This script is meant to be pasted into the command line (where you do all your typing at).

#TR
this tells zmud that were making a trigger

"promptTR"
this is a unique ID for the trigger to prevent either overwrites or complete duplicates.

{(%d)/(%d) HP (%d)/(%d) MA (%d)/(%d) PA}
this is the trigger pattern to match on %d will match any number (%d) will match and save numbers

{#ST {%trigger};#GAG} "" {prompt|nocr}
these are the commands to run when it sees the pattern
#ST {%trigger} takes the whole line that fired the trigger and moves it to the Status bar
#GAG of course gags the line

""
this is where the class name goes (I do believe) a value of "" uses either the current default class or the root class //not sure which

{prompt|nocr}
this sets the options for the trigger
prompt= fire this on a prompt line (no linebreak as in most "prompts")
nocr=don't fire this when it contains a linebreak (prevents dbl firing with prompt option set)

Zmud triggers in a nutshell :p Goo night
_________________
Zmud Support Library
Zmud Knowledge Base
Reply with quote
mr_kent
Enchanter


Joined: 10 Oct 2000
Posts: 698

PostPosted: Wed Feb 09, 2005 8:26 am   
 
This is how I'd think it through.

If I'm trying to create a trigger for:
100/100 HP 100/100 MP 100/100 AP

I'd open the settings editor and create a new trigger.
Then I'd copy and past the line I want to trigger on into the text box labeled pattern

Next I'd anchor the pattern either with a ^ at the beginning or a $ at the end, or both.
^100/100 HP 100/100 MP 100/100 AP$

Since the $ character represents a newline and most MUDs accept commands on the same line as the prompt and I'm triggering on the prompt, I'll only use the ^ at the beginning.

Then I'd realize that the number portions of the line are likely to change and I might want to assign them to Variables. zMUD's triggers automatically create internal variables, I just need to check on the syntax for trigger wildcards and how to access variables in the help file.

I could use the * character (a trigger-matching wildcard character); it will match most anything. Using just a * however, will only match the pattern, I won't be able to access the value unless I surround it with parenthesis. ( )

Since I'm only wanting to match whole numbers though, I'd rather use a more specific trigger-matching wildcard. %d is a perfect choice. If I want to use the value of the whole number somewhere else though, I'll again have to surround it with parenthesis. (%d)

Okay, being careful to preserve the spacing of my trigger pattern, I'll highlight only the parts that may change or that I want to use somewhere else (whole numbers), and type in (replace them with) the appropriate trigger-matching wildcard.

^(%d)/(%d) HP (%d)/(%d) MP (%d)/(%d) AP

Okay, that should work for matching my prompt.

Now, what do I want to do when I receive a prompt from the mud?

I want to gag it, so in the value portion of the setting editor I'm going to put #GAG.

If I want assign the first number to a variable named current_hp,
I'll put #VAR current_hp %1 above the #GAG, so in the text box labeled value I now have:

#VAR current_hp %1
#GAG

%1 in this case is an internal trigger variable that was created and assigned when zMUD saw the first (%d).

%2 would be assigned to whatever the second wildcard enclosed in parenthesis matches. At this point I might have this in the value portion of my trigger:

#VAR current _hp %1
#VAR max _hp %2
#VAR current _mp %3
#VAR max _mp %4
#VAR current _ap %5
#VAR max _ap %6
#GAG

The #VAR commands will create/or reassign the values of the variables which can be accessed outside of this trigger.

Now, I want to put those variables into my status line.

#ST {HP: @current_hp ~/ @max_hp MP: @current_mp ~/ @max_mp AP: @current_ap ~/ @max_ap}

Or, if I just want to send whatever I matched to the status line, I could use the %trigger function:

#ST {%trigger}

In the trigger value, The Simple Way would look something like this...

#ST {%trigger}
#GAG

or The Harder but more flexible WAY would look something like this...

#VAR current _hp %1
#VAR max _hp %2
#VAR current _mp %3
#VAR max _mp %4
#VAR current _ap %5
#VAR max _ap %6
#ST {HP: @current_hp ~/ @max_hp MP: @current_mp ~/ @max_mp AP: @current_ap ~/ @max_ap}
#GAG

Okay, I'm tired of this now. Hope this helps you understand a bit more.
Reply with quote
MaxiM
Newbie


Joined: 09 Feb 2005
Posts: 4

PostPosted: Wed Feb 09, 2005 10:24 pm   
 
Thanks, that actually helped me Wink
One more thing tho - how to format status bar text? I want to make it bold/italic and maybe add a bit of colour. Is it possible?
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Feb 09, 2005 10:37 pm   
 
Yes, very possible but you have to do it the long way with the 6 variables rather than the version using %trigger (unless you want to apply one format/color to the entire line). What you do is to use %ansi() in front of every piece of information you want to format. %ansi() will keep going until it hits another color/ansi-related code, so when you want to stop coloring/formatting use %ansi(default) to revert back to normal format and coloration:

#STATUS {HP: %ansi(green,bold)@current_hp ~/ @max_hp%ansi(default) MP: %ansi(blue,italic)@current_mp ~/ @max_mp%ansi(default) AP: %ansi(yellow)@current_ap ~/ @max_ap%ansi(default)}
_________________
EDIT: I didn't like my old signature
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net