Trader Shop Inventory Logger (script): Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
No edit summary
m (added category of "Trader")
 
(15 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 41: Line 41:
#Open Shoplist-Elanthipedia.txt
#Open Shoplist-Elanthipedia.txt
#Replace the |-| with |-''linebreak''|
#Replace the |-| with |-''linebreak''|
#Replace "GameDate" with the Elanthian date.
#Copy and paste the contents to List of Current Shops.
#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==
==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/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.
*'''5/5/2013''': Scripts now create logs (both in Elanthipedia format and spreadsheet format) of shops, their owners, their hours, and their locations.
Line 64: Line 72:


==Scripts==
==Scripts==

===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===
===Shop2===
Line 98: Line 225:
setvar bureau 0
setvar bureau 0
setvar bust 0
setvar bust 0
setvar butterflies 0
setvar butterfly 0
setvar butterfly 0
setvar cabinet 0
setvar cabinet 0
Line 119: Line 247:
setvar cradle 0
setvar cradle 0
setvar crate 0
setvar crate 0
setvar cupboard 0
setvar cushion 0
setvar cushion 0
setvar desk 0
setvar desk 0
Line 125: Line 254:
setvar dresser 0
setvar dresser 0
setvar drum 0
setvar drum 0
setvar dummies 0
setvar dummy 0
setvar dummy 0
setvar easel 0
setvar easel 0
Line 130: Line 260:
setvar fence 0
setvar fence 0
setvar firepit 0
setvar firepit 0
setvar footlocker 0
setvar footrest 0
setvar footrest 0
setvar fountain 0
setvar fountain 0
Line 144: 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
Line 149: Line 281:
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 mantel 0
Line 159: Line 292:
setvar pallet 0
setvar pallet 0
setvar panel 0
setvar panel 0
setvar peccaries 0
setvar peccary 0
setvar peccary 0
setvar pedestal 0
setvar pedestal 0
Line 193: Line 327:
setvar stand 0
setvar stand 0
setvar star 0
setvar star 0
setvar statue 0
setvar stool 0
setvar stool 0
setvar stove 0
setvar stove 0
Line 207: Line 342:
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 vat 0
Line 217: Line 353:
setvar worktable 0
setvar worktable 0


ACTION setvar altar 1 WHEN ^\s+(an?|some|the).+altar
ACTION setvar altar 1 WHEN ^\s+(an?|some|the).+\baltare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar armoir 1 WHEN ^\s+(an?|some|the).+armoir
ACTION setvar armoir 1 WHEN ^\s+(an?|some|the).+\barmoire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bale 1 WHEN ^\s+(an?|some|the).+\bbales?\b
ACTION setvar bale 1 WHEN ^\s+(an?|some|the).+\bbalee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bar 1 WHEN ^\s+(an?|some|the).+\bbars?\b
ACTION setvar bar 1 WHEN ^\s+(an?|some|the).+\bbare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barn 1 WHEN ^\s+(an?|some|the).+\bbarns?\b
ACTION setvar barn 1 WHEN ^\s+(an?|some|the).+\bbarne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar barrel 1 WHEN ^\s+(an?|some|the).+barrel
ACTION setvar barrel 1 WHEN ^\s+(an?|some|the).+\bbarrele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar basket 1 WHEN ^\s+(an?|some|the).+basket
ACTION setvar basket 1 WHEN ^\s+(an?|some|the).+\bbaskete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bedroll 1 WHEN ^\s+(an?|some|the).+bedroll
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
ACTION setvar bench 1 WHEN ^\s+(an?|some|the).+\bbenche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bin 1 WHEN ^\s+(an?|some|the).+\bbins?\b
ACTION setvar bin 1 WHEN ^\s+(an?|some|the).+\bbine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar block 1 WHEN ^\s+(an?|some|the).+\bblocks?\b
ACTION setvar block 1 WHEN ^\s+(an?|some|the).+\bblocke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar blossom 1 WHEN ^\s+(an?|some|the).+blossom
ACTION setvar blossom 1 WHEN ^\s+(an?|some|the).+\bblossome?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar boar 1 WHEN ^\s+(an?|some|the).+\bboars?\b
ACTION setvar boar 1 WHEN ^\s+(an?|some|the).+\bboare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar board 1 WHEN ^\s+(an?|some|the).+\bboards?\b
ACTION setvar board 1 WHEN ^\s+(an?|some|the).+\bboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookcase 1 WHEN ^\s+(an?|some|the).+bookcase
ACTION setvar bookcase 1 WHEN ^\s+(an?|some|the).+\bbookcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookshelf 1 WHEN ^\s+(an?|some|the).+bookshelf
ACTION setvar bookshelf 1 WHEN ^\s+(an?|some|the).+\bbookshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookshelves 1 WHEN ^\s+(an?|some|the).+bookshelves
ACTION setvar bookshelves 1 WHEN ^\s+(an?|some|the).+\bbookshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bookstand 1 WHEN ^\s+(an?|some|the).+bookstand
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
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
ACTION setvar branch 1 WHEN ^\s+(an?|some|the).+\bbranche?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar breakfront 1 WHEN ^\s+(an?|some|the).+breakfront
ACTION setvar breakfront 1 WHEN ^\s+(an?|some|the).+\bbreakfronte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar broomstick 1 WHEN ^\s+(an?|some|the).+broomstick
ACTION setvar broomstick 1 WHEN ^\s+(an?|some|the).+\bbroomsticke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bucket 1 WHEN ^\s+(an?|some|the).+bucket
ACTION setvar bucket 1 WHEN ^\s+(an?|some|the).+\bbuckete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar buffet 1 WHEN ^\s+(an?|some|the).+buffet
ACTION setvar buffet 1 WHEN ^\s+(an?|some|the).+\bbuffete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bull 1 WHEN ^\s+(an?|some|the).+\bbulls?\b
ACTION setvar bull 1 WHEN ^\s+(an?|some|the).+\bbulle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bureau 1 WHEN ^\s+(an?|some|the).+bureau
ACTION setvar bureau 1 WHEN ^\s+(an?|some|the).+\bbureaue?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar bust 1 WHEN ^\s+(an?|some|the).+\bbusts?\b
ACTION setvar bust 1 WHEN ^\s+(an?|some|the).+\bbuste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar butterfly 1 WHEN ^\s+(an?|some|the).+butterfly
ACTION setvar butterflies 1 WHEN ^\s+(an?|some|the).+\bbutterflies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cabinet 1 WHEN ^\s+(an?|some|the).+cabinet
ACTION setvar butterfly 1 WHEN ^\s+(an?|some|the).+\bbutterflye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carpet 1 WHEN ^\s+(an?|some|the).+carpet
ACTION setvar cabinet 1 WHEN ^\s+(an?|some|the).+\bcabinete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cart 1 WHEN ^\s+(an?|some|the).+\bcarts?\b
ACTION setvar carpet 1 WHEN ^\s+(an?|some|the).+\bcarpete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar carton 1 WHEN ^\s+(an?|some|the).+carton
ACTION setvar cart 1 WHEN ^\s+(an?|some|the).+\bcarte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar case 1 WHEN ^\s+(an?|some|the).+\bcases?\b
ACTION setvar carton 1 WHEN ^\s+(an?|some|the).+\bcartone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar catalog 1 WHEN ^\s+(an?|some|the).+catalog
ACTION setvar case 1 WHEN ^\s+(an?|some|the).+\bcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cauldron 1 WHEN ^\s+(an?|some|the).+cauldron
ACTION setvar catalog 1 WHEN ^\s+(an?|some|the).+\bcataloge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chair 1 WHEN ^\s+(an?|some|the).+\bchairs?\b
ACTION setvar cauldron 1 WHEN ^\s+(an?|some|the).+\bcauldrone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar chest 1 WHEN ^\s+(an?|some|the).+\bchests?\b
ACTION setvar chair 1 WHEN ^\s+(an?|some|the).+\bchaire?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar closet 1 WHEN ^\s+(an?|some|the).+closet
ACTION setvar chest 1 WHEN ^\s+(an?|some|the).+\bcheste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cloud 1 WHEN ^\s+(an?|some|the).+\bclouds?\b
ACTION setvar closet 1 WHEN ^\s+(an?|some|the).+\bclosete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar coffer 1 WHEN ^\s+(an?|some|the).+coffer
ACTION setvar cloud 1 WHEN ^\s+(an?|some|the).+\bcloude?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar container 1 WHEN ^\s+(an?|some|the).+container
ACTION setvar coffer 1 WHEN ^\s+(an?|some|the).+\bcoffere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cord 1 WHEN ^\s+(an?|some|the).+\bcords?\b
ACTION setvar container 1 WHEN ^\s+(an?|some|the).+\bcontainere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cornucopia 1 WHEN ^\s+(an?|some|the).+cornucopia
ACTION setvar cord 1 WHEN ^\s+(an?|some|the).+\bcorde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar corral 1 WHEN ^\s+(an?|some|the).+corral
ACTION setvar cornucopia 1 WHEN ^\s+(an?|some|the).+\bcornucopiae?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cot 1 WHEN ^\s+(an?|some|the).+\bcots?\b
ACTION setvar corral 1 WHEN ^\s+(an?|some|the).+\bcorrale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar counter 1 WHEN ^\s+(an?|some|the).+counter
ACTION setvar cot 1 WHEN ^\s+(an?|some|the).+\bcote?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar counter 1 WHEN ^\s+(an?|some|the).+Ticket Counter
ACTION setvar counter 1 WHEN ^\s+(an?|some|the).+\bcountere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cradle 1 WHEN ^\s+(an?|some|the).+cradle
ACTION setvar cradle 1 WHEN ^\s+(an?|some|the).+\bcradlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar crate 1 WHEN ^\s+(an?|some|the).+\bcrates?\b
ACTION setvar crate 1 WHEN ^\s+(an?|some|the).+\bcratee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar cushion 1 WHEN ^\s+(an?|some|the).+cushion
ACTION setvar cupboard 1 WHEN ^\s+(an?|some|the).+\bcupboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar desk 1 WHEN ^\s+(an?|some|the).+\bdesks?\b
ACTION setvar cushion 1 WHEN ^\s+(an?|some|the).+\bcushione?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar display 1 WHEN ^\s+(an?|some|the).+display
ACTION setvar desk 1 WHEN ^\s+(an?|some|the).+\bdeske?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar drawer 1 WHEN ^\s+(an?|some|the).+drawer
ACTION setvar display 1 WHEN ^\s+(an?|some|the).+\bdisplaye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dresser 1 WHEN ^\s+(an?|some|the).+dresser
ACTION setvar drawer 1 WHEN ^\s+(an?|some|the).+\bdrawere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar drum 1 WHEN ^\s+(an?|some|the).+\bdrums?\b
ACTION setvar dresser 1 WHEN ^\s+(an?|some|the).+\bdressere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar dummy 1 WHEN ^\s+(an?|some|the).+dummy
ACTION setvar drum 1 WHEN ^\s+(an?|some|the).+\bdrume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar easel 1 WHEN ^\s+(an?|some|the).+\beasels?\b
ACTION setvar dummies 1 WHEN ^\s+(an?|some|the).+\bdummies\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar endtable 1 WHEN ^\s+(an?|some|the).+endtable
ACTION setvar dummy 1 WHEN ^\s+(an?|some|the).+\bdummye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar fence 1 WHEN ^\s+(an?|some|the).+\bfences?\b
ACTION setvar easel 1 WHEN ^\s+(an?|some|the).+\beasele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar firepit 1 WHEN ^\s+(an?|some|the).+firepit
ACTION setvar endtable 1 WHEN ^\s+(an?|some|the).+\bendtablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar footrest 1 WHEN ^\s+(an?|some|the).+footrest
ACTION setvar fence 1 WHEN ^\s+(an?|some|the).+\bfencee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar fountain 1 WHEN ^\s+(an?|some|the).+fountain
ACTION setvar firepit 1 WHEN ^\s+(an?|some|the).+\bfirepite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar framework 1 WHEN ^\s+(an?|some|the).+framework
ACTION setvar footlocker 1 WHEN ^\s+(an?|some|the).+\bfootlockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar garderobe 1 WHEN ^\s+(an?|some|the).+garderobe
ACTION setvar footrest 1 WHEN ^\s+(an?|some|the).+\bfootreste?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar goblin 1 WHEN ^\s+(an?|some|the).+goblin
ACTION setvar fountain 1 WHEN ^\s+(an?|some|the).+\bfountaine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar gourd 1 WHEN ^\s+(an?|some|the).+gourd
ACTION setvar framework 1 WHEN ^\s+(an?|some|the).+\bframeworke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar grinder 1 WHEN ^\s+(an?|some|the).+grinder
ACTION setvar garderobe 1 WHEN ^\s+(an?|some|the).+\bgarderobee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hand 1 WHEN ^\s+(an?|some|the).+\bhands?\b
ACTION setvar goblin 1 WHEN ^\s+(an?|some|the).+\bgobline?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hanger 1 WHEN ^\s+(an?|some|the).+hanger
ACTION setvar gourd 1 WHEN ^\s+(an?|some|the).+\bgourde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hatstand 1 WHEN ^\s+(an?|some|the).+hatstand
ACTION setvar grinder 1 WHEN ^\s+(an?|some|the).+\bgrindere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar head 1 WHEN ^\s+(an?|some|the).+\bheads?\b
ACTION setvar hand 1 WHEN ^\s+(an?|some|the).+\bhande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar highboy 1 WHEN ^\s+(an?|some|the).+highboy
ACTION setvar hanger 1 WHEN ^\s+(an?|some|the).+\bhangere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hole 1 WHEN ^\s+(an?|some|the).+\bholes?\b
ACTION setvar hatstand 1 WHEN ^\s+(an?|some|the).+\bhatstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar hook 1 WHEN ^\s+(an?|some|the).+\bhooks?\b
ACTION setvar head 1 WHEN ^\s+(an?|some|the).+\bheade?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar horse 1 WHEN ^\s+(an?|some|the).+\bhorses?\b
ACTION setvar highboy 1 WHEN ^\s+(an?|some|the).+\bhighboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar jar 1 WHEN ^\s+(an?|some|the).+\bjars?\b
ACTION setvar hole 1 WHEN ^\s+(an?|some|the).+\bholee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar keg 1 WHEN ^\s+(an?|some|the).+\bkegs?\b
ACTION setvar hook 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar lattice 1 WHEN ^\s+(an?|some|the).+lattice
ACTION setvar hooks 1 WHEN ^\s+(an?|some|the).+\bhooke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar locker 1 WHEN ^\s+(an?|some|the).+locker
ACTION setvar horse 1 WHEN ^\s+(an?|some|the).+\bhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mannequin 1 WHEN ^\s+(an?|some|the).+mannequin
ACTION setvar jar 1 WHEN ^\s+(an?|some|the).+\bjare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mantel 1 WHEN ^\s+(an?|some|the).+mantel
ACTION setvar keg 1 WHEN ^\s+(an?|some|the).+\bkege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar mantle 1 WHEN ^\s+(an?|some|the).+mantle
ACTION setvar lattice 1 WHEN ^\s+(an?|some|the).+\blatticee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar moon 1 WHEN ^\s+(an?|some|the).+\bmoons?\b
ACTION setvar locker 1 WHEN ^\s+(an?|some|the).+\blockere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar net 1 WHEN ^\s+(an?|some|the).+\bnets?\b
ACTION setvar lowboy 1 WHEN ^\s+(an?|some|the).+\blowboye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar niche 1 WHEN ^\s+(an?|some|the).+niche
ACTION setvar mannequin 1 WHEN ^\s+(an?|some|the).+\bmannequine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar ogre 1 WHEN ^\s+(an?|some|the).+\bogres?\b
ACTION setvar mantel 1 WHEN ^\s+(an?|some|the).+\bmantele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pail 1 WHEN ^\s+(an?|some|the).+\bpails?\b
ACTION setvar mantle 1 WHEN ^\s+(an?|some|the).+\bmantlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pallet 1 WHEN ^\s+(an?|some|the).+pallet
ACTION setvar moon 1 WHEN ^\s+(an?|some|the).+\bmoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar panel 1 WHEN ^\s+(an?|some|the).+\bpanels?\b
ACTION setvar net 1 WHEN ^\s+(an?|some|the).+\bnete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peccary 1 WHEN ^\s+(an?|some|the).+peccary
ACTION setvar niche 1 WHEN ^\s+(an?|some|the).+\bnichee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pedestal 1 WHEN ^\s+(an?|some|the).+pedestal
ACTION setvar ogre 1 WHEN ^\s+(an?|some|the).+\bogree?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar peg 1 WHEN ^\s+(an?|some|the).+\bpegs?\b
ACTION setvar pail 1 WHEN ^\s+(an?|some|the).+\bpaile?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pegboard 1 WHEN ^\s+(an?|some|the).+pegboard
ACTION setvar pallet 1 WHEN ^\s+(an?|some|the).+\bpallete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pew 1 WHEN ^\s+(an?|some|the).+\bpews?\b
ACTION setvar panel 1 WHEN ^\s+(an?|some|the).+\bpanele?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pillow 1 WHEN ^\s+(an?|some|the).+pillow
ACTION setvar peccaries 1 WHEN ^\s+(an?|some|the).+\bpeccaries\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pipe 1 WHEN ^\s+(an?|some|the).+\bpipes?\b
ACTION setvar peccary 1 WHEN ^\s+(an?|some|the).+\bpeccarye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pit 1 WHEN ^\s+(an?|some|the).+\bpits?\b
ACTION setvar pedestal 1 WHEN ^\s+(an?|some|the).+\bpedestale?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plank 1 WHEN ^\s+(an?|some|the).+\bplanks?\b
ACTION setvar peg 1 WHEN ^\s+(an?|some|the).+\bpege?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar planter 1 WHEN ^\s+(an?|some|the).+planter
ACTION setvar pegboard 1 WHEN ^\s+(an?|some|the).+\bpegboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar platter 1 WHEN ^\s+(an?|some|the).+platter
ACTION setvar pew 1 WHEN ^\s+(an?|some|the).+\bpewe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar plinth 1 WHEN ^\s+(an?|some|the).+plinth
ACTION setvar pillow 1 WHEN ^\s+(an?|some|the).+\bpillowe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar podium 1 WHEN ^\s+(an?|some|the).+podium
ACTION setvar pipe 1 WHEN ^\s+(an?|some|the).+\bpipee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pole 1 WHEN ^\s+(an?|some|the).+\bpoles?\b
ACTION setvar pit 1 WHEN ^\s+(an?|some|the).+\bpite?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar post 1 WHEN ^\s+(an?|some|the).+\bposts?\b
ACTION setvar plank 1 WHEN ^\s+(an?|some|the).+\bplanke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar pumpkin 1 WHEN ^\s+(an?|some|the).+pumpkin
ACTION setvar planter 1 WHEN ^\s+(an?|some|the).+\bplantere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar quilt 1 WHEN ^\s+(an?|some|the).+\bquilts?\b
ACTION setvar platter 1 WHEN ^\s+(an?|some|the).+\bplattere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rack 1 WHEN ^\s+(an?|some|the).+\bracks?\b
ACTION setvar plinth 1 WHEN ^\s+(an?|some|the).+\bplinthe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rope 1 WHEN ^\s+(an?|some|the).+\bropes?\b
ACTION setvar podium 1 WHEN ^\s+(an?|some|the).+\bpodiume?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar rug 1 WHEN ^\s+(an?|some|the).+\brugs?\b
ACTION setvar pole 1 WHEN ^\s+(an?|some|the).+\bpolee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar salver 1 WHEN ^\s+(an?|some|the).+salver
ACTION setvar post 1 WHEN ^\s+(an?|some|the).+\bposte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sawhorse 1 WHEN ^\s+(an?|some|the).+sawhorse
ACTION setvar pumpkin 1 WHEN ^\s+(an?|some|the).+\bpumpkine?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelf 1 WHEN ^\s+(an?|some|the).+shelf
ACTION setvar quilt 1 WHEN ^\s+(an?|some|the).+\bquilte?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shell 1 WHEN ^\s+(an?|some|the).+\bshells?\b
ACTION setvar rack 1 WHEN ^\s+(an?|some|the).+\bracke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar shelves 1 WHEN ^\s+(an?|some|the).+shelves
ACTION setvar rope 1 WHEN ^\s+(an?|some|the).+\bropee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar showcase 1 WHEN ^\s+(an?|some|the).+showcase
ACTION setvar rug 1 WHEN ^\s+(an?|some|the).+\bruge?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sidebar 1 WHEN ^\s+(an?|some|the).+sidebar
ACTION setvar salver 1 WHEN ^\s+(an?|some|the).+\bsalvere?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sideboard 1 WHEN ^\s+(an?|some|the).+sideboard
ACTION setvar sawhorse 1 WHEN ^\s+(an?|some|the).+\bsawhorsee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skeleton 1 WHEN ^\s+(an?|some|the).+skeleton
ACTION setvar shelf 1 WHEN ^\s+(an?|some|the).+\bshelfe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar skippet 1 WHEN ^\s+(an?|some|the).+skippet
ACTION setvar shell 1 WHEN ^\s+(an?|some|the).+\bshelle?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar spittoon 1 WHEN ^\s+(an?|some|the).+spittoon
ACTION setvar shelves 1 WHEN ^\s+(an?|some|the).+\bshelves\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stable 1 WHEN ^\s+(an?|some|the).+stable
ACTION setvar showcase 1 WHEN ^\s+(an?|some|the).+\bshowcasee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stand 1 WHEN ^\s+(an?|some|the).+\bstands?\b
ACTION setvar sidebar 1 WHEN ^\s+(an?|some|the).+\bsidebare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar star 1 WHEN ^\s+(an?|some|the).+\bstars?\b
ACTION setvar sideboard 1 WHEN ^\s+(an?|some|the).+\bsideboarde?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stool 1 WHEN ^\s+(an?|some|the).+\bstools?\b
ACTION setvar skeleton 1 WHEN ^\s+(an?|some|the).+\bskeletone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stove 1 WHEN ^\s+(an?|some|the).+\bstoves?\b
ACTION setvar skippet 1 WHEN ^\s+(an?|some|the).+\bskippete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar stump 1 WHEN ^\s+(an?|some|the).+stump
ACTION setvar spittoon 1 WHEN ^\s+(an?|some|the).+\bspittoone?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar sun 1 WHEN ^\s+(an?|some|the).+\bsuns?\b
ACTION setvar stable 1 WHEN ^\s+(an?|some|the).+\bstablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar Surface1 1 WHEN ^\s+(an?|some|the).+B1Surface2B2
ACTION setvar stand 1 WHEN ^\s+(an?|some|the).+\bstande?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar table 1 WHEN ^\s+(an?|some|the).+\btables?\b
ACTION setvar star 1 WHEN ^\s+(an?|some|the).+\bstare?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tomb 1 WHEN ^\s+(an?|some|the).+\btombs?\b
ACTION setvar statue 1 WHEN ^\s+(an?|some|the).+\bstatues?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tray 1 WHEN ^\s+(an?|some|the).+\btrays?\b
ACTION setvar stool 1 WHEN ^\s+(an?|some|the).+\bstoole?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar tree 1 WHEN ^\s+(an?|some|the).+\btrees?\b
ACTION setvar stove 1 WHEN ^\s+(an?|some|the).+\bstovee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trestle 1 WHEN ^\s+(an?|some|the).+trestle
ACTION setvar stump 1 WHEN ^\s+(an?|some|the).+\bstumpe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trough 1 WHEN ^\s+(an?|some|the).+trough
ACTION setvar sun 1 WHEN ^\s+(an?|some|the).+\bsune?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar trunk 1 WHEN ^\s+(an?|some|the).+trunk
ACTION setvar table 1 WHEN ^\s+(an?|some|the).+\btablee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar turtle 1 WHEN ^\s+(an?|some|the).+turtle
ACTION setvar tomb 1 WHEN ^\s+(an?|some|the).+\btombe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar urn 1 WHEN ^\s+(an?|some|the).+\burns?\b
ACTION setvar tray 1 WHEN ^\s+(an?|some|the).+\btraye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar valet 1 WHEN ^\s+(an?|some|the).+valet
ACTION setvar tree 1 WHEN ^\s+(an?|some|the).+\btreee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vanity 1 WHEN ^\s+(an?|some|the).+vanity
ACTION setvar trestle 1 WHEN ^\s+(an?|some|the).+\btrestlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar vat 1 WHEN ^\s+(an?|some|the).+\bvats?\b
ACTION setvar trough 1 WHEN ^\s+(an?|some|the).+\btroughe?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wall 1 WHEN ^\s+(an?|some|the).+\bwalls?\b
ACTION setvar trunk 1 WHEN ^\s+(an?|some|the).+\btrunke?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar wardrobe 1 WHEN ^\s+(an?|some|the).+wardrobe
ACTION setvar turtle 1 WHEN ^\s+(an?|some|the).+\bturtlee?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar waterwheel 1 WHEN ^\s+(an?|some|the).+waterwheel
ACTION setvar urn 1 WHEN ^\s+(an?|some|the).+\burne?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar web 1 WHEN ^\s+(an?|some|the).+\bwebs?\b
ACTION setvar valet 1 WHEN ^\s+(an?|some|the).+\bvalete?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar webbing 1 WHEN ^\s+(an?|some|the).+webbing
ACTION setvar vanities 1 WHEN ^\s+(an?|some|the).+\bvanities\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar workbench 1 WHEN ^\s+(an?|some|the).+workbench
ACTION setvar vanity 1 WHEN ^\s+(an?|some|the).+\bvanitye?s?\b(?!.+(Dokoras?|Kronars?|Lirums?))
ACTION setvar worktable 1 WHEN ^\s+(an?|some|the).+worktable
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 369: 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
Line 397: Line 539:
if %bureau = 1 then gosub shopvar bureau
if %bureau = 1 then gosub shopvar bureau
if %bust = 1 then gosub shopvar bust
if %bust = 1 then gosub shopvar bust
if %butterflies = 1 then gosub shopvar butterflies
if %butterfly = 1 then gosub shopvar butterfly
if %butterfly = 1 then gosub shopvar butterfly
if %cabinet = 1 then gosub shopvar cabinet
if %cabinet = 1 then gosub shopvar cabinet
Line 418: 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 %cushion = 1 then gosub shopvar cushion
if %desk = 1 then gosub shopvar desk
if %desk = 1 then gosub shopvar desk
Line 424: Line 568:
if %dresser = 1 then gosub shopvar dresser
if %dresser = 1 then gosub shopvar dresser
if %drum = 1 then gosub shopvar drum
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 %easel = 1 then gosub shopvar easel
Line 429: Line 574:
if %fence = 1 then gosub shopvar fence
if %fence = 1 then gosub shopvar fence
if %firepit = 1 then gosub shopvar firepit
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
Line 443: 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
Line 448: Line 595:
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 %mantel = 1 then gosub shopvar mantel
Line 458: Line 606:
if %pallet = 1 then gosub shopvar pallet
if %pallet = 1 then gosub shopvar pallet
if %panel = 1 then gosub shopvar panel
if %panel = 1 then gosub shopvar panel
if %peccaries = 1 then gosub shopvar peccaries
if %peccary = 1 then gosub shopvar peccary
if %peccary = 1 then gosub shopvar peccary
if %pedestal = 1 then gosub shopvar pedestal
if %pedestal = 1 then gosub shopvar pedestal
Line 492: Line 641:
if %stand = 1 then gosub shopvar stand
if %stand = 1 then gosub shopvar stand
if %star = 1 then gosub shopvar star
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 %stove = 1 then gosub shopvar stove
Line 506: Line 656:
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 %vat = 1 then gosub shopvar vat
Line 595: Line 746:


<pre>start:
<pre>start:
put #class rp on
put #class racial on
put #class racial 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
Line 613: Line 765:
put .close
put .close
waitfor SCRIPT DONE
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\.$
Line 619: Line 777:
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 ===Crossing's Market Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: GameDate ($date)
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt <br />
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!!Hours!!Room
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room


action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopHours $3 when ^'(.+)' is owned by (\S+) and will be open between (.+) Eastern time
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 ShopHours $2 when ^'(\w+)'s Shop' will be open between (.+) 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 ShopHours variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
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 ShopHours 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 \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 $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]]||%ShopHours||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopHours when It is currently (open|closed)\.$
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 851: Line 1,010:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Crossing shop inventory
put #class arrive on
put #class arrive off
put #class shop off
put #class shop off
put .open
put .open
Line 857: Line 1,017:
put #play ScriptEnd
put #play ScriptEnd
put #flash
put #flash
put #parse SHOP SCRIPT DONE
exit</pre>
exit</pre>


