Trader Shop Inventory Logger (script): Difference between revisions
No edit summary |
No edit summary |
||
Line 58: | Line 58: | ||
==Changelog== |
==Changelog== |
||
*'''12/6/2014''': Converted the ShopHours column to two separate columns (ShopOpen and ShopClose). |
|||
*'''7/10/2014''': Fixed issue with gametime triggers; updated documentation. |
*'''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 |
*'''1/8/2014''': Fixed issue with "'[Trader]'s Shop' will be open whenever the owner is in attendance" messaging |
||
Line 763: | Line 764: | ||
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
||
put #log >Shoplist-Elanthipedia.txt |- |
put #log >Shoplist-Elanthipedia.txt |- |
||
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!! |
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room |
||
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable |
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 |
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 |
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 |
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 |
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 $1 when ^\[Market Plaza, (.+)\]$ |
||
action setvariable RoomName $2 when ^\[Market Plaza (Cellar|Upstairs), (.+)\]$ |
action setvariable RoomName $2 when ^\[Market Plaza (Cellar|Upstairs), (.+)\]$ |
||
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||% |
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 1,037: | Line 1,038: | ||
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
||
put #log >Shoplist-Elanthipedia.txt |- |
put #log >Shoplist-Elanthipedia.txt |- |
||
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!! |
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room |
||
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable |
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 |
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 |
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 |
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 |
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 setvariable RoomName $1 when ^\[Knight's Hall, (.+)\]$ |
||
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||% |
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 1,201: | Line 1,202: | ||
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
put #log >Shoplist-Elanthipedia.txt {|class="wikitable sortable" |
||
put #log >Shoplist-Elanthipedia.txt |- |
put #log >Shoplist-Elanthipedia.txt |- |
||
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!! |
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room |
||
action setvariable ShopName $1;setvariable ShopOwner $2;setvariable |
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 |
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 |
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 |
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 |
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 setvariable RoomName $1 when ^\[Crystal Plaza, (.+)\]$ |
||
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||% |
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 |
Revision as of 19:06, 6 December 2014
Trader Shop Inventory Logger (script) | |
---|---|
Category | information |
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.
- Open Shoplog.txt
- Delete the underscores ( _ ) from the price column.
- Delete the periods ( . ) from the price column.
- 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 the prices from Lirums to Kronars, multiply column E by 1.25.
- 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.
- Open Shoplist-Elanthipedia.txt
- Replace the |-| with |-linebreak|
- 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
- 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 open my gem pouch 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 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 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 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 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).+\bbookshelvese?s?\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).+\bbutterfliese?s?\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 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).+\bdummiese?s?\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 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).+\bhookse?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 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).+\bpeccariese?s?\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).+\bshelvese?s?\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 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).+\bvanitiese?s?\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 %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 %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 %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 %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 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 on 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 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 on 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 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 on put #class shop off put .open waitfor SCRIPT DONE put #play ScriptEnd put #flash put #parse SHOP SCRIPT DONE exit
See Also
- Trader-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.