Trader Shop Inventory Logger (script): Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
(Created page with "{{Script |cat=information |fe=Genie |auth=Isharon }} ==Description== These scripts and triggers will run through every Trader-owned shop in the market plaza...")
 
m (added category of "Trader")
 
(25 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Script
{{Script
|cat=information
|cat=information, Trader
|fe=Genie
|fe=Genie
|auth=[[User:Isharon|Isharon]]
|auth=[[User:Isharon|Isharon]]
Line 8: Line 8:


These scripts and triggers will run through every Trader-owned shop in the market plazas and log inventory, making it easier to find what you want and compare prices. The data is stored in Shoplog.txt. The columns of data are separated by tabs so that you can copy and paste it to Excel for easy sorting.
These scripts and triggers will run through every Trader-owned shop in the market plazas and log inventory, making it easier to find what you want and compare prices. The data is stored in Shoplog.txt. The columns of data are separated by tabs so that you can copy and paste it to Excel for easy sorting.
temp

==Instructions==
==Instructions==


Line 17: Line 17:
===Making a Spreadsheet in Excel===
===Making a Spreadsheet in Excel===


====Shop Inventory====
[www.elanthia.org/TraderShops/TraderShopInventory-Blank.xls Template]: Here is a template that you can use to make your own spreadsheet.<br>

[http://www.elanthia.org/TraderShops/TraderShopInventory-Blank.xls Template]: Here is a template that you can use to make your own spreadsheet.<br>
<br>
<br>
#Open Shoplog.txt
#Open Shoplog.txt
#Delete the underscores ( _ ) from the price column.
#Delete the underscores ( _ ) from the price column.
#Delete the periods ( . ) from the price column.
#Delete the periods ( . ) from the price column.
#Copy and paste the data from Shoplog.txt to the spreadsheet.
#Copy and paste the data from Shoplog.txt to the first sheet (labeled Inventory) in the Excel document.
#To convert prices to plats, divide column E by 10000.
#To convert prices to plats, divide column E by 10000.
#To convert the prices from Lirums to Kronars, multiply column E by 1.25.
#To convert the prices from Lirums to Kronars, multiply column E by 1.25.
Line 28: Line 30:
<br>
<br>
If you need help using these features in Excel, see [http://spreadsheets.about.com/od/excel101/a/Excel_beg_guide.htm How to Use Microsoft Excel].
If you need help using these features in Excel, see [http://spreadsheets.about.com/od/excel101/a/Excel_beg_guide.htm How to Use Microsoft Excel].

====Shop List====

Simply copy and paste the contents of Shoplist.txt to the second sheet (labeled Shops) of the Excel file.

===Updating Elanthipedia's Shop List===

Elanthipedia has a [[Trader-owned Shops#List_of_Current_Shops|list of Trader-owned shops]]. This script creates a list of shops for this page.

#Open Shoplist-Elanthipedia.txt
#Replace the |-| with |-''linebreak''|
#Copy and paste the contents to List of Current Shops.


==Triggers==
==Triggers==


<pre>#trigger {^(Behind|In|On|Under) the (.+), you see:$} {#var shop2 $2} {shop}
<pre>#trigger {^(Behind|In|On|Under) the (.*), you see:$} {#var shop2 $2} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+) bronze (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_0 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) copper (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+) copper (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) bronze (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_0 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+) gold (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) silver (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_00 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+) platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_0000 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) gold (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+) silver (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_00 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_0000 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000_0000 $shop2 $shopcity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000_0000 $shop2 $ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.+) for (\d+\.\d+)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000_000 $shop2 $shopcity} {shop}</pre>
#trigger {^\s+(a|an|some|the) (.*) for (\d*\.\d*)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date $time $2 $roomname $3_000_000 $shop2 $ShopCity} {shop}
#trigger {^It has been (\d*) years, (\d*) days since the Victory of Lanival the Redeemer\.$} {#var year $1;#var yearday $2}
#trigger {^It is the (\d*)\w\w month of (\S+) the (.*) in the year of the (.*)\.$} {#var month $1;#var monthname $2;#var yearname $4}</pre>

==Changelog==

*'''2/26/2016''': Added more shop surfaces; added support for research triggers;
*'''8/2/2015''': Added more shop surfaces.
*'''12/6/2014''': Converted the ShopHours column to two separate columns (ShopOpen and ShopClose).
*'''7/10/2014''': Fixed issue with gametime triggers; updated documentation.
*'''1/8/2014''': Fixed issue with "'[Trader]'s Shop' will be open whenever the owner is in attendance" messaging
*'''12/31/2013''': Added automated setting of "GameDate" used in Elanthipedia shop list; added log window alerts; updated parsing of shop script status (changes made to all scripts).
*'''12/29/2013''': Reduced "false matches" in the Shop2 script (when you attempt to SHOP a surface that doesn't exist due to inventory erroneously setting the shop surface variables).
*'''5/15/2013''': Fixed triggers; scripts now close your containers before shopping to prevent conflicts with the SHOP verb.
*'''5/5/2013''': Scripts now create logs (both in Elanthipedia format and spreadsheet format) of shops, their owners, their hours, and their locations.
*'''3/23/2013''': Fixed error in shop2 match table.
*'''11/18/2012''': Fixed bug in Plaza scripts that sometimes caused them to hang when shops are unoccupied.
*'''11/6/2012''': Added support for more shop surfaces; reduced false matches.


==Scripts==
==Scripts==


==Shop2==
===GameTime===

This is the script that, with the above triggers, sets the current $GameDate variable, which is used in the [[Trader-owned_Shops#List_of_Current_Shops|list of Trader shops on Elanthipedia]]. It ''must'' be named '''gametime.cmd''' to work. (The other scripts run gametime when needed.)

<pre>send time
waitforre ^It is currently
pause .5

evalmath MONTHFACTOR $month-1
evalmath DAYFACTOR %MONTHFACTOR*40
evalmath MONTHDAY $yearday-%DAYFACTOR
math MONTHDAY add 1
put #var GameDate %MONTHDAY $monthname $year

AnduSet:
if %MONTHDAY >= 1 && %MONTHDAY <= 4 then
{
put #var andu 1
put #var anduname Kertandu
}
if %MONTHDAY >= 5 && %MONTHDAY <= 8 then
{
put #var andu 2
put #var anduname Hodandu
}
if %MONTHDAY >= 9 && %MONTHDAY <= 12 then
{
put #var andu 3
put #var anduname Evandu
}
if %MONTHDAY >= 13 && %MONTHDAY <= 16 then
{
put #var andu 4
put #var anduname Truffandu
}
if %MONTHDAY >= 17 && %MONTHDAY <= 20 then
{
put #var andu 5
put #var anduname Havrandu
}
if %MONTHDAY >= 21 && %MONTHDAY <= 24 then
{
put #var andu 6
put #var anduname Elandu
}
if %MONTHDAY >= 25 && %MONTHDAY <= 28 then
{
put #var andu 7
put #var anduname Chandu
}
if %MONTHDAY >= 29 && %MONTHDAY <= 32 then
{
put #var andu 8
put #var anduname Glythandu
}
if %MONTHDAY >= 33 && %MONTHDAY <= 36 then
{
put #var andu 9
put #var anduname Faeandu
}
if %MONTHDAY >= 37 && %MONTHDAY <= 40 then
{
put #var andu 10
put #var anduname Tamsandu
}

Output:
echo
echo year: $year ($yearname)
echo season: $Time.season
echo month: $month ($monthname)
echo andu/week: $andu ($anduname)
echo day of month: %MONTHDAY ($Time.timeOfDay)
echo day of year: $yearday
echo
echo calendar date: $anduname, $GameDate ($date)
echo
put #var save
put #parse GAMETIME SCRIPT DONE</pre>

===Close===

This is the script that closes your containers before shopping. (This prevents the SHOP verb from trying to interact with your own items.)

<pre>put close my $sheath
waitforre ^You|^That|^The|^What were you referring to
put close my $pack
waitforre ^You|^That|^The|^What were you referring to
put close my $lockpicks
waitforre ^You|^That|^The|^What were you referring to
put close my alchemist's kit
waitforre ^You|^That|^The|^What were you referring to
put close my thigh bag
waitforre ^You|^That|^The|^What were you referring to
put close my herb pouch
waitforre ^You|^That|^The|^What were you referring to
put close my gem pouch
put #parse SCRIPT DONE
exit</pre>

===Open===

This is the script that re-opens your containers at the end.

<pre>put open my $sheath
waitforre ^You|^That|^The|^What were you referring to
put open my $pack
waitforre ^You|^That|^The|^What were you referring to
put open my $lockpicks
waitforre ^You|^That|^The|^What were you referring to
put open my alchemist's kit
waitforre ^You|^That|^The|^What were you referring to
put open my thigh bag
waitforre ^You|^That|^The|^What were you referring to
put open my herb pouch
waitforre ^You|^That|^The|^What were you referring to
put #parse SCRIPT DONE
exit</pre>

===Shop2===


This is the script that actually shops each surface. It ''must'' be named '''shop2.cmd''' to work. (The other scripts run shop2 when needed.)
This is the script that actually shops each surface. It ''must'' be named '''shop2.cmd''' to work. (The other scripts run shop2 when needed.)
Line 50: Line 200:
setvar altar 0
setvar altar 0
setvar armoir 0
setvar armoir 0
setvar bale 0
setvar bar 0
setvar barn 0
setvar barn 0
setvar barrel 0
setvar barrel 0
Line 56: Line 208:
setvar bench 0
setvar bench 0
setvar bin 0
setvar bin 0
setvar block 0
setvar blossom 0
setvar boar 0
setvar board 0
setvar board 0
setvar bookcase 0
setvar bookcase 0
setvar bookshelf 0
setvar bookshelves 0
setvar bookstand 0
setvar box 0
setvar box 0
setvar branch 0
setvar breakfront 0
setvar breakfront 0
setvar broomstick 0
setvar bucket 0
setvar bucket 0
setvar buffet 0
setvar buffet 0
setvar bull 0
setvar bull 0
setvar bureau 0
setvar bureau 0
setvar bust 0
setvar butterflies 0
setvar butterfly 0
setvar cabinet 0
setvar cabinet 0
setvar carpet 0
setvar carpet 0
Line 70: Line 233:
setvar case 0
setvar case 0
setvar catalog 0
setvar catalog 0
setvar cauldron 0
setvar chair 0
setvar chair 0
setvar chest 0
setvar chest 0
setvar closet 0
setvar closet 0
setvar cloud 0
setvar coffer 0
setvar container 0
setvar cord 0
setvar cord 0
setvar cornucopia 0
setvar corral 0
setvar corral 0
setvar cot 0
setvar cot 0
setvar counter 0
setvar counter 0
setvar countertop 0
setvar cradle 0
setvar cradle 0
setvar crate 0
setvar crate 0
setvar cupboard 0
setvar cushion 0
setvar desk 0
setvar desk 0
setvar display 0
setvar display 0
setvar drawer 0
setvar drawer 0
setvar dresser 0
setvar dresser 0
setvar drum 0
setvar dummies 0
setvar dummy 0
setvar dummy 0
setvar easel 0
setvar endtable 0
setvar endtable 0
setvar fence 0
setvar firepit 0
setvar footlocker 0
setvar footrest 0
setvar footrest 0
setvar fountain 0
setvar fountain 0
setvar framework 0
setvar framework 0
setvar garderobe 0
setvar garderobe 0
setvar goblin 0
setvar gourd 0
setvar grinder 0
setvar hand 0
setvar hanger 0
setvar hanger 0
setvar hatstand 0
setvar hatstand 0
Line 96: Line 275:
setvar hole 0
setvar hole 0
setvar hook 0
setvar hook 0
setvar hooks 0
setvar horse 0
setvar horse 0
setvar jar 0
setvar jar 0
setvar keg 0
setvar lattice 0
setvar lattice 0
setvar locker 0
setvar locker 0
setvar lowboy 0
setvar mannequin 0
setvar mannequin 0
setvar mantel 0
setvar mantle 0
setvar mantle 0
setvar moon 0
setvar net 0
setvar net 0
setvar niche 0
setvar ogre 0
setvar pail 0
setvar pail 0
setvar pallet 0
setvar panel 0
setvar peccaries 0
setvar peccary 0
setvar pedestal 0
setvar pedestal 0
setvar peg 0
setvar peg 0
setvar pegboard 0
setvar pew 0
setvar pillow 0
setvar pipe 0
setvar pipe 0
setvar pit 0
setvar plank 0
setvar plank 0
setvar planter 0
setvar planter 0
setvar platter 0
setvar platter 0
setvar plinth 0
setvar plinth 0
setvar podium 0
setvar pole 0
setvar pole 0
setvar post 0
setvar pumpkin 0
setvar quilt 0
setvar quilt 0
setvar rack 0
setvar rack 0
setvar rope 0
setvar rope 0
setvar rug 0
setvar rug 0
setvar salver 0
setvar sawhorse 0
setvar sawhorse 0
setvar shelf 0
setvar shelf 0
Line 121: Line 319:
setvar shelves 0
setvar shelves 0
setvar showcase 0
setvar showcase 0
setvar sidebar 0
setvar sideboard 0
setvar sideboard 0
setvar skeleton 0
setvar skeleton 0
Line 127: Line 326:
setvar stable 0
setvar stable 0
setvar stand 0
setvar stand 0
setvar star 0
setvar statue 0
setvar stool 0
setvar stool 0
setvar stove 0
setvar stump 0
setvar sun 0
setvar table 0
setvar table 0
setvar tomb 0
setvar tomb 0
Line 133: Line 337:
setvar tree 0
setvar tree 0
setvar trestle 0
setvar trestle 0
setvar trough 0
setvar trunk 0
setvar trunk 0
setvar turtle 0
setvar turtle 0
setvar urn 0
setvar urn 0
setvar valet 0
setvar valet 0
setvar vanities 0
setvar vanity 0
setvar vanity 0
setvar vat 0
setvar wall 0
setvar wall 0
setvar wardrobe 0
setvar wardrobe 0
setvar waterwheel 0
setvar waterwheel 0
setvar web 0
setvar web 0
setvar webbing 0
setvar workbench 0
setvar workbench 0
setvar worktable 0
setvar worktable 0


ACTION setvar altar 1 WHEN altar
ACTION setvar altar 1 WHEN ^\s+(an?|some|the).+\baltare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar armoir 1 WHEN armoir
ACTION setvar armoir 1 WHEN ^\s+(an?|some|the).+\barmoire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barn 1 WHEN \bbarns?\b
ACTION setvar bale 1 WHEN ^\s+(an?|some|the).+\bbalee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barrel 1 WHEN barrel
ACTION setvar bar 1 WHEN ^\s+(an?|some|the).+\bbare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar basket 1 WHEN basket
ACTION setvar barn 1 WHEN ^\s+(an?|some|the).+\bbarne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bedroll 1 WHEN bedroll
ACTION setvar barrel 1 WHEN ^\s+(an?|some|the).+\bbarrele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bench 1 WHEN bench
ACTION setvar basket 1 WHEN ^\s+(an?|some|the).+\bbaskete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bin 1 WHEN \bbins?\b
ACTION setvar bedroll 1 WHEN ^\s+(an?|some|the).+\bbedrolle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar board 1 WHEN board
ACTION setvar bench 1 WHEN ^\s+(an?|some|the).+\bbenche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookcase 1 WHEN bookcase
ACTION setvar bin 1 WHEN ^\s+(an?|some|the).+\bbine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar box 1 WHEN \bboxe?s?\b
ACTION setvar block 1 WHEN ^\s+(an?|some|the).+\bblocke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar breakfront 1 WHEN breakfront
ACTION setvar blossom 1 WHEN ^\s+(an?|some|the).+\bblossome?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bucket 1 WHEN bucket
ACTION setvar boar 1 WHEN ^\s+(an?|some|the).+\bboare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar buffet 1 WHEN buffet
ACTION setvar board 1 WHEN ^\s+(an?|some|the).+\bboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bull 1 WHEN \bbulls?\b
ACTION setvar bookcase 1 WHEN ^\s+(an?|some|the).+\bbookcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bureau 1 WHEN bureau
ACTION setvar bookshelf 1 WHEN ^\s+(an?|some|the).+\bbookshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cabinet 1 WHEN cabinet
ACTION setvar bookshelves 1 WHEN ^\s+(an?|some|the).+\bbookshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carpet 1 WHEN carpet
ACTION setvar bookstand 1 WHEN ^\s+(an?|some|the).+\bbookstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cart 1 WHEN \bcarts?\b
ACTION setvar box 1 WHEN ^\s+(an?|some|the).+\bboxe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carton 1 WHEN carton
ACTION setvar branch 1 WHEN ^\s+(an?|some|the).+\bbranche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar case 1 WHEN \bcases?\b
ACTION setvar breakfront 1 WHEN ^\s+(an?|some|the).+\bbreakfronte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar catalog 1 WHEN catalog
ACTION setvar broomstick 1 WHEN ^\s+(an?|some|the).+\bbroomsticke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chair 1 WHEN chair
ACTION setvar bucket 1 WHEN ^\s+(an?|some|the).+\bbuckete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chest 1 WHEN chest
ACTION setvar buffet 1 WHEN ^\s+(an?|some|the).+\bbuffete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar closet 1 WHEN closet
ACTION setvar bull 1 WHEN ^\s+(an?|some|the).+\bbulle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cord 1 WHEN \bcord\b
ACTION setvar bureau 1 WHEN ^\s+(an?|some|the).+\bbureaue?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar corral 1 WHEN corral
ACTION setvar bust 1 WHEN ^\s+(an?|some|the).+\bbuste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cot 1 WHEN \bcots?\b
ACTION setvar butterflies 1 WHEN ^\s+(an?|some|the).+\bbutterflies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar counter 1 WHEN counter
ACTION setvar butterfly 1 WHEN ^\s+(an?|some|the).+\bbutterflye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cradle 1 WHEN cradle
ACTION setvar cabinet 1 WHEN ^\s+(an?|some|the).+\bcabinete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar crate 1 WHEN \bcrates?\b
ACTION setvar carpet 1 WHEN ^\s+(an?|some|the).+\bcarpete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar desk 1 WHEN \bdesks?\b
ACTION setvar cart 1 WHEN ^\s+(an?|some|the).+\bcarte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar display 1 WHEN display
ACTION setvar carton 1 WHEN ^\s+(an?|some|the).+\bcartone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar drawer 1 WHEN drawer
ACTION setvar case 1 WHEN ^\s+(an?|some|the).+\bcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dresser 1 WHEN dresser
ACTION setvar catalog 1 WHEN ^\s+(an?|some|the).+\bcataloge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dummy 1 WHEN dummy
ACTION setvar cauldron 1 WHEN ^\s+(an?|some|the).+\bcauldrone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar endtable 1 WHEN endtable
ACTION setvar chair 1 WHEN ^\s+(an?|some|the).+\bchaire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar footrest 1 WHEN footrest
ACTION setvar chest 1 WHEN ^\s+(an?|some|the).+\bcheste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar fountain 1 WHEN fountain
ACTION setvar closet 1 WHEN ^\s+(an?|some|the).+\bclosete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar framework 1 WHEN framework
ACTION setvar cloud 1 WHEN ^\s+(an?|some|the).+\bcloude?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar garderobe 1 WHEN garderobe
ACTION setvar coffer 1 WHEN ^\s+(an?|some|the).+\bcoffere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hanger 1 WHEN hanger
ACTION setvar container 1 WHEN ^\s+(an?|some|the).+\bcontainere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hatstand 1 WHEN hatstand
ACTION setvar cord 1 WHEN ^\s+(an?|some|the).+\bcorde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar head 1 WHEN \bheads?\b
ACTION setvar cornucopia 1 WHEN ^\s+(an?|some|the).+\bcornucopiae?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar highboy 1 WHEN highboy
ACTION setvar corral 1 WHEN ^\s+(an?|some|the).+\bcorrale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hole 1 WHEN \bholes?\b
ACTION setvar cot 1 WHEN ^\s+(an?|some|the).+\bcote?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hook 1 WHEN \bhooks?\b
ACTION setvar counter 1 WHEN ^\s+(an?|some|the).+\bcountere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar horse 1 WHEN \bhorses?\b
ACTION setvar cradle 1 WHEN ^\s+(an?|some|the).+\bcradlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar jar 1 WHEN \bjars?\b
ACTION setvar crate 1 WHEN ^\s+(an?|some|the).+\bcratee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar lattice 1 WHEN lattice
ACTION setvar cupboard 1 WHEN ^\s+(an?|some|the).+\bcupboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar locker 1 WHEN locker
ACTION setvar cushion 1 WHEN ^\s+(an?|some|the).+\bcushione?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mannequin 1 WHEN mannequin
ACTION setvar desk 1 WHEN ^\s+(an?|some|the).+\bdeske?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mantle 1 WHEN mantle
ACTION setvar display 1 WHEN ^\s+(an?|some|the).+\bdisplaye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar net 1 WHEN \bnets?\b
ACTION setvar drawer 1 WHEN ^\s+(an?|some|the).+\bdrawere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pail 1 WHEN \bpail\b
ACTION setvar dresser 1 WHEN ^\s+(an?|some|the).+\bdressere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pedestal 1 WHEN pedestal
ACTION setvar drum 1 WHEN ^\s+(an?|some|the).+\bdrume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peg 1 WHEN \bpeg\b
ACTION setvar dummies 1 WHEN ^\s+(an?|some|the).+\bdummies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pipe 1 WHEN \bpipes?\b
ACTION setvar dummy 1 WHEN ^\s+(an?|some|the).+\bdummye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plank 1 WHEN plank
ACTION setvar easel 1 WHEN ^\s+(an?|some|the).+\beasele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar planter 1 WHEN planter
ACTION setvar endtable 1 WHEN ^\s+(an?|some|the).+\bendtablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar platter 1 WHEN platter
ACTION setvar fence 1 WHEN ^\s+(an?|some|the).+\bfencee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plinth 1 WHEN plinth
ACTION setvar firepit 1 WHEN ^\s+(an?|some|the).+\bfirepite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pole 1 WHEN \bpoles?\b
ACTION setvar footlocker 1 WHEN ^\s+(an?|some|the).+\bfootlockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar quilt 1 WHEN \bquilts?\b
ACTION setvar footrest 1 WHEN ^\s+(an?|some|the).+\bfootreste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rack 1 WHEN \bracks?\b
ACTION setvar fountain 1 WHEN ^\s+(an?|some|the).+\bfountaine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rope 1 WHEN \brope\b
ACTION setvar framework 1 WHEN ^\s+(an?|some|the).+\bframeworke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rug 1 WHEN \brugs?\b
ACTION setvar garderobe 1 WHEN ^\s+(an?|some|the).+\bgarderobee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sawhorse 1 WHEN sawhorse
ACTION setvar goblin 1 WHEN ^\s+(an?|some|the).+\bgobline?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelf 1 WHEN shelf
ACTION setvar gourd 1 WHEN ^\s+(an?|some|the).+\bgourde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shell 1 WHEN shell
ACTION setvar grinder 1 WHEN ^\s+(an?|some|the).+\bgrindere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelves 1 WHEN shelves
ACTION setvar hand 1 WHEN ^\s+(an?|some|the).+\bhande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar showcase 1 WHEN showcase
ACTION setvar hanger 1 WHEN ^\s+(an?|some|the).+\bhangere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sideboard 1 WHEN sideboard
ACTION setvar hatstand 1 WHEN ^\s+(an?|some|the).+\bhatstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skeleton 1 WHEN skeleton
ACTION setvar head 1 WHEN ^\s+(an?|some|the).+\bheade?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skippet 1 WHEN skippet
ACTION setvar highboy 1 WHEN ^\s+(an?|some|the).+\bhighboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar spittoon 1 WHEN spittoon
ACTION setvar hole 1 WHEN ^\s+(an?|some|the).+\bholee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stable 1 WHEN stable
ACTION setvar hook 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stand 1 WHEN stand
ACTION setvar hooks 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stool 1 WHEN stool
ACTION setvar horse 1 WHEN ^\s+(an?|some|the).+\bhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar table 1 WHEN \btables?\b
ACTION setvar jar 1 WHEN ^\s+(an?|some|the).+\bjare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tomb 1 WHEN \btombs?\b
ACTION setvar keg 1 WHEN ^\s+(an?|some|the).+\bkege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tray 1 WHEN \btray?\b
ACTION setvar lattice 1 WHEN ^\s+(an?|some|the).+\blatticee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tree 1 WHEN \btrees?\b
ACTION setvar locker 1 WHEN ^\s+(an?|some|the).+\blockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trestle 1 WHEN trestle
ACTION setvar lowboy 1 WHEN ^\s+(an?|some|the).+\blowboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trunk 1 WHEN trunk
ACTION setvar mannequin 1 WHEN ^\s+(an?|some|the).+\bmannequine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar turtle 1 WHEN turtle
ACTION setvar mantel 1 WHEN ^\s+(an?|some|the).+\bmantele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar urn 1 WHEN \burns?\b
ACTION setvar mantle 1 WHEN ^\s+(an?|some|the).+\bmantlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar valet 1 WHEN valet
ACTION setvar moon 1 WHEN ^\s+(an?|some|the).+\bmoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanity 1 WHEN vanity
ACTION setvar net 1 WHEN ^\s+(an?|some|the).+\bnete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wall 1 WHEN \bwalls?\b
ACTION setvar niche 1 WHEN ^\s+(an?|some|the).+\bnichee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wardrobe 1 WHEN wardrobe
ACTION setvar ogre 1 WHEN ^\s+(an?|some|the).+\bogree?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar waterwheel 1 WHEN waterwheel
ACTION setvar pail 1 WHEN ^\s+(an?|some|the).+\bpaile?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar web 1 WHEN \bwebs?\b
ACTION setvar pallet 1 WHEN ^\s+(an?|some|the).+\bpallete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar workbench 1 WHEN workbench
ACTION setvar panel 1 WHEN ^\s+(an?|some|the).+\bpanele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar worktable 1 WHEN worktable
ACTION setvar peccaries 1 WHEN ^\s+(an?|some|the).+\bpeccaries\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peccary 1 WHEN ^\s+(an?|some|the).+\bpeccarye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pedestal 1 WHEN ^\s+(an?|some|the).+\bpedestale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peg 1 WHEN ^\s+(an?|some|the).+\bpege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pegboard 1 WHEN ^\s+(an?|some|the).+\bpegboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pew 1 WHEN ^\s+(an?|some|the).+\bpewe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pillow 1 WHEN ^\s+(an?|some|the).+\bpillowe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pipe 1 WHEN ^\s+(an?|some|the).+\bpipee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pit 1 WHEN ^\s+(an?|some|the).+\bpite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plank 1 WHEN ^\s+(an?|some|the).+\bplanke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar planter 1 WHEN ^\s+(an?|some|the).+\bplantere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar platter 1 WHEN ^\s+(an?|some|the).+\bplattere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plinth 1 WHEN ^\s+(an?|some|the).+\bplinthe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar podium 1 WHEN ^\s+(an?|some|the).+\bpodiume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pole 1 WHEN ^\s+(an?|some|the).+\bpolee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar post 1 WHEN ^\s+(an?|some|the).+\bposte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pumpkin 1 WHEN ^\s+(an?|some|the).+\bpumpkine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar quilt 1 WHEN ^\s+(an?|some|the).+\bquilte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rack 1 WHEN ^\s+(an?|some|the).+\bracke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rope 1 WHEN ^\s+(an?|some|the).+\bropee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rug 1 WHEN ^\s+(an?|some|the).+\bruge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar salver 1 WHEN ^\s+(an?|some|the).+\bsalvere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sawhorse 1 WHEN ^\s+(an?|some|the).+\bsawhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelf 1 WHEN ^\s+(an?|some|the).+\bshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shell 1 WHEN ^\s+(an?|some|the).+\bshelle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelves 1 WHEN ^\s+(an?|some|the).+\bshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar showcase 1 WHEN ^\s+(an?|some|the).+\bshowcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sidebar 1 WHEN ^\s+(an?|some|the).+\bsidebare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sideboard 1 WHEN ^\s+(an?|some|the).+\bsideboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skeleton 1 WHEN ^\s+(an?|some|the).+\bskeletone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skippet 1 WHEN ^\s+(an?|some|the).+\bskippete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar spittoon 1 WHEN ^\s+(an?|some|the).+\bspittoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stable 1 WHEN ^\s+(an?|some|the).+\bstablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stand 1 WHEN ^\s+(an?|some|the).+\bstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar star 1 WHEN ^\s+(an?|some|the).+\bstare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar statue 1 WHEN ^\s+(an?|some|the).+\bstatues?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stool 1 WHEN ^\s+(an?|some|the).+\bstoole?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stove 1 WHEN ^\s+(an?|some|the).+\bstovee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stump 1 WHEN ^\s+(an?|some|the).+\bstumpe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sun 1 WHEN ^\s+(an?|some|the).+\bsune?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar table 1 WHEN ^\s+(an?|some|the).+\btablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tomb 1 WHEN ^\s+(an?|some|the).+\btombe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tray 1 WHEN ^\s+(an?|some|the).+\btraye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tree 1 WHEN ^\s+(an?|some|the).+\btreee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trestle 1 WHEN ^\s+(an?|some|the).+\btrestlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trough 1 WHEN ^\s+(an?|some|the).+\btroughe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trunk 1 WHEN ^\s+(an?|some|the).+\btrunke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar turtle 1 WHEN ^\s+(an?|some|the).+\bturtlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar urn 1 WHEN ^\s+(an?|some|the).+\burne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar valet 1 WHEN ^\s+(an?|some|the).+\bvalete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanities 1 WHEN ^\s+(an?|some|the).+\bvanities\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanity 1 WHEN ^\s+(an?|some|the).+\bvanitye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vat 1 WHEN ^\s+(an?|some|the).+\bvate?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wall 1 WHEN ^\s+(an?|some|the).+\bwalle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wardrobe 1 WHEN ^\s+(an?|some|the).+\bwardrobee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar waterwheel 1 WHEN ^\s+(an?|some|the).+\bwaterwheele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar web 1 WHEN ^\s+(an?|some|the).+\bwebe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar webbing 1 WHEN ^\s+(an?|some|the).+\bwebbinge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar workbench 1 WHEN ^\s+(an?|some|the).+\bworkbenche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar worktable 1 WHEN ^\s+(an?|some|the).+\bworktablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))


send shop
send shop
Line 245: Line 512:


startshop:
startshop:

if %altar = 1 then gosub shopvar altar
if %altar = 1 then gosub shopvar altar
if %armoir = 1 then gosub shopvar armoir
if %armoir = 1 then gosub shopvar armoir
if %bale = 1 then gosub shopvar bale
if %bar = 1 then gosub shopvar bar
if %barn = 1 then gosub shopvar barn
if %barn = 1 then gosub shopvar barn
if %barrel = 1 then gosub shopvar barrel
if %barrel = 1 then gosub shopvar barrel
Line 254: Line 522:
if %bench = 1 then gosub shopvar bench
if %bench = 1 then gosub shopvar bench
if %bin = 1 then gosub shopvar bin
if %bin = 1 then gosub shopvar bin
if %block = 1 then gosub shopvar block
if %blossom = 1 then gosub shopvar blossom
if %boar = 1 then gosub shopvar boar
if %board = 1 then gosub shopvar board
if %board = 1 then gosub shopvar board
if %bookcase = 1 then gosub shopvar bookcase
if %bookcase = 1 then gosub shopvar bookcase
if %bookshelf = 1 then gosub shopvar bookshelf
if %bookshelves = 1 then gosub shopvar bookshelves
if %bookstand = 1 then gosub shopvar bookstand
if %box = 1 then gosub shopvar box
if %box = 1 then gosub shopvar box
if %branch = 1 then gosub shopvar branch
if %breakfront = 1 then gosub shopvar breakfront
if %breakfront = 1 then gosub shopvar breakfront
if %broomstick = 1 then gosub shopvar broomstick
if %bucket = 1 then gosub shopvar bucket
if %bucket = 1 then gosub shopvar bucket
if %buffet = 1 then gosub shopvar buffet
if %buffet = 1 then gosub shopvar buffet
if %bull = 1 then gosub shopvar bull
if %bull = 1 then gosub shopvar bull
if %bureau = 1 then gosub shopvar bureau
if %bureau = 1 then gosub shopvar bureau
if %bust = 1 then gosub shopvar bust
if %butterflies = 1 then gosub shopvar butterflies
if %butterfly = 1 then gosub shopvar butterfly
if %cabinet = 1 then gosub shopvar cabinet
if %cabinet = 1 then gosub shopvar cabinet
if %carpet = 1 then gosub shopvar carpet
if %carpet = 1 then gosub shopvar carpet
Line 268: Line 547:
if %case = 1 then gosub shopvar case
if %case = 1 then gosub shopvar case
if %catalog = 1 then gosub shopvar catalog
if %catalog = 1 then gosub shopvar catalog
if %cauldron = 1 then gosub shopvar cauldron
if %chair = 1 then gosub shopvar chair
if %chair = 1 then gosub shopvar chair
if %chest = 1 then gosub shopvar chest
if %chest = 1 then gosub shopvar chest
if %closet = 1 then gosub shopvar closet
if %closet = 1 then gosub shopvar closet
if %cloud = 1 then gosub shopvar cloud
if %coffer = 1 then gosub shopvar coffer
if %container = 1 then gosub shopvar container
if %cord = 1 then gosub shopvar cord
if %cord = 1 then gosub shopvar cord
if %cornucopia = 1 then gosub shopvar cornucopia
if %corral = 1 then gosub shopvar corral
if %corral = 1 then gosub shopvar corral
if %cot = 1 then gosub shopvar cot
if %cot = 1 then gosub shopvar cot
Line 277: Line 561:
if %cradle = 1 then gosub shopvar cradle
if %cradle = 1 then gosub shopvar cradle
if %crate = 1 then gosub shopvar crate
if %crate = 1 then gosub shopvar crate
if %cupboard = 1 then gosub shopvar cupboard
if %cushion = 1 then gosub shopvar cushion
if %desk = 1 then gosub shopvar desk
if %desk = 1 then gosub shopvar desk
if %display = 1 then gosub shopvar display
if %display = 1 then gosub shopvar display
if %drawer = 1 then gosub shopvar drawer
if %drawer = 1 then gosub shopvar drawer
if %dresser = 1 then gosub shopvar dresser
if %dresser = 1 then gosub shopvar dresser
if %drum = 1 then gosub shopvar drum
if %dummies = 1 then gosub shopvar dummies
if %dummy = 1 then gosub shopvar dummy
if %dummy = 1 then gosub shopvar dummy
if %easel = 1 then gosub shopvar easel
if %endtable = 1 then gosub shopvar endtable
if %endtable = 1 then gosub shopvar endtable
if %fence = 1 then gosub shopvar fence
if %firepit = 1 then gosub shopvar firepit
if %footlocker = 1 then gosub shopvar footlocker
if %footrest = 1 then gosub shopvar footrest
if %footrest = 1 then gosub shopvar footrest
if %fountain = 1 then gosub shopvar fountain
if %fountain = 1 then gosub shopvar fountain
if %framework = 1 then gosub shopvar framework
if %framework = 1 then gosub shopvar framework
if %garderobe = 1 then gosub shopvar garderobe
if %garderobe = 1 then gosub shopvar garderobe
if %goblin = 1 then gosub shopvar goblin
if %gourd = 1 then gosub shopvar gourd
if %grinder = 1 then gosub shopvar grinder
if %hand = 1 then gosub shopvar hand
if %hanger = 1 then gosub shopvar hanger
if %hanger = 1 then gosub shopvar hanger
if %hatstand = 1 then gosub shopvar hatstand
if %hatstand = 1 then gosub shopvar hatstand
Line 293: Line 589:
if %hole = 1 then gosub shopvar hole
if %hole = 1 then gosub shopvar hole
if %hook = 1 then gosub shopvar hook
if %hook = 1 then gosub shopvar hook
if %hooks = 1 then gosub shopvar hooks
if %horse = 1 then gosub shopvar horse
if %horse = 1 then gosub shopvar horse
if %jar = 1 then gosub shopvar jar
if %jar = 1 then gosub shopvar jar
if %keg = 1 then gosub shopvar keg
if %lattice = 1 then gosub shopvar lattice
if %lattice = 1 then gosub shopvar lattice
if %locker = 1 then gosub shopvar locker
if %locker = 1 then gosub shopvar locker
if %lowboy = 1 then gosub shopvar lowboy
if %mannequin = 1 then gosub shopvar mannequin
if %mannequin = 1 then gosub shopvar mannequin
if %mantel = 1 then gosub shopvar mantel
if %mantle = 1 then gosub shopvar mantle
if %mantle = 1 then gosub shopvar mantle
if %moon = 1 then gosub shopvar moon
if %net = 1 then gosub shopvar net
if %net = 1 then gosub shopvar net
if %niche = 1 then gosub shopvar niche
if %ogre = 1 then gosub shopvar ogre
if %pail = 1 then gosub shopvar pail
if %pail = 1 then gosub shopvar pail
if %pallet = 1 then gosub shopvar pallet
if %panel = 1 then gosub shopvar panel
if %peccaries = 1 then gosub shopvar peccaries
if %peccary = 1 then gosub shopvar peccary
if %pedestal = 1 then gosub shopvar pedestal
if %pedestal = 1 then gosub shopvar pedestal
if %peg = 1 then gosub shopvar peg
if %peg = 1 then gosub shopvar peg
if %pegboard = 1 then gosub shopvar pegboard
if %pew = 1 then gosub shopvar pew
if %pillow = 1 then gosub shopvar pillow
if %pipe = 1 then gosub shopvar pipe
if %pipe = 1 then gosub shopvar pipe
if %pit = 1 then gosub shopvar pit
if %plank = 1 then gosub shopvar plank
if %plank = 1 then gosub shopvar plank
if %planter = 1 then gosub shopvar planter
if %planter = 1 then gosub shopvar planter
if %platter = 1 then gosub shopvar platter
if %platter = 1 then gosub shopvar platter
if %plinth = 1 then gosub shopvar plinth
if %plinth = 1 then gosub shopvar plinth
if %podium = 1 then gosub shopvar podium
if %pole = 1 then gosub shopvar pole
if %pole = 1 then gosub shopvar pole
if %post = 1 then gosub shopvar post
if %pumpkin = 1 then gosub shopvar pumpkin
if %quilt = 1 then gosub shopvar quilt
if %quilt = 1 then gosub shopvar quilt
if %rack = 1 then gosub shopvar rack
if %rack = 1 then gosub shopvar rack
if %rope = 1 then gosub shopvar rope
if %rope = 1 then gosub shopvar rope
if %rug = 1 then gosub shopvar rug
if %rug = 1 then gosub shopvar rug
if %salver = 1 then gosub shopvar salver
if %sawhorse = 1 then gosub shopvar sawhorse
if %sawhorse = 1 then gosub shopvar sawhorse
if %shelf = 1 then gosub shopvar shelf
if %shelf = 1 then gosub shopvar shelf
Line 318: Line 633:
if %shelves = 1 then gosub shopvar shelves
if %shelves = 1 then gosub shopvar shelves
if %showcase = 1 then gosub shopvar showcase
if %showcase = 1 then gosub shopvar showcase
if %sidebar = 1 then gosub shopvar sidebar
if %sideboard = 1 then gosub shopvar sideboard
if %sideboard = 1 then gosub shopvar sideboard
if %skeleton = 1 then gosub shopvar skeleton
if %skeleton = 1 then gosub shopvar skeleton
Line 324: Line 640:
if %stable = 1 then gosub shopvar stable
if %stable = 1 then gosub shopvar stable
if %stand = 1 then gosub shopvar stand
if %stand = 1 then gosub shopvar stand
if %star = 1 then gosub shopvar star
if %statue = 1 then gosub shopvar statue
if %stool = 1 then gosub shopvar stool
if %stool = 1 then gosub shopvar stool
if %stove = 1 then gosub shopvar stove
if %stump = 1 then gosub shopvar stump
if %sun = 1 then gosub shopvar sun
if %table = 1 then gosub shopvar table
if %table = 1 then gosub shopvar table
if %tomb = 1 then gosub shopvar tomb
if %tomb = 1 then gosub shopvar tomb
Line 330: Line 651:
if %tree = 1 then gosub shopvar tree
if %tree = 1 then gosub shopvar tree
if %trestle = 1 then gosub shopvar trestle
if %trestle = 1 then gosub shopvar trestle
if %trough = 1 then gosub shopvar trough
if %trunk = 1 then gosub shopvar trunk
if %trunk = 1 then gosub shopvar trunk
if %turtle = 1 then gosub shopvar turtle
if %turtle = 1 then gosub shopvar turtle
if %urn = 1 then gosub shopvar urn
if %urn = 1 then gosub shopvar urn
if %valet = 1 then gosub shopvar valet
if %valet = 1 then gosub shopvar valet
if %vanities = 1 then gosub shopvar vanities
if %vanity = 1 then gosub shopvar vanity
if %vanity = 1 then gosub shopvar vanity
if %vat = 1 then gosub shopvar vat
if %wall = 1 then gosub shopvar wall
if %wall = 1 then gosub shopvar wall
if %wardrobe = 1 then gosub shopvar wardrobe
if %wardrobe = 1 then gosub shopvar wardrobe
if %waterwheel = 1 then gosub shopvar waterwheel
if %waterwheel = 1 then gosub shopvar waterwheel
if %web = 1 then gosub shopvar web
if %web = 1 then gosub shopvar web
if %webbing = 1 then gosub shopvar webbing
if %workbench = 1 then gosub shopvar workbench
if %workbench = 1 then gosub shopvar workbench
if %worktable = 1 then gosub shopvar worktable
if %worktable = 1 then gosub shopvar worktable
Line 350: Line 675:
send shop first $shopper
send shop first $shopper
matchre shop2 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop2 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 356: Line 681:
send shop second $shopper
send shop second $shopper
matchre shop3 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop3 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 362: Line 687:
send shop third $shopper
send shop third $shopper
matchre shop4 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop4 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 368: Line 693:
send shop fourth $shopper
send shop fourth $shopper
matchre shop5 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop5 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 374: Line 699:
send shop fifth $shopper
send shop fifth $shopper
matchre shop6 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop6 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 380: Line 705:
send shop sixth $shopper
send shop sixth $shopper
matchre shop7 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop7 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 386: Line 711:
send shop seventh $shopper
send shop seventh $shopper
matchre shop8 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop8 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 392: Line 717:
send shop eighth $shopper
send shop eighth $shopper
matchre shop9 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop9 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 398: Line 723:
send shop ninth $shopper
send shop ninth $shopper
matchre shop10 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop10 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 404: Line 729:
send shop tenth $shopper
send shop tenth $shopper
matchre shop11 ^\[Type SHOP \[GOOD\] to see some details about
matchre shop11 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you referring to|^You can buy this item if you like
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait
matchwait


Line 421: Line 746:


<pre>start:
<pre>start:
put #class racial on
put #class rp on
put #class rp on
put #class shop on
put #class shop on
put #class combat off
put #class arrive off
put #class arrive off
put #class combat off
put #class joust off
put #var currency Kronars
put #var currency Kronars
put #var shopcity Crossing
put #var ShopCity Crossing
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
send stop play
waitforre ^You stop|^In the name
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300


put #echo >Log start logging Crossing shop inventory
send read listings board
send read listings board
waitforre shops? (is|are) open\.$
waitforre shops? (is|are) open\.$


put #log >Shoplog.txt The following items are sold at Crossing's Market Plaza and are priced in copper Kronars [$date $time]:
put #log >Shoplog.txt The following items are sold at Crossing's Market Plaza and are priced in copper Kronars [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Crossing's Market Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Market Plaza, (.+)\]$
action setvariable RoomName $2 when ^\[Market Plaza (Cellar|Upstairs), (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopOpen %ShopClose when It is currently (open|closed)\.$


move north
move north
Line 620: Line 977:
send look arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 628: Line 985:
send look door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 636: Line 993:
send look entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 651: Line 1,008:


done:
done:
put #log >Shoplist-Elanthipedia.txt |}
put #class arrive on
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Crossing shop inventory
put #class arrive off
put #class shop off
put #class shop off
put .open
send hum $hum
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit</pre>
exit</pre>


Line 659: Line 1,023:


<pre>start:
<pre>start:
put #class racial on
put #class rp on
put #class rp on
put #class shop on
put #class shop on
put #class combat off
put #class arrive off
put #class arrive off
put #class combat off
put #class joust off
put #var currency Lirums
put #var currency Lirums
put #var shopcity Riverhaven
put #var ShopCity Riverhaven
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
send stop play
waitforre ^You stop|^In the name
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300


put #echo >Log start logging Riverhaven shop inventory
send read listings board
send read listings board
waitforre shops? (is|are) open\.$
waitforre shops? (is|are) open\.$


put #log >Shoplog.txt The following items are sold at Riverhaven's Knight's Hall and are priced in copper Lirums [$date $time]:
put #log >Shoplog.txt The following items are sold at Riverhaven's Knight's Hall and are priced in copper Lirums [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Riverhaven's Knight's Hall===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Knight's Hall, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopOpen %ShopClose when It is currently (open|closed)\.$


move north
move north
Line 749: Line 1,144:
send look arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 757: Line 1,152:
send look door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 765: Line 1,160:
send look entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 780: Line 1,175:


done:
done:
put #log >Shoplist-Elanthipedia.txt |}
put #class arrive on
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Riverhaven shop inventory
put #class arrive off
put #class shop off
put #class shop off
put .open
send hum $hum
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit</pre>
exit</pre>


Line 788: Line 1,190:


<pre>start:
<pre>start:
put #class racial on
put #class rp on
put #class rp on
put #class shop on
put #class shop on
put #class combat off
put #class arrive off
put #class arrive off
put #class combat off
put #class joust off
put #var currency Dokoras
put #var currency Dokoras
put #var shopcity Shard
put #var ShopCity Shard
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
send stop play
waitforre ^You stop|^In the name
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300


put #echo >Log start logging Shard shop inventory
send read listings board
send read listings board
waitforre shops? (is|are) open\.$
waitforre shops? (is|are) open\.$


put #log >Shoplog.txt The following items are sold at Shard's Crystal Plaza and are priced in copper Dokoras [$date $time]:
put #log >Shoplog.txt The following items are sold at Shard's Crystal Plaza and are priced in copper Dokoras [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Shard's Crystal Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Crystal Plaza, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopOpen %ShopClose when It is currently (open|closed)\.$


move north
move north
Line 859: Line 1,292:
send look arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 867: Line 1,300:
send look door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 875: Line 1,308:
send look entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre shopinv ^'.+'.+It is currently open\.$
matchre return ^'.+'.+It is currently closed\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 1
matchwait 2
return
return


Line 890: Line 1,323:


done:
done:
put #log >Shoplist-Elanthipedia.txt |}
put #class arrive on
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Shard shop inventory
put #class arrive off
put #class shop off
put #class shop off
put .open
send hum $hum
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit</pre>
exit</pre>


==See Also==
==See Also==


*[[Trader-owned_Shops#List_of_Current_Shops|Trader-owned Shops]]: I periodically update this list of shops, their record owners, and their locations.
*[[Player_owned_shop#List_of_current_shops|Player owned shops]]: I periodically update this list of shops, their record owners, and their locations.
*[http://www.elanthia.org/TraderShops/ Trader Shop Inventory]: This is a spreadsheet that I made from the information logged by these triggers.
*[http://www.elanthia.org/TraderShops/ Trader Shop Inventory]: This is a spreadsheet that I made from the information logged by these triggers.

Latest revision as of 12:48, 23 May 2016

Trader Shop Inventory Logger (script)
Category information,Trader
Front-end Genie
Author Isharon


Description

These scripts and triggers will run through every Trader-owned shop in the market plazas and log inventory, making it easier to find what you want and compare prices. The data is stored in Shoplog.txt. The columns of data are separated by tabs so that you can copy and paste it to Excel for easy sorting. temp

Instructions

Syntax

Once installed, the triggers will do most of the work automatically. You simply need to start the appropriate script in the same room as the listings board. It will go from room to room, shopping at all of the shops and logging the results.

Making a Spreadsheet in Excel

Shop Inventory

Template: Here is a template that you can use to make your own spreadsheet.

  1. Open Shoplog.txt
  2. Delete the underscores ( _ ) from the price column.
  3. Delete the periods ( . ) from the price column.
  4. Copy and paste the data from Shoplog.txt to the first sheet (labeled Inventory) in the Excel document.
  5. To convert prices to plats, divide column E by 10000.
  6. To convert the prices from Lirums to Kronars, multiply column E by 1.25.
  7. To convert the prices from Dokoras to Kronars, multiply column E by 1.385.


If you need help using these features in Excel, see How to Use Microsoft Excel.

Shop List

Simply copy and paste the contents of Shoplist.txt to the second sheet (labeled Shops) of the Excel file.

Updating Elanthipedia's Shop List

Elanthipedia has a list of Trader-owned shops. This script creates a list of shops for this page.

  1. Open Shoplist-Elanthipedia.txt
  2. Replace the |-| with |-linebreak|
  3. Copy and paste the contents to List of Current Shops.

Triggers

#trigger {^(Behind|In|On|Under) the (.*), you see:$} {#var shop2 $2} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) copper (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) bronze (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_0	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) silver (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_00	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) gold (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_000	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*) platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_0000	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_000_0000	$shop2		$ShopCity} {shop}
#trigger {^\s+(a|an|some|the) (.*) for (\d*\.\d*)k platinum (Kronars|Lirums|Dokoras)$} {#log >Shoplog.txt $date	$time	$2	$roomname	$3_000_000	$shop2		$ShopCity} {shop}
#trigger {^It has been (\d*) years, (\d*) days since the Victory of Lanival the Redeemer\.$} {#var year $1;#var yearday $2}
#trigger {^It is the (\d*)\w\w month of (\S+) the (.*) in the year of the (.*)\.$} {#var month $1;#var monthname $2;#var yearname $4}

Changelog

  • 2/26/2016: Added more shop surfaces; added support for research triggers;
  • 8/2/2015: Added more shop surfaces.
  • 12/6/2014: Converted the ShopHours column to two separate columns (ShopOpen and ShopClose).
  • 7/10/2014: Fixed issue with gametime triggers; updated documentation.
  • 1/8/2014: Fixed issue with "'[Trader]'s Shop' will be open whenever the owner is in attendance" messaging
  • 12/31/2013: Added automated setting of "GameDate" used in Elanthipedia shop list; added log window alerts; updated parsing of shop script status (changes made to all scripts).
  • 12/29/2013: Reduced "false matches" in the Shop2 script (when you attempt to SHOP a surface that doesn't exist due to inventory erroneously setting the shop surface variables).
  • 5/15/2013: Fixed triggers; scripts now close your containers before shopping to prevent conflicts with the SHOP verb.
  • 5/5/2013: Scripts now create logs (both in Elanthipedia format and spreadsheet format) of shops, their owners, their hours, and their locations.
  • 3/23/2013: Fixed error in shop2 match table.
  • 11/18/2012: Fixed bug in Plaza scripts that sometimes caused them to hang when shops are unoccupied.
  • 11/6/2012: Added support for more shop surfaces; reduced false matches.

Scripts

GameTime

This is the script that, with the above triggers, sets the current $GameDate variable, which is used in the list of Trader shops on Elanthipedia. It must be named gametime.cmd to work. (The other scripts run gametime when needed.)

send time
waitforre ^It is currently
pause .5

evalmath MONTHFACTOR $month-1
evalmath DAYFACTOR %MONTHFACTOR*40
evalmath MONTHDAY $yearday-%DAYFACTOR
math MONTHDAY add 1
put #var GameDate %MONTHDAY $monthname $year

AnduSet:
if %MONTHDAY >= 1 && %MONTHDAY <= 4 then
{
put #var andu 1
put #var anduname Kertandu
}
if %MONTHDAY >= 5 && %MONTHDAY <= 8 then
{
put #var andu 2
put #var anduname Hodandu
}
if %MONTHDAY >= 9 && %MONTHDAY <= 12 then
{
put #var andu 3
put #var anduname Evandu
}
if %MONTHDAY >= 13 && %MONTHDAY <= 16 then
{
put #var andu 4
put #var anduname Truffandu
}
if %MONTHDAY >= 17 && %MONTHDAY <= 20 then
{
put #var andu 5
put #var anduname Havrandu
}
if %MONTHDAY >= 21 && %MONTHDAY <= 24 then
{
put #var andu 6
put #var anduname Elandu
}
if %MONTHDAY >= 25 && %MONTHDAY <= 28 then
{
put #var andu 7
put #var anduname Chandu
}
if %MONTHDAY >= 29 && %MONTHDAY <= 32 then
{
put #var andu 8
put #var anduname Glythandu
}
if %MONTHDAY >= 33 && %MONTHDAY <= 36 then
{
put #var andu 9
put #var anduname Faeandu
}
if %MONTHDAY >= 37 && %MONTHDAY <= 40 then
{
put #var andu 10
put #var anduname Tamsandu
}

Output:
echo
echo year:		$year ($yearname)
echo season:		$Time.season
echo month:		$month ($monthname)
echo andu/week:	$andu ($anduname)
echo day of month:	%MONTHDAY ($Time.timeOfDay)
echo day of year:	$yearday
echo
echo calendar date:	$anduname, $GameDate ($date)
echo
put #var save
put #parse GAMETIME SCRIPT DONE

Close

This is the script that closes your containers before shopping. (This prevents the SHOP verb from trying to interact with your own items.)

put close my $sheath
waitforre ^You|^That|^The|^What were you referring to
put close my $pack
waitforre ^You|^That|^The|^What were you referring to
put close my $lockpicks
waitforre ^You|^That|^The|^What were you referring to
put close my alchemist's kit
waitforre ^You|^That|^The|^What were you referring to
put close my thigh bag
waitforre ^You|^That|^The|^What were you referring to
put close my herb pouch
waitforre ^You|^That|^The|^What were you referring to
put close my gem pouch
put #parse SCRIPT DONE
exit

Open

This is the script that re-opens your containers at the end.

put open my $sheath
waitforre ^You|^That|^The|^What were you referring to
put open my $pack
waitforre ^You|^That|^The|^What were you referring to
put open my $lockpicks
waitforre ^You|^That|^The|^What were you referring to
put open my alchemist's kit
waitforre ^You|^That|^The|^What were you referring to
put open my thigh bag
waitforre ^You|^That|^The|^What were you referring to
put open my herb pouch
waitforre ^You|^That|^The|^What were you referring to
put #parse SCRIPT DONE
exit

Shop2

This is the script that actually shops each surface. It must be named shop2.cmd to work. (The other scripts run shop2 when needed.)

action goto end when ^There is nothing to buy here

setvar altar 0
setvar armoir 0
setvar bale 0
setvar bar 0
setvar barn 0
setvar barrel 0
setvar basket 0
setvar bedroll 0
setvar bench 0
setvar bin 0
setvar block 0
setvar blossom 0
setvar boar 0
setvar board 0
setvar bookcase 0
setvar bookshelf 0
setvar bookshelves 0
setvar bookstand 0
setvar box 0
setvar branch 0
setvar breakfront 0
setvar broomstick 0
setvar bucket 0
setvar buffet 0
setvar bull 0
setvar bureau 0
setvar bust 0
setvar butterflies 0
setvar butterfly 0
setvar cabinet 0
setvar carpet 0
setvar cart 0
setvar carton 0
setvar case 0
setvar catalog 0
setvar cauldron 0
setvar chair 0
setvar chest 0
setvar closet 0
setvar cloud 0
setvar coffer 0
setvar container 0
setvar cord 0
setvar cornucopia 0
setvar corral 0
setvar cot 0
setvar counter 0
setvar cradle 0
setvar crate 0
setvar cupboard 0
setvar cushion 0
setvar desk 0
setvar display 0
setvar drawer 0
setvar dresser 0
setvar drum 0
setvar dummies 0
setvar dummy 0
setvar easel 0
setvar endtable 0
setvar fence 0
setvar firepit 0
setvar footlocker 0
setvar footrest 0
setvar fountain 0
setvar framework 0
setvar garderobe 0
setvar goblin 0
setvar gourd 0
setvar grinder 0
setvar hand 0
setvar hanger 0
setvar hatstand 0
setvar head 0
setvar highboy 0
setvar hole 0
setvar hook 0
setvar hooks 0
setvar horse 0
setvar jar 0
setvar keg 0
setvar lattice 0
setvar locker 0
setvar lowboy 0
setvar mannequin 0
setvar mantel 0
setvar mantle 0
setvar moon 0
setvar net 0
setvar niche 0
setvar ogre 0
setvar pail 0
setvar pallet 0
setvar panel 0
setvar peccaries 0
setvar peccary 0
setvar pedestal 0
setvar peg 0
setvar pegboard 0
setvar pew 0
setvar pillow 0
setvar pipe 0
setvar pit 0
setvar plank 0
setvar planter 0
setvar platter 0
setvar plinth 0
setvar podium 0
setvar pole 0
setvar post 0
setvar pumpkin 0
setvar quilt 0
setvar rack 0
setvar rope 0
setvar rug 0
setvar salver 0
setvar sawhorse 0
setvar shelf 0
setvar shell 0
setvar shelves 0
setvar showcase 0
setvar sidebar 0
setvar sideboard 0
setvar skeleton 0
setvar skippet 0
setvar spittoon 0
setvar stable 0
setvar stand 0
setvar star 0
setvar statue 0
setvar stool 0
setvar stove 0
setvar stump 0
setvar sun 0
setvar table 0
setvar tomb 0
setvar tray 0
setvar tree 0
setvar trestle 0
setvar trough 0
setvar trunk 0
setvar turtle 0
setvar urn 0
setvar valet 0
setvar vanities 0
setvar vanity 0
setvar vat 0
setvar wall 0
setvar wardrobe 0
setvar waterwheel 0
setvar web 0
setvar webbing 0
setvar workbench 0
setvar worktable 0

ACTION setvar altar 1 WHEN ^\s+(an?|some|the).+\baltare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar armoir 1 WHEN ^\s+(an?|some|the).+\barmoire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bale 1 WHEN ^\s+(an?|some|the).+\bbalee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bar 1 WHEN ^\s+(an?|some|the).+\bbare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barn 1 WHEN ^\s+(an?|some|the).+\bbarne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barrel 1 WHEN ^\s+(an?|some|the).+\bbarrele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar basket 1 WHEN ^\s+(an?|some|the).+\bbaskete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bedroll 1 WHEN ^\s+(an?|some|the).+\bbedrolle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bench 1 WHEN ^\s+(an?|some|the).+\bbenche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bin 1 WHEN ^\s+(an?|some|the).+\bbine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar block 1 WHEN ^\s+(an?|some|the).+\bblocke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar blossom 1 WHEN ^\s+(an?|some|the).+\bblossome?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar boar 1 WHEN ^\s+(an?|some|the).+\bboare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar board 1 WHEN ^\s+(an?|some|the).+\bboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookcase 1 WHEN ^\s+(an?|some|the).+\bbookcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookshelf 1 WHEN ^\s+(an?|some|the).+\bbookshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookshelves 1 WHEN ^\s+(an?|some|the).+\bbookshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookstand 1 WHEN ^\s+(an?|some|the).+\bbookstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar box 1 WHEN ^\s+(an?|some|the).+\bboxe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar branch 1 WHEN ^\s+(an?|some|the).+\bbranche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar breakfront 1 WHEN ^\s+(an?|some|the).+\bbreakfronte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar broomstick 1 WHEN ^\s+(an?|some|the).+\bbroomsticke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bucket 1 WHEN ^\s+(an?|some|the).+\bbuckete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar buffet 1 WHEN ^\s+(an?|some|the).+\bbuffete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bull 1 WHEN ^\s+(an?|some|the).+\bbulle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bureau 1 WHEN ^\s+(an?|some|the).+\bbureaue?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bust 1 WHEN ^\s+(an?|some|the).+\bbuste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar butterflies 1 WHEN ^\s+(an?|some|the).+\bbutterflies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar butterfly 1 WHEN ^\s+(an?|some|the).+\bbutterflye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cabinet 1 WHEN ^\s+(an?|some|the).+\bcabinete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carpet 1 WHEN ^\s+(an?|some|the).+\bcarpete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cart 1 WHEN ^\s+(an?|some|the).+\bcarte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carton 1 WHEN ^\s+(an?|some|the).+\bcartone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar case 1 WHEN ^\s+(an?|some|the).+\bcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar catalog 1 WHEN ^\s+(an?|some|the).+\bcataloge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cauldron 1 WHEN ^\s+(an?|some|the).+\bcauldrone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chair 1 WHEN ^\s+(an?|some|the).+\bchaire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chest 1 WHEN ^\s+(an?|some|the).+\bcheste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar closet 1 WHEN ^\s+(an?|some|the).+\bclosete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cloud 1 WHEN ^\s+(an?|some|the).+\bcloude?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar coffer 1 WHEN ^\s+(an?|some|the).+\bcoffere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar container 1 WHEN ^\s+(an?|some|the).+\bcontainere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cord 1 WHEN ^\s+(an?|some|the).+\bcorde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cornucopia 1 WHEN ^\s+(an?|some|the).+\bcornucopiae?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar corral 1 WHEN ^\s+(an?|some|the).+\bcorrale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cot 1 WHEN ^\s+(an?|some|the).+\bcote?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar counter 1 WHEN ^\s+(an?|some|the).+\bcountere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cradle 1 WHEN ^\s+(an?|some|the).+\bcradlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar crate 1 WHEN ^\s+(an?|some|the).+\bcratee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cupboard 1 WHEN ^\s+(an?|some|the).+\bcupboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cushion 1 WHEN ^\s+(an?|some|the).+\bcushione?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar desk 1 WHEN ^\s+(an?|some|the).+\bdeske?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar display 1 WHEN ^\s+(an?|some|the).+\bdisplaye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar drawer 1 WHEN ^\s+(an?|some|the).+\bdrawere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dresser 1 WHEN ^\s+(an?|some|the).+\bdressere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar drum 1 WHEN ^\s+(an?|some|the).+\bdrume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dummies 1 WHEN ^\s+(an?|some|the).+\bdummies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dummy 1 WHEN ^\s+(an?|some|the).+\bdummye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar easel 1 WHEN ^\s+(an?|some|the).+\beasele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar endtable 1 WHEN ^\s+(an?|some|the).+\bendtablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar fence 1 WHEN ^\s+(an?|some|the).+\bfencee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar firepit 1 WHEN ^\s+(an?|some|the).+\bfirepite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar footlocker 1 WHEN ^\s+(an?|some|the).+\bfootlockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar footrest 1 WHEN ^\s+(an?|some|the).+\bfootreste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar fountain 1 WHEN ^\s+(an?|some|the).+\bfountaine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar framework 1 WHEN ^\s+(an?|some|the).+\bframeworke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar garderobe 1 WHEN ^\s+(an?|some|the).+\bgarderobee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar goblin 1 WHEN ^\s+(an?|some|the).+\bgobline?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar gourd 1 WHEN ^\s+(an?|some|the).+\bgourde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar grinder 1 WHEN ^\s+(an?|some|the).+\bgrindere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hand 1 WHEN ^\s+(an?|some|the).+\bhande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hanger 1 WHEN ^\s+(an?|some|the).+\bhangere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hatstand 1 WHEN ^\s+(an?|some|the).+\bhatstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar head 1 WHEN ^\s+(an?|some|the).+\bheade?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar highboy 1 WHEN ^\s+(an?|some|the).+\bhighboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hole 1 WHEN ^\s+(an?|some|the).+\bholee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hook 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hooks 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar horse 1 WHEN ^\s+(an?|some|the).+\bhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar jar 1 WHEN ^\s+(an?|some|the).+\bjare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar keg 1 WHEN ^\s+(an?|some|the).+\bkege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar lattice 1 WHEN ^\s+(an?|some|the).+\blatticee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar locker 1 WHEN ^\s+(an?|some|the).+\blockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar lowboy 1 WHEN ^\s+(an?|some|the).+\blowboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mannequin 1 WHEN ^\s+(an?|some|the).+\bmannequine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mantel 1 WHEN ^\s+(an?|some|the).+\bmantele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mantle 1 WHEN ^\s+(an?|some|the).+\bmantlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar moon 1 WHEN ^\s+(an?|some|the).+\bmoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar net 1 WHEN ^\s+(an?|some|the).+\bnete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar niche 1 WHEN ^\s+(an?|some|the).+\bnichee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar ogre 1 WHEN ^\s+(an?|some|the).+\bogree?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pail 1 WHEN ^\s+(an?|some|the).+\bpaile?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pallet 1 WHEN ^\s+(an?|some|the).+\bpallete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar panel 1 WHEN ^\s+(an?|some|the).+\bpanele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peccaries 1 WHEN ^\s+(an?|some|the).+\bpeccaries\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peccary 1 WHEN ^\s+(an?|some|the).+\bpeccarye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pedestal 1 WHEN ^\s+(an?|some|the).+\bpedestale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peg 1 WHEN ^\s+(an?|some|the).+\bpege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pegboard 1 WHEN ^\s+(an?|some|the).+\bpegboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pew 1 WHEN ^\s+(an?|some|the).+\bpewe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pillow 1 WHEN ^\s+(an?|some|the).+\bpillowe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pipe 1 WHEN ^\s+(an?|some|the).+\bpipee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pit 1 WHEN ^\s+(an?|some|the).+\bpite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plank 1 WHEN ^\s+(an?|some|the).+\bplanke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar planter 1 WHEN ^\s+(an?|some|the).+\bplantere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar platter 1 WHEN ^\s+(an?|some|the).+\bplattere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plinth 1 WHEN ^\s+(an?|some|the).+\bplinthe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar podium 1 WHEN ^\s+(an?|some|the).+\bpodiume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pole 1 WHEN ^\s+(an?|some|the).+\bpolee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar post 1 WHEN ^\s+(an?|some|the).+\bposte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pumpkin 1 WHEN ^\s+(an?|some|the).+\bpumpkine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar quilt 1 WHEN ^\s+(an?|some|the).+\bquilte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rack 1 WHEN ^\s+(an?|some|the).+\bracke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rope 1 WHEN ^\s+(an?|some|the).+\bropee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rug 1 WHEN ^\s+(an?|some|the).+\bruge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar salver 1 WHEN ^\s+(an?|some|the).+\bsalvere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sawhorse 1 WHEN ^\s+(an?|some|the).+\bsawhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelf 1 WHEN ^\s+(an?|some|the).+\bshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shell 1 WHEN ^\s+(an?|some|the).+\bshelle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelves 1 WHEN ^\s+(an?|some|the).+\bshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar showcase 1 WHEN ^\s+(an?|some|the).+\bshowcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sidebar 1 WHEN ^\s+(an?|some|the).+\bsidebare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sideboard 1 WHEN ^\s+(an?|some|the).+\bsideboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skeleton 1 WHEN ^\s+(an?|some|the).+\bskeletone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skippet 1 WHEN ^\s+(an?|some|the).+\bskippete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar spittoon 1 WHEN ^\s+(an?|some|the).+\bspittoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stable 1 WHEN ^\s+(an?|some|the).+\bstablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stand 1 WHEN ^\s+(an?|some|the).+\bstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar star 1 WHEN ^\s+(an?|some|the).+\bstare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar statue 1 WHEN ^\s+(an?|some|the).+\bstatues?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stool 1 WHEN ^\s+(an?|some|the).+\bstoole?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stove 1 WHEN ^\s+(an?|some|the).+\bstovee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stump 1 WHEN ^\s+(an?|some|the).+\bstumpe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sun 1 WHEN ^\s+(an?|some|the).+\bsune?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar table 1 WHEN ^\s+(an?|some|the).+\btablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tomb 1 WHEN ^\s+(an?|some|the).+\btombe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tray 1 WHEN ^\s+(an?|some|the).+\btraye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tree 1 WHEN ^\s+(an?|some|the).+\btreee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trestle 1 WHEN ^\s+(an?|some|the).+\btrestlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trough 1 WHEN ^\s+(an?|some|the).+\btroughe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trunk 1 WHEN ^\s+(an?|some|the).+\btrunke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar turtle 1 WHEN ^\s+(an?|some|the).+\bturtlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar urn 1 WHEN ^\s+(an?|some|the).+\burne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar valet 1 WHEN ^\s+(an?|some|the).+\bvalete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanities 1 WHEN ^\s+(an?|some|the).+\bvanities\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanity 1 WHEN ^\s+(an?|some|the).+\bvanitye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vat 1 WHEN ^\s+(an?|some|the).+\bvate?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wall 1 WHEN ^\s+(an?|some|the).+\bwalle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wardrobe 1 WHEN ^\s+(an?|some|the).+\bwardrobee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar waterwheel 1 WHEN ^\s+(an?|some|the).+\bwaterwheele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar web 1 WHEN ^\s+(an?|some|the).+\bwebe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar webbing 1 WHEN ^\s+(an?|some|the).+\bwebbinge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar workbench 1 WHEN ^\s+(an?|some|the).+\bworkbenche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar worktable 1 WHEN ^\s+(an?|some|the).+\bworktablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))

send shop
waitforre ^The following items contain goods for sale:

startshop:
if %altar = 1 then gosub shopvar altar
if %armoir = 1 then gosub shopvar armoir
if %bale = 1 then gosub shopvar bale
if %bar = 1 then gosub shopvar bar
if %barn = 1 then gosub shopvar barn
if %barrel = 1 then gosub shopvar barrel
if %basket = 1 then gosub shopvar basket
if %bedroll = 1 then gosub shopvar bedroll
if %bench = 1 then gosub shopvar bench
if %bin = 1 then gosub shopvar bin
if %block = 1 then gosub shopvar block
if %blossom = 1 then gosub shopvar blossom
if %boar = 1 then gosub shopvar boar
if %board = 1 then gosub shopvar board
if %bookcase = 1 then gosub shopvar bookcase
if %bookshelf = 1 then gosub shopvar bookshelf
if %bookshelves = 1 then gosub shopvar bookshelves
if %bookstand = 1 then gosub shopvar bookstand
if %box = 1 then gosub shopvar box
if %branch = 1 then gosub shopvar branch
if %breakfront = 1 then gosub shopvar breakfront
if %broomstick = 1 then gosub shopvar broomstick
if %bucket = 1 then gosub shopvar bucket
if %buffet = 1 then gosub shopvar buffet
if %bull = 1 then gosub shopvar bull
if %bureau = 1 then gosub shopvar bureau
if %bust = 1 then gosub shopvar bust
if %butterflies = 1 then gosub shopvar butterflies
if %butterfly = 1 then gosub shopvar butterfly
if %cabinet = 1 then gosub shopvar cabinet
if %carpet = 1 then gosub shopvar carpet
if %cart = 1 then gosub shopvar cart
if %carton = 1 then gosub shopvar carton
if %case = 1 then gosub shopvar case
if %catalog = 1 then gosub shopvar catalog
if %cauldron = 1 then gosub shopvar cauldron
if %chair = 1 then gosub shopvar chair
if %chest = 1 then gosub shopvar chest
if %closet = 1 then gosub shopvar closet
if %cloud = 1 then gosub shopvar cloud
if %coffer = 1 then gosub shopvar coffer
if %container = 1 then gosub shopvar container
if %cord = 1 then gosub shopvar cord
if %cornucopia = 1 then gosub shopvar cornucopia
if %corral = 1 then gosub shopvar corral
if %cot = 1 then gosub shopvar cot
if %counter = 1 then gosub shopvar counter
if %cradle = 1 then gosub shopvar cradle
if %crate = 1 then gosub shopvar crate
if %cupboard = 1 then gosub shopvar cupboard
if %cushion = 1 then gosub shopvar cushion
if %desk = 1 then gosub shopvar desk
if %display = 1 then gosub shopvar display
if %drawer = 1 then gosub shopvar drawer
if %dresser = 1 then gosub shopvar dresser
if %drum = 1 then gosub shopvar drum
if %dummies = 1 then gosub shopvar dummies
if %dummy = 1 then gosub shopvar dummy
if %easel = 1 then gosub shopvar easel
if %endtable = 1 then gosub shopvar endtable
if %fence = 1 then gosub shopvar fence
if %firepit = 1 then gosub shopvar firepit
if %footlocker = 1 then gosub shopvar footlocker
if %footrest = 1 then gosub shopvar footrest
if %fountain = 1 then gosub shopvar fountain
if %framework = 1 then gosub shopvar framework
if %garderobe = 1 then gosub shopvar garderobe
if %goblin = 1 then gosub shopvar goblin
if %gourd = 1 then gosub shopvar gourd
if %grinder = 1 then gosub shopvar grinder
if %hand = 1 then gosub shopvar hand
if %hanger = 1 then gosub shopvar hanger
if %hatstand = 1 then gosub shopvar hatstand
if %head = 1 then gosub shopvar head
if %highboy = 1 then gosub shopvar highboy
if %hole = 1 then gosub shopvar hole
if %hook = 1 then gosub shopvar hook
if %hooks = 1 then gosub shopvar hooks
if %horse = 1 then gosub shopvar horse
if %jar = 1 then gosub shopvar jar
if %keg = 1 then gosub shopvar keg
if %lattice = 1 then gosub shopvar lattice
if %locker = 1 then gosub shopvar locker
if %lowboy = 1 then gosub shopvar lowboy
if %mannequin = 1 then gosub shopvar mannequin
if %mantel = 1 then gosub shopvar mantel
if %mantle = 1 then gosub shopvar mantle
if %moon = 1 then gosub shopvar moon
if %net = 1 then gosub shopvar net
if %niche = 1 then gosub shopvar niche
if %ogre = 1 then gosub shopvar ogre
if %pail = 1 then gosub shopvar pail
if %pallet = 1 then gosub shopvar pallet
if %panel = 1 then gosub shopvar panel
if %peccaries = 1 then gosub shopvar peccaries
if %peccary = 1 then gosub shopvar peccary
if %pedestal = 1 then gosub shopvar pedestal
if %peg = 1 then gosub shopvar peg
if %pegboard = 1 then gosub shopvar pegboard
if %pew = 1 then gosub shopvar pew
if %pillow = 1 then gosub shopvar pillow
if %pipe = 1 then gosub shopvar pipe
if %pit = 1 then gosub shopvar pit
if %plank = 1 then gosub shopvar plank
if %planter = 1 then gosub shopvar planter
if %platter = 1 then gosub shopvar platter
if %plinth = 1 then gosub shopvar plinth
if %podium = 1 then gosub shopvar podium
if %pole = 1 then gosub shopvar pole
if %post = 1 then gosub shopvar post
if %pumpkin = 1 then gosub shopvar pumpkin
if %quilt = 1 then gosub shopvar quilt
if %rack = 1 then gosub shopvar rack
if %rope = 1 then gosub shopvar rope
if %rug = 1 then gosub shopvar rug
if %salver = 1 then gosub shopvar salver
if %sawhorse = 1 then gosub shopvar sawhorse
if %shelf = 1 then gosub shopvar shelf
if %shell = 1 then gosub shopvar shell
if %shelves = 1 then gosub shopvar shelves
if %showcase = 1 then gosub shopvar showcase
if %sidebar = 1 then gosub shopvar sidebar
if %sideboard = 1 then gosub shopvar sideboard
if %skeleton = 1 then gosub shopvar skeleton
if %skippet = 1 then gosub shopvar skippet
if %spittoon = 1 then gosub shopvar spittoon
if %stable = 1 then gosub shopvar stable
if %stand = 1 then gosub shopvar stand
if %star = 1 then gosub shopvar star
if %statue = 1 then gosub shopvar statue
if %stool = 1 then gosub shopvar stool
if %stove = 1 then gosub shopvar stove
if %stump = 1 then gosub shopvar stump
if %sun = 1 then gosub shopvar sun
if %table = 1 then gosub shopvar table
if %tomb = 1 then gosub shopvar tomb
if %tray = 1 then gosub shopvar tray
if %tree = 1 then gosub shopvar tree
if %trestle = 1 then gosub shopvar trestle
if %trough = 1 then gosub shopvar trough
if %trunk = 1 then gosub shopvar trunk
if %turtle = 1 then gosub shopvar turtle
if %urn = 1 then gosub shopvar urn
if %valet = 1 then gosub shopvar valet
if %vanities = 1 then gosub shopvar vanities
if %vanity = 1 then gosub shopvar vanity
if %vat = 1 then gosub shopvar vat
if %wall = 1 then gosub shopvar wall
if %wardrobe = 1 then gosub shopvar wardrobe
if %waterwheel = 1 then gosub shopvar waterwheel
if %web = 1 then gosub shopvar web
if %webbing = 1 then gosub shopvar webbing
if %workbench = 1 then gosub shopvar workbench
if %worktable = 1 then gosub shopvar worktable
goto end

shopvar:
put #var shopper $0
goto shop1

shop1:
send shop first $shopper
matchre shop2 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop2:
send shop second $shopper
matchre shop3 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop3:
send shop third $shopper
matchre shop4 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop4:
send shop fourth $shopper
matchre shop5 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop5:
send shop fifth $shopper
matchre shop6 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop6:
send shop sixth $shopper
matchre shop7 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop7:
send shop seventh $shopper
matchre shop8 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop8:
send shop eighth $shopper
matchre shop9 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop9:
send shop ninth $shopper
matchre shop10 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop10:
send shop tenth $shopper
matchre shop11 ^\[Type SHOP \[GOOD\] to see some details about
matchre return ^I could not find what you were referring to|^You can buy this item if you like
matchwait

shop11:
send shop eleventh $shopper
goto return

return:
return

end:
put #parse SCRIPT DONE
exit

Crossing's Market Plaza

start:
put #class racial on
put #class rp on
put #class shop on
put #class arrive off
put #class combat off
put #class joust off
put #var currency Kronars
put #var ShopCity Crossing
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300

put #echo >Log start logging Crossing shop inventory
send read listings board
waitforre shops? (is|are) open\.$

put #log >Shoplog.txt The following items are sold at Crossing's Market Plaza and are priced in copper Kronars [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Crossing's Market Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Market Plaza, (.+)\]$
action setvariable RoomName $2 when ^\[Market Plaza (Cellar|Upstairs), (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order	$ShopCity	%RoomName	%ShopName	%ShopOwner	%ShopOpen	%ShopClose when It is currently (open|closed)\.$

move north

Sun_Room:
gosub arch
gosub door
gosub entrance
move east

Water_Room:
gosub arch
gosub door
gosub entrance
move northeast

Grass_Room:
gosub arch
gosub door
gosub entrance
move northwest

Solarium:
gosub arch
gosub door
gosub entrance
move southwest
move northwest

Forest_Room:
gosub arch
gosub door
gosub entrance
move southwest

Dimly-Lit_Storage:
gosub arch
gosub door
gosub entrance
move southeast

Meeting_Room:
gosub arch
gosub door
gosub entrance
move east
move southeast

Moon_Room:
gosub arch
gosub door
gosub entrance
move east

Armor_Room:
gosub arch
gosub door
gosub entrance
move west
move south

Lodge_Room:
gosub arch
gosub door
gosub entrance
move north
move northwest
move southwest

Gladiolus_Room:
gosub arch
gosub door
gosub entrance
move west

Fire_Room:
gosub arch
gosub door
gosub entrance
move east
move south

Library:
gosub arch
gosub door
gosub entrance
move north
move northeast
move go spiral ramp

Volcano_Room:
gosub arch
gosub door
gosub entrance
move east

Palm_Room:
gosub arch
gosub door
gosub entrance
move northeast

Ocean_Room:
gosub arch
gosub door
gosub entrance
move northwest

Tundra_Room:
gosub arch
gosub door
gosub entrance
move southwest

Jungle_Room:
gosub arch
gosub door
gosub entrance
move northwest

Savannah_Room:
gosub arch
gosub door
gosub entrance
move southwest

Desert_Room:
gosub arch
gosub door
gosub entrance
move southeast

River_Room:
gosub arch
gosub door
gosub entrance
move east
move go spiral ramp
move climb marble staircase

Tasting_Room:
gosub arch
gosub door
gosub entrance
move north

Bottle_Room:
gosub arch
gosub door
gosub entrance
move north

Stomping_Room:
gosub arch
gosub door
gosub entrance
move east

Barrel_Room:
gosub arch
gosub door
gosub entrance
move west
move north

Fermentation_Room:
gosub arch
gosub door
gosub entrance
move south
move west

Cooper_Room:
gosub arch
gosub door
gosub entrance
move east
move south
move south
move climb marble staircase
move south
goto done

arch:
setvariable portal arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

door:
setvariable portal door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

entrance:
setvariable portal entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

shopinv:
move go %portal
put .shop2
waitfor SCRIPT DONE
move out
return

return:
return

done:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Crossing shop inventory
put #class arrive off
put #class shop off
put .open
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit

Riverhaven's Knight's Hall

start:
put #class racial on
put #class rp on
put #class shop on
put #class arrive off
put #class combat off
put #class joust off
put #var currency Lirums
put #var ShopCity Riverhaven
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300

put #echo >Log start logging Riverhaven shop inventory
send read listings board
waitforre shops? (is|are) open\.$

put #log >Shoplog.txt The following items are sold at Riverhaven's Knight's Hall and are priced in copper Lirums [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Riverhaven's Knight's Hall===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Knight's Hall, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order	$ShopCity	%RoomName	%ShopName	%ShopOwner	%ShopOpen	%ShopClose when It is currently (open|closed)\.$

move north

Rose_Room:
gosub arch
gosub door
gosub entrance
move north

Warrior_Room:
gosub arch
gosub door
gosub entrance
move north

Food_Plaza:
gosub arch
gosub door
gosub entrance
move north

Childrens_Room:
gosub arch
gosub door
gosub entrance
move south
move south
move south
move south
move northeast

Theatre_Room:
gosub arch
gosub door
gosub entrance
move northeast

World_Room:
gosub arch
gosub door
gosub entrance
move northeast

The_Back_Room:
gosub arch
gosub door
gosub entrance
move southwest
move southwest
move southwest
move northwest

Keep_Room:
gosub arch
gosub door
gosub entrance
move northwest

Dungeon_Room:
gosub arch
gosub door
gosub entrance
move northwest

Storage_Area:
gosub arch
gosub door
gosub entrance
move southeast
move southeast
move southeast
goto done

arch:
setvariable portal arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

door:
setvariable portal door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

entrance:
setvariable portal entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

shopinv:
move go %portal
put .shop2
waitfor SCRIPT DONE
move out
return

return:
return

done:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Riverhaven shop inventory
put #class arrive off
put #class shop off
put .open
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit

Shard's Crystal Plaza

start:
put #class racial on
put #class rp on
put #class shop on
put #class arrive off
put #class combat off
put #class joust off
put #var currency Dokoras
put #var ShopCity Shard
var Order 0
put avoid !drag
waitforre ^You're now avoiding
put avoid !hold
waitforre ^You're now avoiding
put avoid !dancing
waitforre ^You're now avoiding
send stop play
waitforre ^You stop playing your song|^In the name of love|^But you're not performing anything
put .close
waitfor SCRIPT DONE
put .gametime
waitfor GAMETIME SCRIPT DONE
send research status
waitforre ^You believe that you're|^You have completed.+of a project about|^You're not researching anything
if $researchproject != NOTSET then send research $researchproject 300

put #echo >Log start logging Shard shop inventory
send read listings board
waitforre shops? (is|are) open\.$

put #log >Shoplog.txt The following items are sold at Shard's Crystal Plaza and are priced in copper Dokoras [$date $time]:
put #log >Shoplist-Elanthipedia.txt ===Shard's Crystal Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable"
put #log >Shoplist-Elanthipedia.txt |-
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room

action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen $3 $4;setvariable ShopClose $5 $6 when ^'(.+)' is owned by (\S+) and will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen $2 $3;setvariable ShopClose $4 $5 when ^'(\w+)'s Shop' will be open between (\d+)([ap]m) and (\d+)([ap]m) Eastern time
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever \S+ is in attendance
action setvariable ShopName $1's Shop;setvariable ShopOwner $1;setvariable ShopOpen variable;setvariable ShopClose variable when ^'(\w+)'s Shop' will be open whenever the owner is in attendance
action setvariable RoomName $1 when ^\[Crystal Plaza, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopOpen||%ShopClose||%RoomName;put #log >Shoplist.txt %Order	$ShopCity	%RoomName	%ShopName	%ShopOwner	%ShopOpen	%ShopClose when It is currently (open|closed)\.$

move north
move north

Play_Yard:
gosub arch
gosub door
gosub entrance
move south
move northeast

Prism_Room:
gosub arch
gosub door
gosub entrance
move southwest
move east

Oak_Room:
gosub arch
gosub door
gosub entrance
move west
move southeast

Luminous_Room:
gosub arch
gosub door
gosub entrance
move northwest
move southwest

Storage:
gosub arch
gosub door
gosub entrance
move northeast
move west

Food_Court:
gosub arch
gosub door
gosub entrance
move east
move northwest

The_Sea:
gosub arch
gosub door
gosub entrance
move southeast
move south
goto done

arch:
setvariable portal arch
send look arch
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

door:
setvariable portal door
send look door
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

entrance:
setvariable portal entrance
send look entrance
matchre shopinv ^'.+'.+It is currently open\.$
matchre return It is currently closed\.$|^An attendant approaches you and says
matchwait 2
return

shopinv:
move go %portal
put .shop2
waitfor SCRIPT DONE
move out
return

return:
return

done:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Shard shop inventory
put #class arrive off
put #class shop off
put .open
waitfor SCRIPT DONE
put #play ScriptEnd
put #flash
put #parse SHOP SCRIPT DONE
exit

See Also

  • Player owned shops: I periodically update this list of shops, their record owners, and their locations.
  • Trader Shop Inventory: This is a spreadsheet that I made from the information logged by these triggers.