Difference between revisions of "Label.tf"
Jump to navigation
Jump to search
(/label grabs information from identify and labels an item) |
(No difference)
|
Revision as of 23:02, 16 September 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" ;)
Bug reports, suggestions and/or diffs are appreciated, sulfar _AT_ inbox +DOT+ com
Probable issue: If your identify lag is less than half a second the script will mess up.
; Label.tf
;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>]
/echo -aCyellow %% /label <item> Label item
/def -i label_init_vars = \
/set label_keyword=%;\
/set label_string=%;\
/set id_etch=%;\
/set id_weight=%;\
/set id_value=%;\
/set id_level=%;\
/set id_object_type=%;\
/set id_base_armor=%;\
/set id_enchant_armor=%;\
/set id_draw_strength=%;\
/set id_hr=%;\
/set id_dr=%;\
/set id_enchant_weapon=%;\
/set id_enchant_bow=%;\
/set id_dam_min=%;\
/set id_dam_max=%;\
/set id_dam_avg=%;\
/set id_container_capacity=%;\
/set _do_label_pid=
/label_init_vars
/def -i label = \
say %%% Identifying: %1%;\
c identify %1
/def -i -p900 -F -mregexp -t"You say '%% Identifying: ([^ ]+)'" label_keyword = \
/label_init_vars%;\
/set labeling 1%;\
/set label_keyword %{P1}%;\
/repeat -0.5 1 /do_label%;\
/set _do_label_pid=%?
/def -i -p900 -F -E(labeling) -t"You failed your identify due to lack of concentration!" id_failed = \
/@test _do_label_pid & (kill(_do_label_pid), _do_label_pid:=0)%;\
say %%% I lost my concentration identifying %{label_keyword}! Retrying...%;\
/label %{label_keyword}
/def -i -p900 -F -mregexp -E(labeling) -t"Object '.+ ([^ ]+)' type ([^ ]+), extra flags.+etched." id_object_etched = \
/set id_object_type %{P2}%;\
/set id_etch %{P1}%;\
/def -i -p900 -F -mregexp -E(labeling) -t"Object '.+' type ([^ ]+), extra flags*" id_object = \
/set id_object_type %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"Weight ([^ ]+), value ([^ ]+), level ([^ ]+)." id_level = \
/set id_weight %{P1}%;\
/set id_value %{P2}%;\
/set id_level %{P3}
/def -i -p900 -F -mregexp -E(labeling) -t"Armor class is ([^ ]+)." id_base_armor = \
/set id_base_armor %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"Damage is ([^ ]+) to ([^ ]+) \(average ([^ ]+)\)." id_dam = \
/set id_dam_min %{P1}%;\
/set id_dam_max %{P2}%;\
/set id_dam_avg %{P3}
/def -i -p900 -F -mregexp -E(labeling) -t"'enchant armor 'Modifies armor class by ([^ ]+) continuous." id_enchant_armor = \
/set id_enchant_armor %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t" Modifies damage roll by ([^ ]+) continuous." id_dr = \
/set id_dr %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t" Modifies hit roll by ([^ ]+) continuous." id_hr = \
/set id_hr %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"'enchant weapon 'Modifies damage roll by ([^ ]+) continuous." id_enchant_weapon = \
/set id_enchant_weapon %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"'enchant bow 'Modifies hit roll by ([^ ]+) continuous." id_enchant_bow = \
/set id_enchant_bow %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"Draw strength is ([^ ]+)." id_enchant_draw_strength = \
/set id_draw_strength %{P1}
/def -i -p900 -F -mregexp -E(labeling) -t"Capacity is ([^ ]+) lbs." id_container_capacity = \
/set id_container_capacity %{P1}
/def -i do_label = \
/if (regmatch ("weapon", id_object_type))\
/set label_string l%{id_level}%;\
/set label_string %{label_string} %{id_dam_min}-%{id_dam_avg}-%{id_dam_max}%;\
; /set label_string %{label_string} m%{id_dam_max}%;\
/if ((id_hr>0)|(id_dr>0))\
/set label_string %{label_string} $[id_hr+id_enchant_weapon]/$[id_dr+id_enchant_weapon]%;\
/endif%;\
/set label_string %{label_string} w%{id_weight}%;\
/elseif (regmatch ("bow", id_object_type))\
/set label_string l%{id_level}%;\
/set label_string %{label_string} %{id_dam_min}-%{id_dam_avg}-%{id_dam_max}%;\
/if (id_hr>0)\
/set label_string %{label_string} $[id_hr+id_enchant_bow]hr%;\
/endif%;\
/if (id_draw_strength !~ "") \
/set label_string %{label_string} ds%{id_draw_strength}%;\
/endif%;\
/elseif (regmatch ("armor", id_object_type))\
/set label_string l%{id_level}%;\
/set label_string %{label_string} b%{id_base_armor}%;\
/if (id_enchant_armor<0) \
/set label_string %{label_string} %{id_enchant_armor}%;\
/endif%;\
/elseif (regmatch ("container", id_object_type))\
/set label_string l%{id_level}%;\
/set label_string %{label_string} c%{id_container_capacity}%;\
/set label_string %{label_string} w%{id_weight}%;\
/endif%;\
/if (id_etch !~ "") \
/set label_string %{label_string} %{id_etch}%;\
/endif%;\
/if (regmatch ("armor|weapon|container|bow", id_object_type))\
say %%% Labeling %{label_keyword} %{label_string}%;\
label %{label_keyword} %{label_string}%;\
/elseif (regmatch ("trash|treasure|key", id_object_type)) \
say %%% I do not label %{label_keyword} of type %{id_object_type}.%;\
/else say %%% I have no idea how to label %{label_keyword}, sorry.%;\
/endif%;\
/set labeling 0%;\
/label_init_vars