|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Tue Jun 15, 2010 2:03 am
Trigger hangs CMUD |
The following trigger seems to hang my system, but only at certain times:
Code: |
<trigger name="CraftUser" priority="90" repeat="true" enabled="false" id="9">
<pattern>%q({@craftList})%q</pattern>
<value><![CDATA[$color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'><color $color>%1</color></send>}
}]]></value>
</trigger> |
It only seems to hang on output such as this:
Code: |
a Shadowso |<****** / ||||||> mat beeswax
h Shadowso |<<ESC>[31m**<ESC>[33m**<ESC>[32m**<ESC>[0m / <ESC>[31m||<ESC>[33m||<ESC>[32m||<ESC>[0m> <ESC>[2Smat beeswax<ESC>[0m
i Shadowso >mat beeswax<CR><LF>
d Shadowso | [1] ShadowsofIsildur Comline : stopped
i Shadowso <<CR><LF>
a Shadowso |
i Shadowso <<ESC>[36mApothecary-extractions:<ESC>[0m clean beeswax<CR><LF>
<ESC>[35mPhase 1:<ESC>[0m 15 seconds<CR><LF>
In Room (Reusable): <ESC>[32m<ESC>[31ma cheerily crackling campfire<ESC>[0m<ESC>[0m, <ESC>[32m<ESC>[31ma fire in the <CR><LF>
fireplace<ESC>[0m<ESC>[0m, <ESC>[32m<ESC>[31ma bed of glowing coals<ESC>[0m<ESC>[0m, <ESC>[32m<ESC>[31ma burning campfire<ESC>[0m<ESC>[0m, <CR><LF>
<ESC>[32m<ESC>[31ma freshly-stoked fire<ESC>[0m<ESC>[0m, or <ESC>[32m<ESC>[31ma fire burning in the stove<ESC>[0m<ESC>[0m. <CR><LF>
<ESC>[35mPhase 2:<ESC>[0m 20 seconds<CR><LF>
In Room (Reusable): <ESC>[32ma large copper-bottomed pot<ESC>[0m. <CR><LF>
Held or in Room (Consumed): 12 of <ESC>[32ma lump of beeswax<ESC>[0m. <CR><LF>
<ESC>[35mPhase 3:<ESC>[0m 20 seconds<CR><LF>
<ESC>[35mPhase 4:<ESC>[0m 30 seconds<CR><LF>
<ESC>[35mPhase 5:<ESC>[0m 20 seconds, Apothecary skill utilized.<CR><LF>
In Room (Reusable): <ESC>[32ma rectangular wooden mold<ESC>[0m. <CR><LF>
<ESC>[35mPhase 6:<ESC>[0m 20 seconds<CR><LF>
<ESC>[36mProduced:<ESC>[0m <ESC>[32ma large block of yellow beeswax<ESC>[0m. <CR><LF><CR><LF>
<<ESC>[31m**<ESC>[33m**<ESC>[32m**<ESC>[0m / <ESC>[31m||<ESC>[33m||<ESC>[32m||<ESC>[0m>
a Shadowso |Apothecary-extractions: clean beeswax
f Shadowso | Pattern: %q({@craftAreas})%q : (%1="Apothecary-extractions")
c Shadowso | exec : Pattern "CraftGroups" : #SUB {<send 'crafts %1' 'Can i do...
a Shadowso |Phase 1: 15 seconds
a Shadowso |In Room (Reusable): a cheerily crackling campfire, a fire in the
a Shadowso |fireplace, a bed of glowing coals, a burning campfire,
a Shadowso |a freshly-stoked fire, or a fire burning in the stove.
a Shadowso |Phase 2: 20 seconds
a Shadowso |In Room (Reusable): a large copper-bottomed pot.
a Shadowso |Held or in Room (Consumed): 12 of a lump of beeswax.
a Shadowso |Phase 3: 20 seconds
a Shadowso |Phase 4: 30 seconds
a Shadowso |Phase 5: 20 seconds, Apothecary skill utilized.
f Shadowso | Pattern: %q({@craftAreas})%q : (%1="Apothecary")
c Shadowso | exec : Pattern "CraftGroups" : #SUB {<send 'crafts %1' 'Can i do...
a Shadowso |In Room (Reusable): a rectangular wooden mold.
a Shadowso |Phase 6: 20 seconds
a Shadowso |Produced: a large block of yellow beeswax.
a Shadowso |
a Shadowso ]<****** / ||||||>
h Shadowso ]<<ESC>[31m**<ESC>[33m**<ESC>[32m**<ESC>[0m / <ESC>[31m||<ESC>[33m||<ESC>[32m||<ESC>[0m>
i Shadowso <<CR><LF> |
Here is the LARGE db variable the trigger references
Code: |
<var name="craftList" type="Record" sorted="true" id="6">20-yard-target=set|300-arrows=divide|30-yard-target=set|40-yard-target=set|50-yard-target=set|60-yard-target=set|acorns=collect|activated-charcoal=grind|adolescent-orc=slay|agrimony=scout|alcohol-bottle=uncork|alfirin=pick|alfirin-flowers=cut|almond-basket=divide|almond-extract-bottle=divide|almond-fruit=pick|almond-fruits=pick|almond-husk=split|almond-seedlings=transplant|almond-tree=pick|almond-tree-fruit=harvest|aloe-leaves=clip|aloe-plant=prepare|alum-barrel=divide|animal-fats=render|animal-stains=clean|annulas-bush=scout|annulas-leaves=pick|anorien-red-bottle=uncork|anorien-reserve-bottle=uncork|apple-blossoms=trim|apples=pick|apples-tub=bob|arable-herb=harvest|arfandas=seek|arfandas-grass=pick|armor-chainmail-from-package=divide|armor-chainmail-package=assemble|armor-finechainmail-from-package=divide|armor-finechainmail-package=assemble|armor-leather-from-package=divide|armor-leather-package=assemble|armor-ringmail-from-package=divide|armor-ringmail-package=assemble|armor-scalemail-from-package=divide|armor-scalemail-package=assemble|ashes=leach|assembled-target=dismantle|astringent-powder=divide|attacked-exterior=breach|attacked-reinforcement=destroy|attanar=seek|attanar-moss=gather|autumn-barley-field=manure|autumn-field-barley=sow|autumn-field-oats=sow|autumn-field-root-vegetables=sow|autumn-field-russets=sow|autumn-field-rye=sow|autumn-field-wheat=sow|autumn-oat-field=manure|autumn-orchard=create|autumn-root-vegetable-field=manure|autumn-russets-field=manure|autumn-rye-field=manure|autumn-wheat-field=manure|bag-cabbage=divide|bagged-ore=divide|bag-potatoes=divide|baking-powder-tin=divide|balance-beam=walk|ballista-gauge=prepare|bandages=cut|barberries=pick|barberry-bush=harvest|barberry-shrub=scout|bark=dry|barn-floor=sweep|barrel-with-honey=fill|barrel-with-water=fill|barren-fields=clean|barricades=attack|bar-soap=grate|bartop=clean|basil=tend|basket-berries-nuts=prepare|basket-cookies=prepare|basket-fruit=prepare|basket-muffins=prepare|basket-var-fruit=prepare|bathwater=heat|bay-berries=pick|bayberry-shrub=scout|bay-leaves=pick|bear-carcass=butcher|beaver=flush|beaver-carcass=butcher|beech-husk=split|beech-nuts=collect|beeswax=clean|beeswax-block=slice|big-bundle-arrows=combine|birch-sap=gather|bistort=scout|black-bear=track|blackberries=pick|blackened-armor-from-package=divide|blackened-armor-package=assemble|black-mulberries=pick|black-mustard=scout|blackthorn=scout|blindfold=rip|bloodstains=clean|blue-book=study|blue-stilton-cheese=make|blushed-pear-fruit=pick|blushed-pear-seedlings=transplant|blushed-pear-tree=harvest|boar=track|boar-carcass=butcher|bogbean=scout|bone-shards=crush|bonfire=light|bottle=break|box-candles=package|bramble-leaves=pick|bramble-thicket=scout|bramley-apple-fruit=pick|bramley-apple-sapling=plant|bramley-apple-seedlings=transplant|bramley-apple-tree=harvest|brawling=practice|brazier=light|bread-loaf=cut|bread-slices=cut|brewfire=light|brown-book=study|buck=track|bucket=fill|buckthorn=scout|buckthorn-berries=pick|bulk-lard=render|bulk-uprooted-dandelions=prepare|bulky-layered-gauntlets-from-package=divide|bulky-layered-gauntlets-package=assemble|bulky-layered-gorgets-from-package=divide|bulky-layered-gorgets-package=assemble|bunch-vegetables=divide|bundle=unpack|burner=light|burnet-rose-bush=scout|burnet-rose-hips=pick|burnet-rose-leaves=pick|burnet-roses=pick|bushel-celery=divide|bushel-large-apples=divide|bushel-pear=divide|bushel-small-apples=divide|bushel-vegetables=divide|butter=churn|butter-bread=make|butterbur=scout|buttermilk=make|buttermilk-jar=divide|buttermilk-starter=make|cabbage-seeds=plant|cake-soap=shave|calf-carcass=butcher|campfire=make|carnation-flowers=cut|carnation-seeds=plant|carpet=clean|cat-carcass=butcher|caught-carp=gut|caught-fish=fry|caught-salmon=gut|celery-seeds=plant|cerigarmor=divide|cerig-armor=assemble|cham-flowers=dry|chamomile=scout|chamomile-bunch=divide|chamomile-flowers=gather|charcoal-armload=stack|charcoal-pitstead=dig|cheese=make|cheese-wheel=slice|cherry-blossoms=trim|chestnuts=collect|chickweed=scout|cinnamon=grate|cinnamon-sticks=divide|circle-pillows=arrange|cirvaiarmor=divide|cirvai-armor=assemble|citrus-fruit=grate|city-street=sweep|clay-globs=split|clay-pile=shovel|cleaned-fine-fleece=comb|cleaned-fleece=comb|cleared-trail=prepare|clearing=make|close-growing-cabbage=weed|close-growing-red-bean=weed|close-growing-tomatoes=weed|close-growing-turnips=thin|close-mature-tomatoes=harvest|close-ripe-tomatoes=harvest|clove-vial=divide|cluster-egg=divide|coal-fire=light|cold=some|colicwort=scout|colored-carnations=collect|colored-tub=prepare|coltsfoot=scout|comice-pear-fruit=pick|comice-pear-seedlings=transplant|comice-pear-tree=harvest|common-milkwort=scout|completed-palisade=finalize|compost-pile=turn|concorde-pear-fruit=pick|concorde-pear-seedlings=transplant|concorde-pear-tree=harvest|conference-pear-fruit=pick|conference-pear-sapling=plant|conference-pear-seedlings=transplant|conference-pear-tree=harvest|conically-shaped-trees=prune|conical-shaped-trees=train|construction-site=clear|cookie-basket=divide|cooking-oil-tin=divide|coop-eggs=gather|corn-spurrey=scout|cough-syrup=prepare|cow=milk|cowslip=scout|cowslip-flowers=prepare|cox-apple-fruit=pick|cox-apple-sapling=plant|cox-apple-seedlings=transplant|cox-apple-tree=harvest|cream=separate|cream-jar=divide|crime=stop|crimson-clover=scout|crispin-apple-seedlings=transplant|crushed-almonds=process|crystals-bag=fill|cuckoo-flower=scout|cured-meat-barrel=divide|dagorcorporalarmor=divide|dagor-corporalarmor=assemble|dagorprivatearmor=divide|dagor-privatearmor=assemble|dagorrecruitarmor=divide|dagor-recruitarmor=assemble|dagorsergeantarmor=divide|dagor-sergeantarmor=assemble|damson-plum-basket=divide|damson-plum-fruit=pick|damson-plum-sapling=plant|damson-plum-seedlings=transplant|damson-plum-tree=harvest|dandelion=scout|dandelion-flower=uproot|dandelion-plant=scout|dart=throw|dead-goldfish=remove|dead-rabbit=butcher|death-pyre=light|debris=excavate|decoction-garden-leaves=prepare|decoction-jar-floral=wash|decomposing-pile=rotate|deep-post-holes=dig|deer=track|deer-carcass=butcher|dewberries=pick|dewberry-plant=scout|dill=scout|dirty-bathtub=scrub|dirty-bucket=wash|dirty-butcher-knife=wash|dirty-carboy=wash|dirty-cauldron=wash|dirty-jar=wash|dirty-latrine=clean|dirty-milkpan=wash|dirty-pitcher=wash|dirty-pot=wash|dirty-stall=muck|dirty-teapot=wash|dirty-tub=wash|dirty-windowbox=clean|discovery-apple-fruit=pick|discovery-apple-seedlings=transplant|discovery-apple-tree=harvest|dishes-counter=wash|distilling-furnace=light|dog-carcass=butcher|dog-mercury=scout|dog-rose-bush=scout|dog-rose-hips=pick|dog-rose-leaves=pick|dog-roses=pick|dog-violet=scout|donation-bag=fill|donation-crate=fill|donations=distribute|donkey-tail=pin|dovesfoot-cranesbill=scout|downy-rose-bush=scout|downy-rose-hips=pick|downy-rose-leaves=pick|downy-roses=pick|dried-cave-debris=collect|dried-fruit-pile=divide|droppings=sweep|dropwood=gather|drunk=toss|duck=call|dug-trench=finalize|earthen-brown-book=study|egg-cluster=combine|eggs=gather|enemy-trench=fill|ewe-milk-pails=combine|ewe-nanny=milk|exotic-bath=prepare|exterior=attack|exterior-en-masse=attack|exterior-in-force=attack|fabric-bolt=cut|fairy-flax=scout|federation-crate=load|federation-shipment=unstack|fennel=prepare|fennel-plant=tend|fennel-seeds=plant|festive-bunting=hang|feta-cheese=make|feta-jar=divide|field-apples=pick|field-herb=harvest|field-plums=pick|field-poppy=scout|field-rose-bush=scout|field-rose-hips=pick|field-rose-leaves=pick|field-roses=pick|field-turnips=sow|fig-pile=gather|fig-sapling=plant|fig-seedlings=transplant|filled-cart=dump|filled-sack=divide|filthy-cow-stall=clean|fine-colored-carnations=collect|fine-colored-tub=prepare|fine-fleece=wash|fire-buckets=ready|fire-pit=light|fireplace=light|fire-smokehouse=light|firewood=assemble|firewood-pile=stack|firewood-stack=separate|fish=catch|fishbowl-with-fish=fill|fishing-contest=perform|fishing-net=braid|flaming-arrow=ignite|flaming-blaze=fight|flaming-inferno=fight|fleece=wash|flint-tinder-kit=assemble|flood-wall=construct|floor=sweep|floor-mess=sweep|floral-bath=prepare|flour=mill|flowerpot=clean|flowers=dry|food-supply=assemble|food-supply-sack=divide|foraged-grubs=trade|forge-fire=light|foundation=setup|fox-carcass=butcher|fragrant-herbs=scatter|fresh-bay-leaves=dry|fresh-berry-juice=press|fresh-cherries=dry|fresh-ginger-root=slice|fresh-grapes=dry|fresh-leaves=pick|fruit-basket=divide|fruit-cake-platter=divide|fruit-pie-platter=divide|fruit-seeds=collect|fruit-stones=collect|fumitory=scout|furnace-fire=light|gala-apple-seedlings=transplant|galenas-bed=tend|gall-nuts=collect|game=butcher|garden-leaves=dry|garden-plot=tend|garlic-head=divide|garlic-mustard=scout|gate-winch=tighten|gathered-swamp-mushrooms=grind|general-combat=practice|ginger-packet=prepare|ginger-root=grind|ginger-tea=brew|ginger-vial=divide|goat=milk|goat-carcass=butcher|goat-milk-pails=combine|goldfish=catch|goldfish-bowl=clean|gooseberries=pick|gooseberry-bush=scout|gourmet-bread-loaf=slice|grain-sacks=combine|granite-gardenbench-violets=plant|grappling-hook=setup|greater-burnet=scout|greater-celandine=scout|green-cheese=cure|green-firewood=chop|green-gage-basket=divide|green-gage-fruit=pick|green-gage-seedlings=transplant|green-gage-tree=harvest|green-herbed-cheese=cure|greenhouse-plants=tend|greens-basket=divide|green-tea-leaves=dry|green-tomatoes=pick|grimy-bandages=cut|ground-ginger=package|groundsel=scout|group-clay=gather|group-firewood=gather|group-river-rocks=collect|group-small-rocks=collect|growing-barley=tend|growing-cabbage=weed|growing-oats=tend|growing-red-bean=weed|growing-reds=tend|growing-root-vegetables=tend|growing-russets=tend|growing-rye=tend|growing-tomatoes=weed|growing-wheat=tend|grubs=find|gruel=cook|guelder-rose=scout|guelder-rose-berries=pick|half-hide=make|handful-apples=divide|handful-quince=divide|handmade-rod=disassemble|hanging-bunting=remove|hanging-lantern=remove|hares-foot-clover=scout|hawthorn-berries=pick|hay=pitch|hay-bale=toss|hay-fields=gather|haystack-pile=arrange|hay-target=make|hazel-nuts=collect|hazelnut-shells=crack|healthy-cow=milk|heath-milkwort=scout|heath-milkwort-roots=prepare|heath-violet=scout|hedge-woundwort=scout|hemp-rope=cut|herbal-bath=prepare|herbal-garden=tend|herbal-jar-1=wash|herbal-jar-10=wash|herbal-jar-11=wash|herbal-jar-12=wash|herbal-jar-13=wash|herbal-jar-14=wash|herbal-jar-15=wash|herbal-jar-16=wash|herbal-jar-2=wash|herbal-jar-3=wash|herbal-jar-4=wash|herbal-jar-5=wash|herbal-jar-6=wash|herbal-jar-7=wash|herbal-jar-8=wash|herbal-jar-9=wash|herbed-cheese=make|herb-garden=tend|herb-leaves=dry|hickory-nuts=collect|hickory-shells=crack|hide-cot=assemble|holly-berries=collect|honey=gather|honey-barrel=divide|honey-jar=divide|honey-small-jar=divide|honeysuckle-vines=tend|horse-carcass=butcher|humble-bread-loaf=slice|hydrosol-bottle=wash|ice=cut|ice-block=harvest|ice-chips=make|incense=burn|intestines=clean|iron-brand=heat|iron-ores=mine|ivory-sheep=shear|ivy-garland=make|ivy-plant=prune|jam-toast=make|jar-with-feta=fill|jasmine-vines=tend|juice-bottle=wash|juniper-berries=pick|juniper-bush=scout|khaskhas=smoke|khaskhas-crate=divide|kidney-vetch=scout|king-plum-basket=divide|king-plum-fruit=pick|king-plum-seedlings=transplant|king-plum-tree=harvest|ladys-mantle=scout|lake-trout=net|lamb-carcass=butcher|lantern=hang|large-bundled-arrows=divide|large-cake=slice|large-charcoal-block=divide|large-plot=divide|large-rock-candy=divide|latrine=dig|leached-acorns=prepare|leadership=learn|lemon-extract-bottle=divide|lesser-celandine=scout|liegeman-armor-package=assemble|liegeman-packaged-armor=divide|lily-flowers=cut|lily-seeds=plant|limestone=break|limestone-gravel=crush|lion-carcass=butcher|lit-coal-fire=feed|lit-pipe=extinguish|lit-wood-fire=feed|logging-camp=work|log-ramp=load|lone-vegetables=combine|long-iron-brand=heat|long-stem-rose=snip|lotion-jar=wash|lucerne=scout|lump-butter=divide|lump-lard=divide|luscious-tomatoes=harvest|lye-water=bottle|lynx-carcass=butcher|mallow=scout|mallow-roots=prepare|manure-pile=collect|many-sweet-chestnut-husk=split|maple-sap=gather|maple-sugar=cook|maple-sugar-brick=divide|maple-syrup=refine|marigold-plants=tend|marigold-seedlings=transplant|marigold-seeds=plant|marjoram=scout|marsh-marigold=scout|mass-grave=dig|mature-autumn-barley=harvest|mature-autumn-oats=harvest|mature-autumn-root-vegetables=harvest|mature-autumn-russets=harvest|mature-autumn-rye=harvest|mature-autumn-wheat=harvest|mature-fennel=harvest|mature-private-garden=harvest|mature-spring-barley=harvest|mature-spring-oats=harvest|mature-spring-reds=harvest|mature-spring-root-vegetables=harvest|mature-spring-russets=harvest|mature-spring-rye=harvest|mature-spring-wheat=harvest|mature-tomatoes=harvest|meadow-buttercup=scout|meadow-cranesbill=scout|meadow-herb=harvest|meadowsweet=scout|meat=roast|meat-platter=divide|meat-rations=prepare|medicine-bag-stack=make|messy-shelves=arrange|milk-bucket=strain|milk-pails=combine|milk-pan=pour|milkwort-roots=prepare|milled-flour-bag=divide|mint-cluster=tend|mistletoe=scout|mistletoe-berries=pick|moonshine-bottle=uncork|moose-carcass=butcher|mountain-cranesbill=scout|muffin-basket=divide|mustard-seed=grind|mutton-leg=carve|nailed-arrow-crate=pry|nail-sack=fill|nectarine-fruit=pick|nectarine-seedlings=transplant|nectarine-tree-fruit=harvest|nest-orcs=destroy|netted-trout=catch|new-palisade=erect|nitre-bed=prepare|noose-line=make|northland-water-access=scout|northman-meat-platter=divide|nuts-berries-basket=divide|oak-bed-cover=remove|oak-bed-mattress=cover|oat-seeds=harvest|obstacle-course=run|oil=boil|oil-soaked-arrow=prepare|oily-rag=douse|old-campfire=feed|old-cloak=shred|old-clothes=shred|open-shaped-trees=train|opium-poppy=scout|orache=scout|orache-seeds=prepare|orange-icing-jar=divide|organs=drain|ornamental-window-box=plant|ornamental-window-garden=tend|oven-fire=light|overgrown-field=clear|pasture-herb=harvest|peach-blossoms=trim|peaches=pick|peach-fruit=pick|peach-seedlings=transplant|peach-tree-fruit=harvest|pea-pile=divide|pear-blossoms=trim|pear-bushel=divide|pears=pick|pelennor-logging=order|pelennor-logging-2=order|pelennor-logs=receive|pelennor-logs-2=receive|pell-block=spar|peppercorn-vial=divide|pet-bird=feed|pig-carcass=butcher|pig-haunch=smoke|piglet-carcass=butcher|pilewort=scout|pine-bed-cover=remove|pine-bed-mattress=cover|pink-roses=tend|pipe=ignite|pipe-weed=grind|pippin-apple-fruit=pick|pippin-apple-seedlings=transplant|pippin-apple-tree=harvest|pitstead-log-pile=arrange|pixie-apple-seedlings=transplant|planting-tray=clean|plant-leaves=harvest|plants=water|platter-fruit-cake=prepare|platter-fruit-pie=prepare|platter-meat=prepare|platter-vegetable=prepare|plum-blossoms=trim|plums=pick|pointed-boots-from-package=divide|pointed-toed-boots-package=assemble|pond-carp=catch|poorly-grown-cabbage=harvest|poorly-grown-red-bean=harvest|poor-trail=repair|poppy-capsules=gather|poppy-petals=gather|potted-aloe=water|pouch-strewing-herbs=prepare|private-garden=water|private-garden-seeds=plant|quicklime-sacks=fill|quince-fruit=pick|quince-seedlings=transplant|quince-shrub=plant|rabbit=flush|rack-beef=carve|raffle-ticket=collect|raffle-tickets=draw|ragged-robin-leaves=harvest|rag-piles=work|rags=wash|range=dismantle|rank-and-obedience=learn|raspberries=pick|raspberry-bush=scout|raw-bird=roast|raw-cheese=wax|raw-fish=gut|raw-rat=butcher|raw-sausage=make|raw-side-pork=smoke|raw-side-venison=smoke|raw-tenderloin=butcher|red-bean=plant|red-bean-seeds=harvest|red-campion=scout|red-clover=scout|red-clover-flowers=gather|red-mulberries=pick|red-rose=dry|red-seed-potatoes=cut|reeve-plum-basket=divide|reeve-plum-fruit=pick|reeve-plum-seedlings=transplant|reeve-plum-tree=harvest|refuse=clear|refuse-cart=dump|riparian-herb=harvest|ripe-autumn-barley=harvest|ripe-autumn-oats=harvest|ripe-autumn-root-vegetables=harvest|ripe-autumn-russets=harvest|ripe-autumn-rye=harvest|ripe-autumn-wheat=harvest|ripe-fig=pick|ripe-quince=pick|ripe-red-tomatoes=harvest|ripe-spring-barley=harvest|ripe-spring-oats=harvest|ripe-spring-reds=harvest|ripe-spring-root-vegetables=harvest|ripe-spring-russets=harvest|ripe-spring-rye=harvest|ripe-spring-wheat=harvest|ripe-turnips=harvest|river-crawfish=catch|river-rocks=find|roast-bear=carve|roast-beef=carve|roast-boar=carve|roast-chicken=carve|roasted-lamb-leg=slice|roasted-ribs=carve|roast-goose=carve|roast-ham=carve|roasting-spit=make|roast-pheasant=carve|roast-turkey=carve|roast-venison=carve|roast-warg-haunch=carve|roast-wolf-haunch=carve|rock-collection=disassemble|rocks=assemble|rock-trough=fill|rolled-smokeleaf=ignite|rolled-westmansweed=ignite|roots=dry|rope-climbing=practice|rose-bush-leaves=pick|rose-hips=pick|rose-incense=burn|rosemary-bush=scout|rosemary-bush-leaves=pick|roses=tend|rosewater-bottle=divide|rowan-berries=pick|rowanjam-jar=divide|rubble=clear|rummaged-dropwood=gather|rummaged-round-stones=gather|russet-apple-fruit=pick|russet-apple-seedlings=transplant|russet-apple-tree=harvest|russet-seed-potatoes=cut|sack-cabbage-seed=divide|sack-nails=divide|saddle-soap=divide|saffron-vial=divide|sage=scout|salt-barrel=divide|salted-meat-barrel=smoke|salt-meat-barrel=prepare|salt-salmon=preserve|sandbags=shovel|scaledagorcorporal=divide|scale-dagorcorporal=assemble|scaledagorprivate=divide|scale-dagorprivate=assemble|scaledagorsergeant=divide|scale-iron-gauntlets-from-package=divide|scale-iron-gauntlets-package=assemble|scale-iron-orkish-armor-from-package=divide|scale-iron-orkish-armor-package=assemble|scented-water=wash|scurvy-grass=scout|sealed-barrel=tap|sealed-juice-bottle=uncork|seed-cabbage=harvest|seeds-almond=plant|seeds-blushed-pear=plant|seeds-bramley-apple=plant|seeds-carnation=collect|seeds-comice-pear=plant|seeds-concorde-pear=plant|seeds-conference-pear=plant|seeds-cox-apple=plant|seeds-crispin-apple=plant|seeds-damson-plum-stones=plant|seeds-discovery-apple=plant|seeds-fig=plant|seeds-gala-apple=plant|seeds-green-gage-stones=plant|seeds-king-plum-stones=plant|seeds-lily=collect|seeds-marigold=collect|seeds-nectarine-stones=plant|seeds-peach-stones=plant|seeds-pippin-apple=plant|seeds-pixie-apple=plant|seeds-quince=plant|seeds-reeve-plum-stones=plant|seeds-russet-apple=plant|seeds-tomato=plant|seeds-victoria-plum-stones=plant|seeds-williams-pear=plant|shabiarmor=divide|shabi-armor=assemble|shaving-lather=prepare|sheep-carcass=butcher|sheep-herd=cull|shepherds-purse=scout|shored-defence=construct|shrub-quince=plant|side-horsemeat=carve|side-pork=carve|side-venison=carve|siege-tree=cut|signalfire=light|signal-fire=make|silver-candlestick=refill|silvermoon-armor=package|silvermoon-armor-package=unpack|silverweed=scout|simple-fishing-rod=fashion|simple-tea=brew|skeleton=crush|slack-ballista=wind|sling-bullets=find|slit-helm-package=assemble|slit-helms-from-package=divide|sloe-berries=pick|small-acorns=collect|small-bundled-arrows=divide|small-bundled-bolts=divide|small-dirty-bottle=wash|smaller-bundle-arrows=combine|smaller-bundle-bolts=combine|small-fountain=clean|small-game=butcher|small-plot-cabbage=plant|small-plots=combine|small-red-seed-potatoes=cut|smokehouse-fire=light|smokeleaf-pipe=ignite|smoke-signal=make|snakemeat=scorch|snow=shovel|snowball=make|snowman=make|snowmound=gather|soaked-acorns=prepare|soap-cakes=cut|soapwort=scout|soft-fruit-jam-jar=divide|soiled-linens=remove|sphagnum=seek|spiked-armor-from-package=divide|spiked-leather-armor-package=assemble|spoiled-grain-bag=divide|spring-field=manure|spring-field-barley=sow|spring-field-oats=sow|spring-field-reds=sow|spring-field-root-vegetables=sow|spring-field-russets=sow|spring-field-rye=sow|spring-field-wheat=sow|spun-thread=cut|squirrel-carcass=butcher|stack-grainbags=stack|stack-medicine-bag=divide|stag-carcass=butcher|starch=prepare|stewing-meat=cut|still-fire=light|stilton-cheese=make|stinging-nettle=scout|stinging-nettle-leaves=prepare|stinking-hellebore=scout|stitchwort=scout|stonekiln=light|stone-pit=heat|stovefire=light|stove-from-fireplace=light|strawberries=pick|strawberryjam-jar=divide|strawberry-plant=scout|straw-fields=gather|straw-pile=arrange|string-pieces=cut|strong-man=armwrestle|sugar=crush|sugar-bacon=cure|sugar-barrel=divide|sugar-ham=cure|summer-orchard=create|swamp-dust=ingest|swamp-mushrooms=gather|sweet-chestnut-husk=split|sweet-violet=scout|syrup-bucket=divide|tall-melilot=scout|tallow-candles=make|tarry-mess=clean|tea-plant=scout|tended-conical-trees=prune|tended-vase-trees=prune|thyme=scout|tiger-carcass=butcher|tirithcorporalarmor=divide|tirith-corporalarmor=assemble|tirithprivatearmor=divide|tirith-privatearmor=assemble|tirithrecruitarmor=divide|tirith-recruitarmor=assemble|tirithsergeantarmor=divide|tirith-sergeantarmor=assemble|tomato-bushel=divide|tomato-pile=divide|tomato-plants=plant|tomato-sack=fill|tomato-seeds=collect|torches=make|torchlit-campfire=make|tormentil=scout|trail-base=lay|tree-bark=strip|tree-leaves=dry|trench=dig|trough=fill|tutsan-berries=pick|tutsan-bush=scout|unevenly-grown-cabbage=harvest|unevenly-grown-red-bean=harvest|unmade-beds=make|unskilled-fish=catch|unsmoked-cheese=smoke|unsmoked-fish-fillet=smoke|unsmoked-sausage=smoke|untilled-field=till|uprooted-agrimony=prepare|uprooted-barberry=prepare|uprooted-bistort=prepare|uprooted-black-mustard=prepare|uprooted-butterbur=prepare|uprooted-cuckoo-flower=prepare|uprooted-dandelion=prepare|uprooted-dovesfoot-cranesbill=prepare|uprooted-ginger=prepare|uprooted-marsh-marigold=prepare|uprooted-meadow-cranesbill=prepare|uprooted-mountain-cranesbill=prepare|uprooted-red-campion=prepare|uprooted-soapwort=prepare|uprooted-stinking-hellebore=prepare|uprooted-sweet-violet=prepare|uprooted-weld=prepare|uprooted-white-campion=prepare|uprooted-white-mustard=prepare|uprooted-white-water-lily=prepare|uprooted-wood-anemone=prepare|uprooted-wood-avens=prepare|uprooted-woody-nightshade=prepare|vanilla-bottle=divide|var-fruit-basket=divide|vase-shaped-trees=prune|vegetable-platter=divide|vial-floral-oil=wash|vial-herbal-oil-1=wash|vial-herbal-oil-2=wash|vial-herbal-oil-3=wash|vial-herbal-oil-4=wash|vial-herbal-oil-5=wash|vial-herbal-oil-6=wash|victoria-plum-basket=divide|victoria-plum-fruit=pick|victoria-plum-sapling=plant|victoria-plum-seedlings=transplant|victoria-plum-tree=harvest|vinegar-jar=divide|violet-runner=plant|violets=tend|volunteers-crate=prepare|wall-climbing=practice|wall-hooks=affix|walnuts=collect|walnut-shells=crack|water-access1=scout|watercress=scout|weapons-practice=perform|wedge-cheese=grate|weed-roll=roll|weeds=uproot|weedy-path=tend|weld=scout|well-grown-cabbage=harvest|well-grown-red-bean=harvest|well-made=a|westron=study|wheat-seeds=harvest|whitebeam-berries=pick|white-campion=scout|white-deadnettle=scout|white-melilot=scout|white-mulberries=pick|white-mustard=scout|white-rabbit=flush|white-roses=tend|white-water-lily=scout|whole-almonds=crush|whole-berry-pie=slice|whole-cake=slice|whole-cheesetart=slice|whole-chicken-pie=slice|whole-cloves=grind|whole-fruit-pie=slice|whole-fruittart=slice|whole-grain-bag=divide|whole-herb=dry|whole-lili-cake=slice|whole-peppercorns=grind|whole-roast-boar=carve|whole-roast-pig=carve|whole-salted-salmon=divide|whole-steak-pie=slice|whole-walnuts=crush|wicks=make|wild-black-fox=track|wild-fox=track|wild-liquorice=scout|wild-liquorice-roots=prepare|wild-pheasant=flush|wild-raccoon=track|wild-rat=snare|wild-salmon=catch|williams-pear-fruit=pick|williams-pear-seedlings=transplant|williams-pear-tree=harvest|window-box=plant|window-garden=tend|winter-fruit-tree=prune|wolf-carcass=butcher|wolf-meat=roast|wood-anemone=scout|wood-avens=scout|wood-fire=light|woodland-herb=harvest|wood-pyre=stack|wood-sorrel=scout|wood-violet=scout|woody-nightshade=scout|writing=erase|yeast=divide|yellow-cheese=make|yellow-roses=tend</var> |
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jun 15, 2010 4:55 pm |
I wasn't able to get any hang here. If you can get it to hang on certain text from your MUD, try creating a debug log file to send to me. Connect to your MUD, then type:
#DEBUGFILE test.raw test.txt
and then do whatever on the MUD to display the text that is causing the trigger to hang. Then exit CMUD and send me the test.raw and test.txt files as email attachments so I can try to replay them here.
Be sure to reference this forum post in your email so I can connect the two and use your above trigger and database variable.
Also, in your above debugger output, it shows your trigger firing on two lines:
Quote: |
Apothecary-extractions: clean beeswax
Phase 5: 20 seconds, Apothecary skill utilized. |
I can see how the first line would fire the trigger and that works fine here, converting "beeswax" to a hyperlink that sends "mat beeswax" when I click it. However, I can't get the second line to fire the trigger. Do you have some other similar trigger that is firing? |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Tue Jun 15, 2010 11:44 pm |
yes i do, its a smaller stringlist of craftsets, but its not the one causing the issue as when i turn off the one i posted, things run smoothly {Apothecary|Apothecary-extractions|etc}.
I think the error is coming from the red colored text... i will send the .raw shortly, |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jun 16, 2010 12:32 am |
Is it possible that you have an infinite loop of triggers causing each other to fire? This would explain how turning off one of them fixes the issue.
You might want to create a new session with just the single trigger above and then test it on your MUD to see if it fails with just that trigger alone. That's what I'll be testing here with your raw file. |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Wed Jun 16, 2010 2:23 am |
Possible i suppose, but it still crashes when the other one is disabled, but here is the other one anyway
Code: |
<var name="craftAreas" type="StringList" sorted="true" id="7">apothecary|apothecary-extractions|apothecary-speciality|athletics|butchering|chandlery|construction|farming-field|farming-general|farming-processing|foraging|gardening|general|general-fire|general-food|general-labor|general-recreation|general-serving|herbalism|hunting|laborers|orcharding|packaging|perfumery|recreation|sages|shepherd|siegecraft|study|taming|timberwright|training|yrch-general</var> |
Code: |
<trigger name="CraftGroups" priority="80" repeat="true" enabled="false" id="8">
<pattern>%q({@craftAreas})%q</pattern>
<value><![CDATA[#SUB {<send 'crafts %1' 'Can i do any %1 crafts?'><color yellow>%1</color></send>}]]></value>
</trigger> |
Oh this isnt just any crash... it bypasses the normal crash controls and i have to kill it from the task manager.
P.S. The files are sent. |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jun 16, 2010 4:14 pm |
I didn't receive any files yet. Be sure you sent them to the sales@zuggsoft.com account.
If it bypasses the normal crash dump dialog, then it's some sort of infinite loop that is blowing away the memory stack.
Are you able to reproduce the crash in a fresh session with just the first trigger shown in the original post? |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Wed Jun 16, 2010 4:52 pm |
That was the problem. I had mailed it to support, not sales... I forwarded it just now.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 18, 2010 5:24 pm |
Just wanted to follow up with this. I received the files and I was able to reproduce the hang. So hopefully I can fix it for the next release.
|
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Fri Jun 18, 2010 5:31 pm |
I'm glad it wasn't just me or corrupted settings for a change.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 18, 2010 8:23 pm |
Not sure why this crashes now but not in previous versions. The issue was a problem with #SUB and is something I haven't messed with in a while.
I think I have this fixed in the next update, but I'd be interested in knowing if it also failed in 3.17 or earlier versions. |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Sat Jun 19, 2010 3:51 am |
It was in 3.17 when i reported the issue, seems fixed in 3.20
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Sun Sep 12, 2010 4:01 pm |
For some reason, this package is once again causing CMUD to hang in 3.25.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Moo Apprentice
Joined: 10 Apr 2009 Posts: 145
|
Posted: Sun Sep 12, 2010 10:24 pm |
A bit off-topic, but I'm curious. What is your script and that huge list doing?
|
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Mon Sep 13, 2010 3:56 pm |
It turns crafts, the means of performing skilled labor on the mud in question, into a quick click link to see the procedure of, or to perform.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Mon Sep 13, 2010 4:49 pm |
I have new data.
This is no longer an issue of the red colored text, that is indeed fixed.
But it is the same trigger and variable.
I have since found that the dbVar is getting corrupted some how to include some of the send data by the #SUB.
The command i used was 'say brawling'
Normally it prints like this:
Quote: |
You say in Westron,
"Brawling." |
Now is printing like:
Quote: |
You say in study|Westron,
"practice|practice|<send 'mat practice|practice|<send 'mat practice|practice|<spractice|practice|<send 'mat Brawling|Brawling Brawling|Brawling|Brawling|Brawling." |
But with debug i find it is firing WAY too many times:
Quote: |
You say in study|Westron,
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
"practice|practice|<send 'mat practice|practice|<send 'mat practice|practice|<spractice|practice|<send 'mat Brawling|Brawling Brawling|Brawling|Brawling|Brawling."
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}]
[%q({@craftList})%q-> $color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftlist.%1} %1' 'Materials for %1|Perform %1'>%1</send>}
}] |
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Tue Oct 05, 2010 7:09 pm |
A fix! (Thanks darmir)
But I don't understand why this fixes it......
change the trigger above from:
Code: |
<trigger name="CraftUser" priority="90" repeat="true">
<pattern>%q({@craftList})%q</pattern>
<value><![CDATA[$color=slategray
#IF (%ismember( %1, @craftList)) {
#NOOP
#SUB {<send 'mat %1|@{craftList.%1} %1' 'Materials for %1|Perform %1'><color $color>%1</color></send>}
}]]></value>
</trigger> |
To:
Code: |
<trigger name="CraftUser" priority="90" repeat="true" id="9">
<pattern>%q({@craftList})%q</pattern>
<value><![CDATA[$color=slategray
#SUB {<send 'mat %1|#EXEC {~@{craftList.%1} %1}' 'Materials for %1|Perform %1'><color $color>%1</color></send>}
]]></value>
</trigger> |
#NOOP does nothing so i should be able to assume that wasn't the issue...
Which only leaves the #IF, %ismember, or <send> as the culpret for variable corruption in the value of the key=value pairs in my dbvar. |
|
_________________ Discord: Shalimarwildcat |
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Tue Oct 05, 2010 7:53 pm |
Further testing shows that the #NOOP #IF and %ismember have nothing to do with the error, i put them back in and so long as the #EXEC is there, nothing fails or corrupts.
I forget why I wanted them there originally... just getting rid of possible factors now.
i suspect its something in the <send> code. |
|
_________________ Discord: Shalimarwildcat |
|
|
|
darmir Sorcerer
Joined: 10 Oct 2000 Posts: 706 Location: USA
|
Posted: Tue Oct 05, 2010 9:13 pm |
There is still the issue with the Perform menu not working correctly. If you try it the doesn't work. See the other thread I started about this.
|
|
_________________ Run as hard as a wild beast if you will, but you won't get any reward greater than that destined for you.
Source: (Egyptian)
Last edited by darmir on Fri Nov 12, 2010 9:22 pm; edited 1 time in total |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Wed Oct 06, 2010 12:23 pm |
Shalimar, the reason the #EXEC fixes it is because that part of the <SEND> has to be a command. Commands cannot start with a function or variable. They must start with an alias (explicitly written out--not an indirection through a variable), or a Cmud command (i.e. starting with #), or a mud command (again, explicitly written out). Even the mere mud command is better done with a #SEND command.
|
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Wed Oct 06, 2010 12:58 pm |
It USED to work a few beta versions ago... so this must not have always been the case. I had to change the script to make it compatible with the current version.
|
|
_________________ Discord: Shalimarwildcat |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Wed Oct 06, 2010 5:14 pm |
It has been the case from the beginning in Cmud. Under _some_ circumstances you can get a commandline to work with a variable or function at the beginning of the command, but it is not correct syntax and may stop working at any time. Using a variable or function at the beginning of a command line is unsupported and deprecated--technically, I believe it was incorrect syntax in Zmud as well, but Zmud was much more forgiving of syntax variations.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Oct 14, 2010 5:26 pm |
I posted this in another thread. You need to put a ~ character before the | character in the SEND command to prevent CMUD from parsing it as a string list for #SUB.
|
|
|
|
shalimar GURU
Joined: 04 Aug 2002 Posts: 4692 Location: Pensacola, FL, USA
|
Posted: Fri Nov 12, 2010 8:59 pm |
Version History wrote: |
# Fixed problems using | character to build a string list when mixed with other variables and functions |
Does this remove the need to use the ~ in <send> if the command/menu is a anonymous string list? |
|
_________________ Discord: Shalimarwildcat |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Nov 12, 2010 9:34 pm |
Yes, that was actually fixed in v3.31.
|
|
|
|
|
|