Unknown2010-01-10 16:45:21
Hi, I'm using tf and have slowly been getting a sort of system set up. I've got some things that work and some that don't, primarily the thing that doesn't work is the prompt catching code. Most of the things that don't run off of the prompt are working, but I'm hoping to centralize around the prompt catcher. Here's the macro:
As you can see I currently have /let statusChars {P7}, but I've tried /let statusChars {P7}+0, /let statusChars , and /let statusChars $. I've begged, borrowed and stolen much of this code primarily basing it off of the archive of bwbettin's scripts provided by Tzu.
bwbettin uses /eval statements in his prompt script, but i know others use /if statements. I'd rather avoid /eval as I understand it opens up a new scope and the /if statement logic doesn't seem to do that. Should I be using /eval statements, or is there something else wrong with my macro that would probably cause the same problems whether I use /eval or /if?
CODE
;#########################
;# prompt.tf                                    #
;#########################
;*************************
;* Prompt Variables      *
;*************************
/set equiPrompt=1
/set balPrompt=1
/set balPromptR=1
/set balPromptL=1
/set balTOequi=1
/set balRTOequi=1
/set balLTOequi=1
/set pronePrompt=0
/set deafPrompt=0
/set blindPrompt=0
/set kafePrompt=0
/set curHealth=0
/set perHealth=0
/set curMana=0
/set perMana=0
/set curEgo=0
/set perEgo=0
/set curEndure=0
/set perEndure=0
/set curWill=0
/set perWill=0
/set curPower=0
;*************************
;* Prompt Triggers      *
;*************************
/def -mregexp -p1075 -F -q -h"PROMPT (\\d+)h, (\\d+)m, (\\d+)e, (\\d+)p, (\\d+)en, (\\d
+)w (.*)\\-" promptTrig = \\
        /set curHealth $%; \\
        /set curMana $%; \\
        /set curEgo $%; \\
        /set curPower $%; \\
        /set curEndure $%; \\
        /set curWill $%; \\
        /let statusChars {P7}%; \\
        /if (strstr({statusChars}, "k")>-1) \\
                /set kafePrompt 1%; \\
        /else \\
                /set kafePrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "e")>-1) \\
                /set equiPrompt 1%; \\
        /else \\
                /set equiPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "x")>-1) \\
                /set balPrompt 1%; \\
        /else \\
                /set balPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "r")>-1) \\
                /set balPromptR 1%; \\
        /else \\
                /set balPromptR 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "l")>-1) \\
                /set balPromptL 1%; \\
        /else \\
                /set balPromptL 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "p")>-1) \\
                /set pronePrompt 1%; \\
        /else \\
                /set pronePrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "d")>-1) \\
                /set deafPrompt 1%; \\
        /else \\
                /set deafPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "b")>-1) \\
                /set blindPrompt 1%; \\
        /else \\
                /set blindPrompt 0%; \\
        /endif%; \\
        /if (({balPrompt}==1) & ({equiPrompt}==1)) \\
                /set balTOequi 1%; \\
        /else \\
                /set balTOequi 0%; \\
        /endif%; \\
        /if (({balPromptL}==1) & ({equiPrompt}==1)) \\
                /set balLTOequi 1%; \\
        /else \\
                /set balLTOequi 0%; \\
        /endif%; \\
        /if (({balPromptR}==1) & ({equiPrompt}==1)) \\
                /set balRTOequi 1%; \\
        /else \\
                /set balRTOequi 0%; \\
        /endif%; \\
        /set perHealth $%; \\
        /set perMana $%; \\
        /set perEgo $%; \\
        /set perEndure $%; \\
        /set perWill $%; \\
        /autoSip%;/autoClotter%;/cureCheck
;# prompt.tf                                    #
;#########################
;*************************
;* Prompt Variables      *
;*************************
/set equiPrompt=1
/set balPrompt=1
/set balPromptR=1
/set balPromptL=1
/set balTOequi=1
/set balRTOequi=1
/set balLTOequi=1
/set pronePrompt=0
/set deafPrompt=0
/set blindPrompt=0
/set kafePrompt=0
/set curHealth=0
/set perHealth=0
/set curMana=0
/set perMana=0
/set curEgo=0
/set perEgo=0
/set curEndure=0
/set perEndure=0
/set curWill=0
/set perWill=0
/set curPower=0
;*************************
;* Prompt Triggers      *
;*************************
/def -mregexp -p1075 -F -q -h"PROMPT (\\d+)h, (\\d+)m, (\\d+)e, (\\d+)p, (\\d+)en, (\\d
+)w (.*)\\-" promptTrig = \\
        /set curHealth $%; \\
        /set curMana $%; \\
        /set curEgo $%; \\
        /set curPower $%; \\
        /set curEndure $%; \\
        /set curWill $%; \\
        /let statusChars {P7}%; \\
        /if (strstr({statusChars}, "k")>-1) \\
                /set kafePrompt 1%; \\
        /else \\
                /set kafePrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "e")>-1) \\
                /set equiPrompt 1%; \\
        /else \\
                /set equiPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "x")>-1) \\
                /set balPrompt 1%; \\
        /else \\
                /set balPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "r")>-1) \\
                /set balPromptR 1%; \\
        /else \\
                /set balPromptR 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "l")>-1) \\
                /set balPromptL 1%; \\
        /else \\
                /set balPromptL 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "p")>-1) \\
                /set pronePrompt 1%; \\
        /else \\
                /set pronePrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "d")>-1) \\
                /set deafPrompt 1%; \\
        /else \\
                /set deafPrompt 0%; \\
        /endif%; \\
        /if (strstr({statusChars}, "b")>-1) \\
                /set blindPrompt 1%; \\
        /else \\
                /set blindPrompt 0%; \\
        /endif%; \\
        /if (({balPrompt}==1) & ({equiPrompt}==1)) \\
                /set balTOequi 1%; \\
        /else \\
                /set balTOequi 0%; \\
        /endif%; \\
        /if (({balPromptL}==1) & ({equiPrompt}==1)) \\
                /set balLTOequi 1%; \\
        /else \\
                /set balLTOequi 0%; \\
        /endif%; \\
        /if (({balPromptR}==1) & ({equiPrompt}==1)) \\
                /set balRTOequi 1%; \\
        /else \\
                /set balRTOequi 0%; \\
        /endif%; \\
        /set perHealth $%; \\
        /set perMana $%; \\
        /set perEgo $%; \\
        /set perEndure $%; \\
        /set perWill $%; \\
        /autoSip%;/autoClotter%;/cureCheck