Line 862: Line 1,023:


<pre>start:
<pre>start:
put #class rp on
put #class racial on
put #class racial 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
Line 880: Line 1,042:
put .close
put .close
waitfor SCRIPT DONE
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\.$
Line 886: Line 1,054:
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 ===Riverhaven's Knight's Hall===
put #log >Shoplist-Elanthipedia.txt Last Updated: GameDate ($date)
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt <br />
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!!Hours!!Room
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room


action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopHours $3 when ^'(.+)' is owned by (\S+) and will be open between (.+) Eastern time
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 ShopHours $2 when ^'(\w+)'s Shop' will be open between (.+) 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 ShopHours variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
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 ShopHours 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 \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 setvariable RoomName $1 when ^\[Knight's Hall, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopHours||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopHours when It is currently (open|closed)\.$
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,008: Line 1,177:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Riverhaven shop inventory
put #class arrive on
put #class arrive off
put #class shop off
put #class shop off
put .open
put .open
Line 1,014: Line 1,184:
put #play ScriptEnd
put #play ScriptEnd
put #flash
put #flash
put #parse SHOP SCRIPT DONE
exit</pre>
exit</pre>


Line 1,019: Line 1,190:


<pre>start:
<pre>start:
put #class rp on
put #class racial on
put #class racial 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
Line 1,037: Line 1,209:
put .close
put .close
waitfor SCRIPT DONE
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\.$
Line 1,043: Line 1,221:
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 ===Shard's Crystal Plaza===
put #log >Shoplist-Elanthipedia.txt Last Updated: GameDate ($date)
put #log >Shoplist-Elanthipedia.txt Last Updated: $GameDate ($date)
put #log >Shoplist-Elanthipedia.txt <br />
put #log >Shoplist-Elanthipedia.txt <br />
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!!Hours!!Room
put #log >Shoplist-Elanthipedia.txt !Shop Name!!Owner!!Opens!!Closes!!Room


action setvariable ShopName $1;setvariable ShopOwner $2;setvariable ShopHours $3 when ^'(.+)' is owned by (\S+) and will be open between (.+) Eastern time
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 ShopHours $2 when ^'(\w+)'s Shop' will be open between (.+) 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 ShopHours variable when ^'(.+)' is owned by (\S+) and will be open whenever \S+ is in attendance
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 ShopHours 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 \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 setvariable RoomName $1 when ^\[Crystal Plaza, (.+)\]$
action math Order add 1;put #log >Shoplist-Elanthipedia.txt |-|%ShopName||[[%ShopOwner]]||%ShopHours||%RoomName;put #log >Shoplist.txt %Order $ShopCity %RoomName %ShopName %ShopOwner %ShopHours when It is currently (open|closed)\.$
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,146: Line 1,325:
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt |}
put #log >Shoplist-Elanthipedia.txt
put #log >Shoplist-Elanthipedia.txt
put #echo >Log finish logging Shard shop inventory
put #class arrive on
put #class arrive off
put #class shop off
put #class shop off
put .open
put .open
Line 1,152: Line 1,332:
put #play ScriptEnd
put #play ScriptEnd
put #flash
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.