Label.tf
Jump to navigation
Jump to search
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