As you can see I currently have /let statusChars {P7}, but I've tried /let statusChars {P7}+0, /let statusChars , and /let statusChars $. I've begged, borrowed and stolen much of this code primarily basing it off of the archive of bwbettin's scripts provided by Tzu.
bwbettin uses /eval statements in his prompt script, but i know others use /if statements. I'd rather avoid /eval as I understand it opens up a new scope and the /if statement logic doesn't seem to do that. Should I be using /eval statements, or is there something else wrong with my macro that would probably cause the same problems whether I use /eval or /if?
Zallafar2010-01-11 04:18:32
You don't say exactly what is going wrong with what you have, so not sure how to help you. I don't have en and w in my prompt, so maybe if you posted one of your prompts it would help. A shortened version of my prompt code looks like:
As for /eval, I use it all the time. You do have to be careful with them and I have been removing them when I can. For example you can't do a /let inside a /eval and expect to use the /let variable after the /eval.
CODE
/def -q -mglob -h"PROMPT *-"Â Â normalPromptHook = \\
    /parsePrompt %{*}
/def parsePrompt = \\
    /test regmatch( "(+)h, (+)m, (+)e, (+)p (e?)(l?)(r?)(x?)(k?)(d?)(b?)(p?)(@?)",  "%{*}" ) %;\\
    /set health=%{P1} %;\\
    /set mana=%{P2} %;\\
    /set ego=%{P3} %;\\
    /set power=%{P4} %;\\
    /if ( {P5} =~ "e" ) \\
        /set promptEquilibrium 1 %; \\
    /else \\
        /set promptEquilibrium 0 %; \\
; If unexpected eq loss (e.g. pookaed) start a regular timeout, but no prompt timeout.
        /if ( equilibrium ) \\
            /set equilibriumTime=$ %; \\
            /set equilibrium 0 %; \\
        /endif %; \\
    /endif %; \\
    /if ( {P6} =~ "l" ) /set promptLeftArmBalance 1 %; /else /set promptLeftArmBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P7} =~ "r" ) /set promptRightArmBalance 1 %; /else /set promptRightArmBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P8} =~ "x" ) /set promptBalance 1 %; /else /set promptBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P9} =~ "k" ) /set ateKafe 1 %; /else /set ateKafe 0 %; /endif %; \\
    /if ( {P10} =~ "d" ) /set deaf 1 %; /else /set deaf 0 %; /endif %; \\
    /if ( {P11} =~ "b" ) /set blind 1 %; /else /set blind 0 %; /endif %; \\
    /if ( {P12} =~ "p" ) \\
        /set justWentProne $ %; \\
        /set prone 1 %; \\
    /else \\
        /set justWentProne 0 %; \\
        /set prone 0 %; \\
    /endif
# P13 is the @ which means ... hidden?  Out of phase?
    /parsePrompt %{*}
/def parsePrompt = \\
    /test regmatch( "(+)h, (+)m, (+)e, (+)p (e?)(l?)(r?)(x?)(k?)(d?)(b?)(p?)(@?)",  "%{*}" ) %;\\
    /set health=%{P1} %;\\
    /set mana=%{P2} %;\\
    /set ego=%{P3} %;\\
    /set power=%{P4} %;\\
    /if ( {P5} =~ "e" ) \\
        /set promptEquilibrium 1 %; \\
    /else \\
        /set promptEquilibrium 0 %; \\
; If unexpected eq loss (e.g. pookaed) start a regular timeout, but no prompt timeout.
        /if ( equilibrium ) \\
            /set equilibriumTime=$ %; \\
            /set equilibrium 0 %; \\
        /endif %; \\
    /endif %; \\
    /if ( {P6} =~ "l" ) /set promptLeftArmBalance 1 %; /else /set promptLeftArmBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P7} =~ "r" ) /set promptRightArmBalance 1 %; /else /set promptRightArmBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P8} =~ "x" ) /set promptBalance 1 %; /else /set promptBalance 0 %; /noPhysBalance %; /endif %; \\
    /if ( {P9} =~ "k" ) /set ateKafe 1 %; /else /set ateKafe 0 %; /endif %; \\
    /if ( {P10} =~ "d" ) /set deaf 1 %; /else /set deaf 0 %; /endif %; \\
    /if ( {P11} =~ "b" ) /set blind 1 %; /else /set blind 0 %; /endif %; \\
    /if ( {P12} =~ "p" ) \\
        /set justWentProne $ %; \\
        /set prone 1 %; \\
    /else \\
        /set justWentProne 0 %; \\
        /set prone 0 %; \\
    /endif
