<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://gswiki-archive.gs-game.uk/index.php?action=history&amp;feed=atom&amp;title=YASSE</id>
	<title>YASSE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://gswiki-archive.gs-game.uk/index.php?action=history&amp;feed=atom&amp;title=YASSE"/>
	<link rel="alternate" type="text/html" href="https://gswiki-archive.gs-game.uk/index.php?title=YASSE&amp;action=history"/>
	<updated>2026-11-11T23:31:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://gswiki-archive.gs-game.uk/index.php?title=YASSE&amp;diff=17258&amp;oldid=prev</id>
		<title>imported&gt;HOST-GSKEBECHET: Updating link, StormFront is now Wrayth</title>
		<link rel="alternate" type="text/html" href="https://gswiki-archive.gs-game.uk/index.php?title=YASSE&amp;diff=17258&amp;oldid=prev"/>
		<updated>2023-11-15T15:05:14Z</updated>

		<summary type="html">&lt;p&gt;Updating link, StormFront is now Wrayth&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;YASSE&amp;#039;&amp;#039;&amp;#039; is the scripting engine developed for [[Avalon]].  It was developed mainly for [[DragonRealms]] and has many specific features for that.  The scripting engine, itself, however, is very useful for [[GemStone IV]].  &lt;br /&gt;
&lt;br /&gt;
===Script Compatibility===&lt;br /&gt;
Most scripts written for the [[Wizard (front end)|Wizard Front End]] are compatible, as are most written for [[Wrayth]].  The major difference is simply variable naming conventions and it&amp;#039;s normally straightforward to port scripts over.&lt;br /&gt;
&lt;br /&gt;
===Unique Features===&lt;br /&gt;
* %roomname - This is a variable that all scripts have access to that is the name of the room you are in (or most recently PEERed into)&lt;br /&gt;
* %roomdescription - This variable contains the room description, as well as the &amp;quot;Also here:&amp;quot; and &amp;quot;Obvious exits:/paths:&amp;quot; line.&lt;br /&gt;
:Both of these variables are very useful for scripts that need to check the contents of a room without building a matchtable and then LOOKing.  This makes scripts much faster and more effecient, as well as more precise.  An example usage would be:&lt;br /&gt;
&lt;br /&gt;
 if %roomdescription contains miner&lt;br /&gt;
 BEGIN&lt;br /&gt;
 if %roomdescription contains Also goto move&lt;br /&gt;
 goto killminer&lt;br /&gt;
 END&lt;br /&gt;
 goto move&lt;br /&gt;
&lt;br /&gt;
* Triggers - These are basically match strings that will live in the memory, and every time they are matched will goto a subroutine of a running script, or call a separate script.  Usage of this would be either in a script, such as this:&lt;br /&gt;
&lt;br /&gt;
 action [winks at you, flirting] goto flirtback&lt;br /&gt;
&lt;br /&gt;
or from the command line you can set a trigger, such as:&lt;br /&gt;
&lt;br /&gt;
 -set trigger &amp;quot;winks at you, flirting&amp;quot; seduceher&lt;br /&gt;
&lt;br /&gt;
which would run the script, &amp;quot;seduceher&amp;quot; when it matched that string.  Triggers are cleared by the command:&lt;br /&gt;
&lt;br /&gt;
 -clear trigger &lt;br /&gt;
&lt;br /&gt;
* getwordfrom - This command gets a word from a string variable and returns it to the variable %w.  You simply tell it the reference word, and then the word number (or range) you&amp;#039;d like relative to the word you&amp;#039;re looking for.  This is useful for when you&amp;#039;d like to work with the words around a match string, since every time a string matches, it saves that line to %l.  For example:&lt;br /&gt;
 &lt;br /&gt;
 action [I&amp;#039;ll give you] goto getprice&lt;br /&gt;
 matchwait&lt;br /&gt;
 &lt;br /&gt;
 getprice:&lt;br /&gt;
 getwordfrom you 2&lt;br /&gt;
&lt;br /&gt;
This will set a trigger to watch for the words &amp;quot;I&amp;#039;ll give you&amp;quot; and then get the word two after the word &amp;quot;you&amp;quot; and save it to a variable.  So when the, say, jeweler tells you how much they&amp;#039;ll give you for a gem, it&amp;#039;ll save the second word after the word you to a variable (%w) for you to echo or save to a file.&lt;br /&gt;
&lt;br /&gt;
* getword - A simpler command than getwordfrom, just gets the nth word of the line in %l (set from a match event).&lt;br /&gt;
&lt;br /&gt;
* autostart script - This is a script that you can set to run each time that character is logged in.  Usage would be from the command line and be:&lt;br /&gt;
 -set autostart &amp;lt;scriptname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* gosub/return - These commands enable you to have subroutines in a script.&lt;br /&gt;
&lt;br /&gt;
===Development===&lt;br /&gt;
&lt;br /&gt;
===External Links===&lt;br /&gt;
* [http://sourceforge.net/projects/yasse Sourceforge Page]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Yasse YASSE Wikipedia Page]&lt;br /&gt;
&lt;br /&gt;
[[category:Scripts]]&lt;/div&gt;</summary>
		<author><name>imported&gt;HOST-GSKEBECHET</name></author>
	</entry>
</feed>