Difference between revisions of "Label.tf"
Jump to navigation
Jump to search
(/label grabs information from identify and labels an item) |
(seperated identify, spams less, is pluggable) |
||
Line 1: | Line 1: | ||
To see the results without actually labeling just use "/label <item>" while not standing at Edmuntrillion the ent. When you're confident, go to the ent and do something like "remove all.acitem" and "/for c 1 16 /label %c.acitem" ;) | To see the results without actually labeling just use "/label <item>" while not standing at Edmuntrillion the ent. When you're confident, go to the ent and do something like "remove all.acitem" and "/for c 1 16 /label %c.acitem" ;) | ||
<BR><BR> | <BR><BR> | ||
− | |||
− | + | New version: | |
+ | * seperated identify stuff into [[identify.tf]] so you'll need that too, | ||
+ | * uses [[verbose.tf]] to /echo stuff to the screen so you'll need that too | ||
+ | * kinda supports treasure/light | ||
+ | * produces less spam in the room, it uses a get instead of a say to grab the keyword | ||
+ | * implements a -x<command on exit> option much like the identify script to make it useful for other scripts. | ||
− | <pre> | + | You should have TINYPREFIX set in your config file, pointing at the directory with tf scripts like |
− | + | <pre>/set TINYPREFIX=~/tinyfugue/</pre> | |
− | + | Probable issue: If your identify lag is less than 0.3 second the script will mess up in loops. So no Imm support here ;p | |
− | ; | ||
− | |||
− | |||
− | |||
− | |||
− | + | <pre> | |
+ | ;Bug reports, suggestions and/or diffs are appreciated, '''sulfar''' _AT_ ''inbox'' +DOT+ ''com'' | ||
− | + | ; label.tf | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | / | + | /loaded __SULFAR__/label.tf |
− | / | + | /eval /require -q %{TINYPREFIX}identify.tf |
− | + | /eval /require -q %{TINYPREFIX}verbose.tf | |
− | |||
− | / | + | /echo -aCyellow %% /label <item> Label item |
− | + | /echo -aCyellow %% [-x<command>] execute command after label | |
− | |||
− | |||
− | |||
− | |||
− | + | ;Current label format: | |
− | + | ; | |
− | + | ;armor: l<level> b<base> [<enchant>] [<etch>] | |
− | + | ;weapon: l<level> <min>-<avg>-<max> <hr>/<dr> w<weight> [<etch>] | |
+ | ;bow: l<level> <min>-<avg>-<max> [<hr>hr] [ds<drawstrength>] [<etch>] | ||
+ | ;container: l<level> c<capacity> w<weight> [<etch>] | ||
+ | ;light: l<level> [<etch>] | ||
+ | ;treasure l<level> [<etch>] | ||
− | |||
− | |||
− | |||
− | + | ;Set to 0-3 to override system verbosity level | |
− | + | ;Set to -100 to disable script verbosity level and keep system verbosity level | |
+ | ;see verbose.tf | ||
+ | /verbose -s-100 label | ||
− | /def -i | + | /def -i label_init = \ |
− | + | /set label_keyword=%;\ | |
− | + | /set label_string= | |
− | |||
− | / | + | /label_init |
− | |||
− | /def -i | + | /def -i label = \ |
− | + | /if (!getopts("x:", "")) /return 0%; /endif%; \ | |
− | + | /set label_post %{opt_x}%;\ | |
− | + | /verbose -o%{verbosity_label} -l1 - -aCcyan %%% /%0: Labeling. Post command is %{label_post}%;\ | |
+ | /identify -e"get %1labeleok" -x/label_identify_done %1 | ||
− | /def -i -p900 -F -mregexp | + | ;Setting global variable identify_grab to make /label work in loops |
− | + | ;That's ok because the last identify comes after this trigger and sets | |
+ | ; identify_grab to 0 anyways. | ||
+ | /def -i -p900 -F -mregexp -t"I see no ([^ ]+)labeleok here." label_keyword = \ | ||
+ | /set identify_grab 1%;\ | ||
+ | /label_init%;\ | ||
+ | /set label_keyword %{P1}%;\ | ||
+ | /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Got keyword, %{label_keyword} | ||
− | /def -i - | + | /def -i label_identify_done = \ |
− | + | /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Compiling label string and labeling.%;\ | |
− | / | + | /label_compile%;\ |
− | + | /do_label%;\ | |
+ | /if (label_post !~ "") /eval %{label_post}%; /endif | ||
− | /def -i - | + | /def -i label_compile = \ |
− | + | /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Compiling label string... %;\ | |
+ | /if (identify_type =~ "armor")\ | ||
+ | /set label_string l%{identify_level}%;\ | ||
+ | /set label_string %{label_string} b%{identify_armor_class}%;\ | ||
+ | /if (identify_enchant_armor<0) \ | ||
+ | /set label_string %{label_string} %{identify_enchant_armor}%;\ | ||
+ | /endif%;\ | ||
+ | /elseif (identify_type =~ "weapon")\ | ||
+ | /set label_string l%{identify_level}%;\ | ||
+ | /set label_string %{label_string} %{identify_dam_min}-%{identify_dam_avg}-%{identify_dam_max}%;\ | ||
+ | /if ((identify_hr>0)|(identify_dr>0))\ | ||
+ | /set label_string %{label_string} $[identify_hr+identify_enchant_weapon]/$[identify_dr+identify_enchant_weapon]%;\ | ||
+ | /endif%;\ | ||
+ | /set label_string %{label_string} w%{identify_weight}%;\ | ||
+ | /elseif (identify_type =~ "bow")\ | ||
+ | /set label_string l%{identify_level}%;\ | ||
+ | /set label_string %{label_string} %{identify_dam_min}-%{identify_dam_avg}-%{identify_dam_max}%;\ | ||
+ | /if (identify_hr>0)\ | ||
+ | /set label_string %{label_string} $[identify_hr+identify_enchant_bow]hr%;\ | ||
+ | /endif%;\ | ||
+ | /if (identify_ds !~ "") \ | ||
+ | /set label_string %{label_string} ds%{identify_ds}%;\ | ||
+ | /endif%;\ | ||
+ | /elseif (identify_type =~ "container")\ | ||
+ | /set label_string l%{identify_level}%;\ | ||
+ | /set label_string %{label_string} c%{identify_capacity}%;\ | ||
+ | /set label_string %{label_string} w%{identify_weight}%;\ | ||
+ | /elseif (regmatch("light|treasure", identify_type))\ | ||
+ | /set label_string l%{identify_level}%;\ | ||
+ | /endif%;\ | ||
+ | /if (identify_etch !~ "") \ | ||
+ | /set label_string %{label_string} %{identify_etch}%;\ | ||
+ | /endif | ||
− | /def -i | + | /def -i do_label = \ |
− | + | /if (regmatch ("armor|weapon|bow|container|light|treasure", identify_type))\ | |
− | + | /verbose -o%{verbosity_label} -l1 - -aCcyan %%% /%0: Labeling %{label_keyword} %{label_string}%;\ | |
− | + | label %{label_keyword} %{label_string}%;\ | |
− | + | /else /verbose -o%{verbosity_label} -l1 - -aCyellow %%% /%0: I have no idea how to label %{label_keyword} of type %{identify_type}, sorry.%;\ | |
− | + | /endif | |
− | / | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
[[Category: TinyFugue Scripting]] | [[Category: TinyFugue Scripting]] |
Revision as of 22:58, 10 October 2008
To see the results without actually labeling just use "/label <item>" while not standing at Edmuntrillion the ent. When you're confident, go to the ent and do something like "remove all.acitem" and "/for c 1 16 /label %c.acitem" ;)
New version:
- seperated identify stuff into identify.tf so you'll need that too,
- uses verbose.tf to /echo stuff to the screen so you'll need that too
- kinda supports treasure/light
- produces less spam in the room, it uses a get instead of a say to grab the keyword
- implements a -x<command on exit> option much like the identify script to make it useful for other scripts.
You should have TINYPREFIX set in your config file, pointing at the directory with tf scripts like
/set TINYPREFIX=~/tinyfugue/
Probable issue: If your identify lag is less than 0.3 second the script will mess up in loops. So no Imm support here ;p
;Bug reports, suggestions and/or diffs are appreciated, '''sulfar''' _AT_ ''inbox'' +DOT+ ''com'' ; label.tf /loaded __SULFAR__/label.tf /eval /require -q %{TINYPREFIX}identify.tf /eval /require -q %{TINYPREFIX}verbose.tf /echo -aCyellow %% /label <item> Label item /echo -aCyellow %% [-x<command>] execute command after label ;Current label format: ; ;armor: l<level> b<base> [<enchant>] [<etch>] ;weapon: l<level> <min>-<avg>-<max> <hr>/<dr> w<weight> [<etch>] ;bow: l<level> <min>-<avg>-<max> [<hr>hr] [ds<drawstrength>] [<etch>] ;container: l<level> c<capacity> w<weight> [<etch>] ;light: l<level> [<etch>] ;treasure l<level> [<etch>] ;Set to 0-3 to override system verbosity level ;Set to -100 to disable script verbosity level and keep system verbosity level ;see verbose.tf /verbose -s-100 label /def -i label_init = \ /set label_keyword=%;\ /set label_string= /label_init /def -i label = \ /if (!getopts("x:", "")) /return 0%; /endif%; \ /set label_post %{opt_x}%;\ /verbose -o%{verbosity_label} -l1 - -aCcyan %%% /%0: Labeling. Post command is %{label_post}%;\ /identify -e"get %1labeleok" -x/label_identify_done %1 ;Setting global variable identify_grab to make /label work in loops ;That's ok because the last identify comes after this trigger and sets ; identify_grab to 0 anyways. /def -i -p900 -F -mregexp -t"I see no ([^ ]+)labeleok here." label_keyword = \ /set identify_grab 1%;\ /label_init%;\ /set label_keyword %{P1}%;\ /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Got keyword, %{label_keyword} /def -i label_identify_done = \ /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Compiling label string and labeling.%;\ /label_compile%;\ /do_label%;\ /if (label_post !~ "") /eval %{label_post}%; /endif /def -i label_compile = \ /verbose -o%{verbosity_label} -l2 - -aCyellow %%% /%0: Compiling label string... %;\ /if (identify_type =~ "armor")\ /set label_string l%{identify_level}%;\ /set label_string %{label_string} b%{identify_armor_class}%;\ /if (identify_enchant_armor<0) \ /set label_string %{label_string} %{identify_enchant_armor}%;\ /endif%;\ /elseif (identify_type =~ "weapon")\ /set label_string l%{identify_level}%;\ /set label_string %{label_string} %{identify_dam_min}-%{identify_dam_avg}-%{identify_dam_max}%;\ /if ((identify_hr>0)|(identify_dr>0))\ /set label_string %{label_string} $[identify_hr+identify_enchant_weapon]/$[identify_dr+identify_enchant_weapon]%;\ /endif%;\ /set label_string %{label_string} w%{identify_weight}%;\ /elseif (identify_type =~ "bow")\ /set label_string l%{identify_level}%;\ /set label_string %{label_string} %{identify_dam_min}-%{identify_dam_avg}-%{identify_dam_max}%;\ /if (identify_hr>0)\ /set label_string %{label_string} $[identify_hr+identify_enchant_bow]hr%;\ /endif%;\ /if (identify_ds !~ "") \ /set label_string %{label_string} ds%{identify_ds}%;\ /endif%;\ /elseif (identify_type =~ "container")\ /set label_string l%{identify_level}%;\ /set label_string %{label_string} c%{identify_capacity}%;\ /set label_string %{label_string} w%{identify_weight}%;\ /elseif (regmatch("light|treasure", identify_type))\ /set label_string l%{identify_level}%;\ /endif%;\ /if (identify_etch !~ "") \ /set label_string %{label_string} %{identify_etch}%;\ /endif /def -i do_label = \ /if (regmatch ("armor|weapon|bow|container|light|treasure", identify_type))\ /verbose -o%{verbosity_label} -l1 - -aCcyan %%% /%0: Labeling %{label_keyword} %{label_string}%;\ label %{label_keyword} %{label_string}%;\ /else /verbose -o%{verbosity_label} -l1 - -aCyellow %%% /%0: I have no idea how to label %{label_keyword} of type %{identify_type}, sorry.%;\ /endif