# P13 is the @ which means ... hidden?  Out of phase?
As for /eval, I use it all the time. You do have to be careful with them and I have been removing them when I can. For example you can't do a /let inside a /eval and expect to use the /let variable after the /eval.
Unknown2010-01-11 04:39:36
You're right, I didn't mention what wasn't working exactly. Sorry about that.
An example would be the autosipper which is driven by values obtained and calculated off of the prompt (and score for that matter). When I look at one of my prompt variables using /listvar (ie. curHealth) I see that it is still at its default setting (curHealth=0). I thought maybe removing the default value might help, but then /listvar doesn't display the variable at all.
A current example of my prompt display is as follows;
1848h, 1728m, 1728e, 10p, 7200en, 7200w elrx-
Thanks for the info about /eval though I probably won't use it until I understand it better. On a side note, commenting out my /if statments and replacing them with /eval statements didn't change anything so my problem is deeper than what statements I'm using to parse my prompt. What it is though, I can't see.
An example would be the autosipper which is driven by values obtained and calculated off of the prompt (and score for that matter). When I look at one of my prompt variables using /listvar (ie. curHealth) I see that it is still at its default setting (curHealth=0). I thought maybe removing the default value might help, but then /listvar doesn't display the variable at all.
A current example of my prompt display is as follows;
1848h, 1728m, 1728e, 10p, 7200en, 7200w elrx-
Thanks for the info about /eval though I probably won't use it until I understand it better. On a side note, commenting out my /if statments and replacing them with /eval statements didn't change anything so my problem is deeper than what statements I'm using to parse my prompt. What it is though, I can't see.
Zallafar2010-01-11 05:16:06
Sounds like the prompt hook isn't getting called at all. I use lots of /echo's to help me debug. So I'd stick in
/echo P1 is %P1 %; \\
as the first line of the prompt hook and you will see if it is getting called and what P1 is getting set to.
/echo P1 is %P1 %; \\
as the first line of the prompt hook and you will see if it is getting called and what P1 is getting set to.
Unknown2010-01-12 04:28:29
i was afraid of that. I've tried the echo you suggested and it's never invoked. I'm going to contact the maintainer of the tf port for this system, maybe a compile option has been turned off.
Zallafar2010-01-12 04:43:01
Is your source file even being read? I do something like just puttng in:
Blargh
and seeing if I get an error when the file loads.
Blargh
and seeing if I get an error when the file loads.
Unknown2010-01-12 11:37:24
Well, I initially had several typos that were causing runtime errors that I had to fix. I also know that if I /set curEgo=72 in that file and reload then /listvar shows /set curEgo=72. So I suspect ~/tf/prompt.tf is being read.
So, yeah. I had that thought too and I was briefly hopeful that maybe I was just being stupid and not loading the file, or something to that effect. I'll try that though, just to be thorough, I'll probably use that word too, Blargh is right next to Foo in being classic.
EDIT:
Put Blargh near top of file and got the result below.
% tf/prompt.tf, line 32: load: Invalid command. Aborting.
So, yeah. I had that thought too and I was briefly hopeful that maybe I was just being stupid and not loading the file, or something to that effect. I'll try that though, just to be thorough, I'll probably use that word too, Blargh is right next to Foo in being classic.

EDIT:
Put Blargh near top of file and got the result below.
% tf/prompt.tf, line 32: load: Invalid command. Aborting.
Unknown2010-01-13 12:21:04
UPDATE:
Fired off an e-mail to the tf port maintainer for this O/S. In the meantime, downloaded compiled and installed tf5 in my home directory. (supported tf is v4 stable).
Prompt values are now being captured. It seems that v4 stable either does not support prompt hooks as described in the help files, or the ported version on this O/S is broken somehow.
The port maintainer's response was that he only made some path changes and the status bar time display code to make the display work on sparc64 systems.
New albeit Related Stuff:
I'm now trying to get my score capturing code to work so that I have some maximum values to work off of. However, the values aren't being captured. The code I have so far is:
When I load this code and run score I see:
P2 is
% promptTrig: / operator: arithmetic overflow
The default value for something like maxHealth is zero, so division by zero is not a surprise if the values aren't being updated.
If I understand general regex then \\s is a column of whitespace in a line and \\s+ should be an unspecified numer of columns. Similariy \\w is a word character with \\w+ being any number of word characters.
At the beginning of my captured text I have "^|", which makes me feel a bit uncomfortable because I think that it should be "^\\|". Doesn't regex translate | as a conditional or? Nonetheless, I get some feedback (although no values) using it the first way and nothing using it the second.
Comments folks?
Fired off an e-mail to the tf port maintainer for this O/S. In the meantime, downloaded compiled and installed tf5 in my home directory. (supported tf is v4 stable).
Prompt values are now being captured. It seems that v4 stable either does not support prompt hooks as described in the help files, or the ported version on this O/S is broken somehow.
The port maintainer's response was that he only made some path changes and the status bar time display code to make the display work on sparc64 systems.
New albeit Related Stuff:
I'm now trying to get my score capturing code to work so that I have some maximum values to work off of. However, the values aren't being captured. The code I have so far is:
CODE
;#####################
;# score.tf          #
;#####################
;*********************
;* score variables  *
;*********************
/set maxHealth=0
/set maxEndure=0
/set maxMana=0
/set maxEgo=0
/set maxPower=10
/set curKarma=0
/set maxKarma=100
/set maxWill=0
/set curRes=0
/set maxRes=100
;************************
;* score triggers      *
;************************
/def -mregexp -wlusternia -t'^| Sex\\s+: \\w+\\s+Birthday\\s+:' updateScore = \\
        /def -mregexp -n1 -t'^| Health\\s+: (\\d+)/(\\d+)\\s+Endurance\\s+: (\\d+)/(\\d
+)\\s+Power\\s+: (\\d)p' updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $%; \\
                /set curEndure $%; \\
                /set maxEndure $%; \\
                /set curPower $%; \\
                /set perEndure $%; \\
        /def -mregexp -n1 -t'^| Mana\\s+: (\\d+)/(\\d+)\\s+Willpower\\s+: (\\d+)/(\\d+)
\\s+Reserves\\s+: (\\d+)\\%' updateScore2 = \\
                /set curMana $%; \\
                /set maxMana $%; \\
                /set curWill $%; \\
                /set maxWill $%; \\
                /set curRes $%; \\
        /def -mregexp -n1 -t'^| Ego\\s+: (\\d+)/(\\d+)' updateScore3 = \\
                /set curEgo $%; \\
                /set maxEgo $%; \\
        /def -mregexp -n1 -t'^| Karma\\s+: (\\d+)\\%' updateScore4 = \\
                /set curKarma $
;# score.tf          #
;#####################
;*********************
;* score variables  *
;*********************
/set maxHealth=0
/set maxEndure=0
/set maxMana=0
/set maxEgo=0
/set maxPower=10
/set curKarma=0
/set maxKarma=100
/set maxWill=0
/set curRes=0
/set maxRes=100
;************************
;* score triggers      *
;************************
/def -mregexp -wlusternia -t'^| Sex\\s+: \\w+\\s+Birthday\\s+:' updateScore = \\
        /def -mregexp -n1 -t'^| Health\\s+: (\\d+)/(\\d+)\\s+Endurance\\s+: (\\d+)/(\\d
+)\\s+Power\\s+: (\\d)p' updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $%; \\
                /set curEndure $%; \\
                /set maxEndure $%; \\
                /set curPower $%; \\
                /set perEndure $%; \\
        /def -mregexp -n1 -t'^| Mana\\s+: (\\d+)/(\\d+)\\s+Willpower\\s+: (\\d+)/(\\d+)
\\s+Reserves\\s+: (\\d+)\\%' updateScore2 = \\
                /set curMana $%; \\
                /set maxMana $%; \\
                /set curWill $%; \\
                /set maxWill $%; \\
                /set curRes $%; \\
        /def -mregexp -n1 -t'^| Ego\\s+: (\\d+)/(\\d+)' updateScore3 = \\
                /set curEgo $%; \\
                /set maxEgo $%; \\
        /def -mregexp -n1 -t'^| Karma\\s+: (\\d+)\\%' updateScore4 = \\
                /set curKarma $
When I load this code and run score I see:
P2 is
% promptTrig: / operator: arithmetic overflow
The default value for something like maxHealth is zero, so division by zero is not a surprise if the values aren't being updated.
If I understand general regex then \\s is a column of whitespace in a line and \\s+ should be an unspecified numer of columns. Similariy \\w is a word character with \\w+ being any number of word characters.
At the beginning of my captured text I have "^|", which makes me feel a bit uncomfortable because I think that it should be "^\\|". Doesn't regex translate | as a conditional or? Nonetheless, I get some feedback (although no values) using it the first way and nothing using it the second.
Comments folks?
Unknown2010-01-13 12:56:34
Not sure if it has anything to do with your latest issue, but \\d won't match 10 for your power value. You need at least \\d\\d? or \\d{1,2} or just \\d+ like everything else. 
You might also want to put backslashes before your pipe symbols and other non-alphanumeric characters.

You might also want to put backslashes before your pipe symbols and other non-alphanumeric characters.
Unknown2010-01-13 13:14:23
QUOTE (Zarquan @ Jan 13 2010, 05:56 AM) <{POST_SNAPBACK}>
Not sure if it has anything to do with your latest issue, but \\d won't match 10 for your power value. You need at least \\d\\d? or \\d{1,2} or just \\d+ like everything else. 

Damn, my eyes!
QUOTE (Zarquan @ Jan 13 2010, 05:56 AM) <{POST_SNAPBACK}>
You might also want to put backslashes before your pipe symbols and other non-alphanumeric characters.
That's what I mean, "^|" cannot be right! Thanks for confirming that. Oh wait, does that include escaping my slashes too?
Unknown2010-01-13 13:17:03
I find it's better to escape things like that when in doubt. I escape commas, colons, etc, even if you don't really have to do them.
Unknown2010-01-13 13:56:18
QUOTE (Zarquan @ Jan 13 2010, 06:17 AM) <{POST_SNAPBACK}>
I find it's better to escape things like that when in doubt. I escape commas, colons, etc, even if you don't really have to do them.
Okay, escaped all non-alphanumeric characters in regex of score.tf. Reloaded and still get errors.
Commented out all except one percent statement (perHealth) in prompt.tf to dumb things down and make things easier to trace. Trying to find where my P2 variable in score.tf is going.
Changes in prompt.tf are as follows:
CODE
;*************************
;* Prompt Triggers      *
;*************************
/def -mregexp -wlusternia -q -h"PROMPT (\\d+)h, (\\d+)m, (\\d+)e, (\\d+)p, (\\d+)en,
(\\d+)w (.*)\\-" promptTrig = \\
        /set curHealth $%; \\
        /set curMana $%; \\
        /set curEgo $%; \\
        /set curPower $%; \\
        /set curEndure $%; \\
        /set curWill $%; \\
        /let statusChars {P7}%; \\
                          .
                          .
                          .
        /set perHealth $%; \\
;Â Â Â Â Â Â /set perMana $%; \\
;Â Â Â Â Â Â /set perEgo $%; \\
;Â Â Â Â Â Â /set perEndure $%; \\
;Â Â Â Â Â Â /set perWill $%; \\
        /autoSip%;/autoClotter%;/cureCheck
;* Prompt Triggers      *
;*************************
/def -mregexp -wlusternia -q -h"PROMPT (\\d+)h, (\\d+)m, (\\d+)e, (\\d+)p, (\\d+)en,
(\\d+)w (.*)\\-" promptTrig = \\
        /set curHealth $%; \\
        /set curMana $%; \\
        /set curEgo $%; \\
        /set curPower $%; \\
        /set curEndure $%; \\
        /set curWill $%; \\
        /let statusChars {P7}%; \\
                          .
                          .
                          .
        /set perHealth $%; \\
;Â Â Â Â Â Â /set perMana $%; \\
;Â Â Â Â Â Â /set perEgo $%; \\
;Â Â Â Â Â Â /set perEndure $%; \\
;Â Â Â Â Â Â /set perWill $%; \\
        /autoSip%;/autoClotter%;/cureCheck
Now all I've got to do is figure out how to track down my bug.
EDIT:
In score.tf set variable in /echo statement in turn from P1 through P5. No value returned in echo (P2 is )
Zallafar2010-01-13 13:58:38
My TF score parser:
I turn of 'scoreStarted' elsewhere, when I get a prompt I think.
CODE
###########################################################
# Score
/set scoreStarted 0
/set maxHealth 0
/set maxMana 0
/set maxEgo 0
/set maxPower 10
/def -mregexp -t"^\\| Zallafar ---------------------------------------------------------------\\|$" \\
    startScore = /set scoreStarted 1
/def -F -mregexp -EscoreStarted -t"^\\| Health : */(*)" = \\
    /set maxHealth %P1
/def -F -mregexp -EscoreStarted -t"^\\| Mana  : */(*)" = \\
    /set maxMana %P1
/def -F -mregexp -EscoreStarted -t"^\\| Ego    : */(*)" = \\
    /set maxEgo %P1
# Score
/set scoreStarted 0
/set maxHealth 0
/set maxMana 0
/set maxEgo 0
/set maxPower 10
/def -mregexp -t"^\\| Zallafar ---------------------------------------------------------------\\|$" \\
    startScore = /set scoreStarted 1
/def -F -mregexp -EscoreStarted -t"^\\| Health : */(*)" = \\
    /set maxHealth %P1
/def -F -mregexp -EscoreStarted -t"^\\| Mana  : */(*)" = \\
    /set maxMana %P1
/def -F -mregexp -EscoreStarted -t"^\\| Ego    : */(*)" = \\
    /set maxEgo %P1
I turn of 'scoreStarted' elsewhere, when I get a prompt I think.
Unknown2010-01-13 14:12:41
Okay, ran some of the built-in debug routines in tf5. First of all, for this last run I had this in score.tf
This was the debug output:
Another score.tf.
Debug output
In the second set of debug statements, is the script actually firing on this?!?
+ TRIGGER: /updateScore1 | Race : Human Age : 23
If it is, no wonder I can't get any values for my variables!
Please feel free to examine, or comment.
CODE
/def -mregexp -wlusternia -t'^\\\\| Sex\\s+\\\\: \\w+\\s+Birthday\\s+\\\\:' updateScore =
\\
;/def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)\\s+Endurance \\: (\\d+)\\/(\\d+)\\s+P
ower\\s+\\: (\\d+)p" updateScore1 = \\
        /def -mregexp -n1 -t"^\\\\| Health \\\\: (\\d+)\\\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $
\\
;/def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)\\s+Endurance \\: (\\d+)\\/(\\d+)\\s+P
ower\\s+\\: (\\d+)p" updateScore1 = \\
        /def -mregexp -n1 -t"^\\\\| Health \\\\: (\\d+)\\\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $
This was the debug output:
CODE
+ USER: score
+ TRIGGER: /allies_list | Unblooded Nodel, Keep of Iasmos ----------------------
------------------|
| Unblooded Nodel, Keep of Iasmos ----------------------------------------|
+ TRIGGER: /updateScore | Sex    : Male                      Birthday  : 1st Roa
rkian 231Â Â Â Â Â Â Â Â |
++ /updateScore: /def -mregexp -n1 -t"^\\\\| Health \\\\: (\\d+)\\\\/(\\d+)" updateScore
1 = /echo P2 is %{P2} %;
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\| is the correct way to write a literal \\| inside a quoted string.
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\: is the correct way to write a literal \\: inside a quoted string.
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\/ is the correct way to write a literal \\/ inside a quoted string.
++ /updateScore: /set curHealth $%;
++ /updateScore: /set maxHealth $
| Sex    : Male                      Birthday  : 1st Roarkian 231        |
| Race  : Human                    Age      : 23                      |
+ TRIGGER: /allies_list | Mentor : Iasmos                    Mentorship: Not abl
e to mentor      |
| Mentor : Iasmos                    Mentorship: Not able to mentor      |
|------------------------------------------------------------------ VITALS|
| Health : 1848/1848    Endurance : 7200/7200      Power    : 10p      |
| Mana  : 1728/1728    Willpower : 7200/7200      Reserves : 12%      |
| Ego    : 1728/1728    Mindset  : Analytical      Esteem  : 2%        |
|------------------------------------------------------------------- KARMA|
| Karma  : 100%                                                          |
|---------------------------------------------------------------- RANKINGS|
| Experience : #1147 Unflinching            Level : 34 (98.08%)          |
| Explorer  : #2545 an Itinerant Traveler  |
|----------------------------------------------------------- ORGANISATIONS|
| Guild      : Unblooded in the Serenguard                                |
| Commune    : Ward in the Great Collective of Serenwilde                |
|------------------------------------------------------- CLANS AND CARTELS|
| The Silverblade Forging Cartel      Viridian Rangers                    |
|-------------------------------------------------------------------------|
+ PROMPT HOOK: /promptTrig 1848h, 1728m, 1728e, 10p, 7200en, 7200w elrxp-
++ /promptTrig: /set curHealth $%;
++ /promptTrig: /set curMana $%;
++ /promptTrig: /set curEgo $%;
++ /promptTrig: /set curPower $%;
++ /promptTrig: /set curEndure $%;
++ /promptTrig: /set curWill $%;
++ /promptTrig: /let statusChars {P7}%;
++ /promptTrig: /if (strstr({statusChars}, "k") > -1)
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "x") > -1)
++ /promptTrig: /else /set balPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "r") > -1)
++ /promptTrig: /else /set balPromptR 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "l") > -1)
++ /promptTrig: /else /set balPromptL 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "p") > -1)
++ /promptTrig: /else /set pronePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "d") > -1)
++ /promptTrig: /else /set deafPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "b") > -1)
++ /promptTrig: /else /set blindPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPrompt}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptL}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balLTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptR}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balRTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /set perHealth $%
;
% promptTrig: / operator: arithmetic overflow
+ USER: /log off
+ TRIGGER: /allies_list | Unblooded Nodel, Keep of Iasmos ----------------------
------------------|
| Unblooded Nodel, Keep of Iasmos ----------------------------------------|
+ TRIGGER: /updateScore | Sex    : Male                      Birthday  : 1st Roa
rkian 231Â Â Â Â Â Â Â Â |
++ /updateScore: /def -mregexp -n1 -t"^\\\\| Health \\\\: (\\d+)\\\\/(\\d+)" updateScore
1 = /echo P2 is %{P2} %;
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\| is the correct way to write a literal \\| inside a quoted string.
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\: is the correct way to write a literal \\: inside a quoted string.
% DEF -t: Warning: the only legal escapes within this quoted string are \\\\ and \\
".  \\\\/ is the correct way to write a literal \\/ inside a quoted string.
++ /updateScore: /set curHealth $%;
++ /updateScore: /set maxHealth $
| Sex    : Male                      Birthday  : 1st Roarkian 231        |
| Race  : Human                    Age      : 23                      |
+ TRIGGER: /allies_list | Mentor : Iasmos                    Mentorship: Not abl
e to mentor      |
| Mentor : Iasmos                    Mentorship: Not able to mentor      |
|------------------------------------------------------------------ VITALS|
| Health : 1848/1848    Endurance : 7200/7200      Power    : 10p      |
| Mana  : 1728/1728    Willpower : 7200/7200      Reserves : 12%      |
| Ego    : 1728/1728    Mindset  : Analytical      Esteem  : 2%        |
|------------------------------------------------------------------- KARMA|
| Karma  : 100%                                                          |
|---------------------------------------------------------------- RANKINGS|
| Experience : #1147 Unflinching            Level : 34 (98.08%)          |
| Explorer  : #2545 an Itinerant Traveler  |
|----------------------------------------------------------- ORGANISATIONS|
| Guild      : Unblooded in the Serenguard                                |
| Commune    : Ward in the Great Collective of Serenwilde                |
|------------------------------------------------------- CLANS AND CARTELS|
| The Silverblade Forging Cartel      Viridian Rangers                    |
|-------------------------------------------------------------------------|
+ PROMPT HOOK: /promptTrig 1848h, 1728m, 1728e, 10p, 7200en, 7200w elrxp-
++ /promptTrig: /set curHealth $%;
++ /promptTrig: /set curMana $%;
++ /promptTrig: /set curEgo $%;
++ /promptTrig: /set curPower $%;
++ /promptTrig: /set curEndure $%;
++ /promptTrig: /set curWill $%;
++ /promptTrig: /let statusChars {P7}%;
++ /promptTrig: /if (strstr({statusChars}, "k") > -1)
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "x") > -1)
++ /promptTrig: /else /set balPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "r") > -1)
++ /promptTrig: /else /set balPromptR 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "l") > -1)
++ /promptTrig: /else /set balPromptL 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "p") > -1)
++ /promptTrig: /else /set pronePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "d") > -1)
++ /promptTrig: /else /set deafPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "b") > -1)
++ /promptTrig: /else /set blindPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPrompt}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptL}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balLTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptR}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balRTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /set perHealth $%
;
% promptTrig: / operator: arithmetic overflow
+ USER: /log off
Another score.tf.
CODE
/def -mregexp -wlusternia -t'^\\| Sex\\s+\\: \\w+\\s+Birthday\\s+\\:' updateScore = \\
;/def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)\\s+Endurance \\: (\\d+)\\/(\\d+)\\s+P
ower\\s+\\: (\\d+)p" updateScore1 = \\
        /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $
;/def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)\\s+Endurance \\: (\\d+)\\/(\\d+)\\s+P
ower\\s+\\: (\\d+)p" updateScore1 = \\
        /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %; \\
                /set curHealth $%; \\
                /set maxHealth $
Debug output
CODE
+ USER: score
+ TRIGGER: /allies_list | Unblooded Nodel, Keep of Iasmos ----------------------
------------------|
| Unblooded Nodel, Keep of Iasmos ----------------------------------------|
+ TRIGGER: /updateScore | Sex    : Male                      Birthday  : 1st Roa
rkian 231Â Â Â Â Â Â Â Â |
++ /updateScore: /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 =
/echo P2 is %{P2} %;
++ /updateScore: /set curHealth $%;
++ /updateScore: /set maxHealth $
| Sex    : Male                      Birthday  : 1st Roarkian 231        |
+ TRIGGER: /updateScore1 | Race  : Human                    Age      : 23   Â
                  |
++ /updateScore1: /echo P2 is
+++ /echo: /let opt_a=%;
+++ /echo: /let opt_w=()%;
+++ /echo: /let opt_p=0%;
+++ /echo: /let opt_o=0%;
+++ /echo: /let opt_e=0%;
+++ /echo: /let opt_r=0%;
+++ /echo: /let opt_A=0%;
+++ /echo: /if (!getopts("a:poerAw:"))
+++ /echo: /endif
+++ /echo: /return echo({*}, opt_a, !!opt_p, (opt_w !~ "()") ? strcat("w",opt_w)
: opt_e ? "e" : opt_A ? "a" : opt_r ? "r" : "o")
P2 is
| Race  : Human                    Age      : 23                      |
+ TRIGGER: /allies_list | Mentor : Iasmos                    Mentorship: Not abl
e to mentor      |
| Mentor : Iasmos                    Mentorship: Not able to mentor      |
|------------------------------------------------------------------ VITALS|
| Health : 1848/1848    Endurance : 7200/7200      Power    : 10p      |
| Mana  : 1728/1728    Willpower : 7200/7200      Reserves : 15%      |
| Ego    : 1728/1728    Mindset  : Analytical      Esteem  : 2%        |
|------------------------------------------------------------------- KARMA|
| Karma  : 100%                                                          |
|---------------------------------------------------------------- RANKINGS|
| Experience : #1149 Unflinching            Level : 34 (61.77%)          |
| Explorer  : #2468 an Itinerant Traveler  |
|----------------------------------------------------------- ORGANISATIONS|
| Guild      : Unblooded in the Serenguard                                |
| Commune    : Ward in the Great Collective of Serenwilde                |
|------------------------------------------------------- CLANS AND CARTELS|
| The Silverblade Forging Cartel      Viridian Rangers                    |
|-------------------------------------------------------------------------|
+ PROMPT HOOK: /promptTrig 1848h, 1728m, 1728e, 10p, 7200en, 7200w elrx-
++ /promptTrig: /set curHealth $%;
++ /promptTrig: /set curMana $%;
++ /promptTrig: /set curEgo $%;
++ /promptTrig: /set curPower $%;
++ /promptTrig: /set curEndure $%;
++ /promptTrig: /set curWill $%;
++ /promptTrig: /let statusChars {P7}%;
++ /promptTrig: /if (strstr({statusChars}, "k") > -1)
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "x") > -1)
++ /promptTrig: /else /set balPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "r") > -1)
++ /promptTrig: /else /set balPromptR 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "l") > -1)
++ /promptTrig: /else /set balPromptL 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "p") > -1)
++ /promptTrig: /else /set pronePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "d") > -1)
++ /promptTrig: /else /set deafPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "b") > -1)
++ /promptTrig: /else /set blindPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPrompt}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptL}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balLTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptR}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balRTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /set perHealth $%
;
% promptTrig: / operator: arithmetic overflow
+ USER: /log off
+ TRIGGER: /allies_list | Unblooded Nodel, Keep of Iasmos ----------------------
------------------|
| Unblooded Nodel, Keep of Iasmos ----------------------------------------|
+ TRIGGER: /updateScore | Sex    : Male                      Birthday  : 1st Roa
rkian 231Â Â Â Â Â Â Â Â |
++ /updateScore: /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 =
/echo P2 is %{P2} %;
++ /updateScore: /set curHealth $%;
++ /updateScore: /set maxHealth $
| Sex    : Male                      Birthday  : 1st Roarkian 231        |
+ TRIGGER: /updateScore1 | Race  : Human                    Age      : 23   Â
                  |
++ /updateScore1: /echo P2 is
+++ /echo: /let opt_a=%;
+++ /echo: /let opt_w=()%;
+++ /echo: /let opt_p=0%;
+++ /echo: /let opt_o=0%;
+++ /echo: /let opt_e=0%;
+++ /echo: /let opt_r=0%;
+++ /echo: /let opt_A=0%;
+++ /echo: /if (!getopts("a:poerAw:"))
+++ /echo: /endif
+++ /echo: /return echo({*}, opt_a, !!opt_p, (opt_w !~ "()") ? strcat("w",opt_w)
: opt_e ? "e" : opt_A ? "a" : opt_r ? "r" : "o")
P2 is
| Race  : Human                    Age      : 23                      |
+ TRIGGER: /allies_list | Mentor : Iasmos                    Mentorship: Not abl
e to mentor      |
| Mentor : Iasmos                    Mentorship: Not able to mentor      |
|------------------------------------------------------------------ VITALS|
| Health : 1848/1848    Endurance : 7200/7200      Power    : 10p      |
| Mana  : 1728/1728    Willpower : 7200/7200      Reserves : 15%      |
| Ego    : 1728/1728    Mindset  : Analytical      Esteem  : 2%        |
|------------------------------------------------------------------- KARMA|
| Karma  : 100%                                                          |
|---------------------------------------------------------------- RANKINGS|
| Experience : #1149 Unflinching            Level : 34 (61.77%)          |
| Explorer  : #2468 an Itinerant Traveler  |
|----------------------------------------------------------- ORGANISATIONS|
| Guild      : Unblooded in the Serenguard                                |
| Commune    : Ward in the Great Collective of Serenwilde                |
|------------------------------------------------------- CLANS AND CARTELS|
| The Silverblade Forging Cartel      Viridian Rangers                    |
|-------------------------------------------------------------------------|
+ PROMPT HOOK: /promptTrig 1848h, 1728m, 1728e, 10p, 7200en, 7200w elrx-
++ /promptTrig: /set curHealth $%;
++ /promptTrig: /set curMana $%;
++ /promptTrig: /set curEgo $%;
++ /promptTrig: /set curPower $%;
++ /promptTrig: /set curEndure $%;
++ /promptTrig: /set curWill $%;
++ /promptTrig: /let statusChars {P7}%;
++ /promptTrig: /if (strstr({statusChars}, "k") > -1)
++ /promptTrig: /else /set kafePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "e") > -1)
++ /promptTrig: /else /set equiPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "x") > -1)
++ /promptTrig: /else /set balPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "r") > -1)
++ /promptTrig: /else /set balPromptR 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "l") > -1)
++ /promptTrig: /else /set balPromptL 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "p") > -1)
++ /promptTrig: /else /set pronePrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "d") > -1)
++ /promptTrig: /else /set deafPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (strstr({statusChars}, "b") > -1)
++ /promptTrig: /else /set blindPrompt 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPrompt}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptL}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balLTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /if (({balPromptR}==1) & ({equiPrompt}==1))
++ /promptTrig: /else /set balRTOequi 0%;
++ /promptTrig: /endif
++ /promptTrig: /set perHealth $%
;
% promptTrig: / operator: arithmetic overflow
+ USER: /log off
In the second set of debug statements, is the script actually firing on this?!?
+ TRIGGER: /updateScore1 | Race : Human Age : 23
If it is, no wonder I can't get any values for my variables!
Please feel free to examine, or comment.
Zallafar2010-01-13 23:05:10
When you have a macro define another macro, the statement separators for the inner macro need to be '%%;' rather than '%;'. Otherwise using '%;' finishes the inner macro and the rest of it becomes part of the outer macro. Like this:
CODE
/def -mregexp -wlusternia -t'^\\| Sex\\s+\\: \\w+\\s+Birthday\\s+\\:' updateScore = \\
        /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %%; \\
                /set curHealth $ %%; \\
                /set maxHealth $
        /def -mregexp -n1 -t"^\\| Health \\: (\\d+)\\/(\\d+)" updateScore1 = \\
                /echo P2 is %{P2} %%; \\
                /set curHealth $ %%; \\
                /set maxHealth $
Unknown2010-01-14 00:50:51
QUOTE (Zallafar @ Jan 13 2010, 04:05 PM) <{POST_SNAPBACK}>
When you have a macro define another macro, the statement separators for the inner macro need to be '%%;' rather than '%;'. Otherwise using '%;' finishes the inner macro and the rest of it becomes part of the outer macro. Like this:
Now all the triggers are going off on the correct strings. You, good sir, are a genius.!

grep TRIGGER score-debug24.log
CODE
+ TRIGGER: /updateScore | Sex    : Male                      Birthday  : 1st Roa
rkian 231Â Â Â Â Â Â Â Â |
+ TRIGGER: /updateScore1 | Health : 1848/1848Â Â Â Â Endurance : 7200/7200Â Â Â Â Â Â Po
wer    : 10p      |
+ TRIGGER: /updateScore3 | Ego    : 1728/1728    Mindset  : Analytical      Es
teem  : 2%        |
+ TRIGGER: /updateScore4 | Karma  : 100%                                       Â
                  |
rkian 231Â Â Â Â Â Â Â Â |
+ TRIGGER: /updateScore1 | Health : 1848/1848Â Â Â Â Endurance : 7200/7200Â Â Â Â Â Â Po
wer    : 10p      |
+ TRIGGER: /updateScore3 | Ego    : 1728/1728    Mindset  : Analytical      Es
teem  : 2%        |
+ TRIGGER: /updateScore4 | Karma  : 100%                                       Â
                  |