https://eternity.youfailit.net/api.php?action=feedcontributions&user=Joe&feedformat=atomEternity Wiki - User contributions [en]2024-03-28T19:46:10ZUser contributionsMediaWiki 1.39.2https://eternity.youfailit.net/index.php?title=Small&diff=1309Small2006-01-04T20:36:28Z<p>Joe: level->game</p>
<hr />
<div>Small is a scripting language created by ITB CompuPhase, it uses C like syntax and is Eternity's main scripting language, replacing the Fragglescript of earlier versions. To be used in Eternity, the script files must first be compiled using the sc executable. Script files usually have the extension .sma but files of any extension can be compiled. Assuming the script has no errors, the compiler should output an amx file which can be loaded into a wad for use with Eternity. <br />
<br />
There are two types of script, gamescript and levelscript. Gamescripts work over a whole gaming session, while levelscripts only work on maps which have specified that script in their level info. To use a script file as a gamescript, the compiled script file should be loaded into a wad and given the lump name <code>GAMESCR</code>. These gamescript files will work over every level. <br />
<br />
Levelscripts are loaded using a different method. To specify a script for use in a single map, <code>levelscript=MYSCRIPT</code> should be added to the map's [[MapInfo]]. Here, <code>MYSCRIPT</code> should be replaced with your script's lump name, which can be anything.<br />
<br />
== Triggering Scripts ==<br />
<br />
There are many ways to start a script. The most common way is to start a script when a linedef is triggered. To do this, first give the linedef you want to trigger the script a <code>Start</code> script action (linedef actions 273-280) and a unique tag number. For example, if we want our script to start when the player walks over a linedef, use linedef action 280 and give the linedef a tag of 1, for example:<br />
<br />
public Script1()<br />
{<br />
_Printf( _MSG_NORMAL, "Hello World");<br />
}<br />
<br />
Note that the Script## number is the same as the linedef's tag. <br />
Compile your script and set up the wad as explained above. Assuming all things have been set up properly, when you walk over that linedef, it will output "Hello World" to the screen.<br />
<br />
Another way of starting a script is using the <code>OnInit()</code> function. <br />
<br />
public OnInit()<br />
{<br />
_Printf( _MSG_NORMAL, "Hello World");<br />
}<br />
<br />
This script will output "Hello World" when the map starts up. This could be useful for starting a series of callbacks for animating HUD sprites or rising/lowering sectors.<br />
<br />
The final way is to use the StartScript codepointer on a Thing's frame. The StartScript codepointer uses the first two args to decide the script number to execute and the script type (whether it is levelscript or gamescript). For example:<br />
<br />
stdinclude(root.edf)<br />
framedelta<br />
{<br />
name = S_TROO_DIE1 // Frame we want to start the script on<br />
action = StartScript // The startscript codepointer<br />
args = {1,0} // Codepointer's arguments, starts script 1 and sets the type to game (0)<br />
}<br />
<br />
Load the EDF with your map and script, and whenever you kill an imp (therefore going onto the frame S_TROO_DIE1, it will run script 1, outputting "Hello World". As this script is a gamescript it will do this on every map.</div>Joehttps://eternity.youfailit.net/index.php?title=EMAPINFO&diff=1308EMAPINFO2006-01-04T19:06:44Z<p>Joe: making it make sense 9_9</p>
<hr />
<div>MapInfo serves as a methods of customizing some asthetic properties of a map which would otherwise be unchangeable, as well as adding the ability to use some Eternity specific features. MapInfo is used by editing the map's header in a wad editor with the "View raw data" (XWE) option turned on. A basic MapInfo setup may be similar to this:<br />
<br />
<code>[level info]</code><br />
<code>levelname = Evil Hell Lab</code><br />
<code>creator = DooMGuy667</code><br />
<br />
This would change the automap and intermission screen names for your map to "Evil Hell Lab" and when the <code>creator</code> command is used in the console, output "DooMGuy667".<br />
<br />
Alternatively, an EMAPINFO lump may be used to change MapInfo variables on many maps. For example, create a lump in your wad named EMAPINFO and addd this to it:<br />
<br />
<code>[E1M1]</code><br />
<code>levelname = NotHangar</code><br />
<code>creator = NotRomero</code><br />
<br />
<br />
This will change the MapInfo properties for E1M1. The name in the braces is the map the MapInfo applies to, so by changing [E1M1] to [E1M2], the changes would apply to E1M2 instead. Note that MapInfo information in a map's header will be used instead of the information in an EMAPINFO lump, when available.</div>Joehttps://eternity.youfailit.net/index.php?title=Small&diff=1307Small2006-01-03T16:33:54Z<p>Joe: </p>
<hr />
<div>Small is a scripting language created by ITB CompuPhase, it uses C like syntax and is Eternity's main scripting language, replacing the Fragglescript of earlier versions. To be used in Eternity, the script files must first be compiled using the sc executable. Script files usually have the extension .sma but files of any extension can be compiled. Assuming the script has no errors, the compiler should output an amx file which can be loaded into a wad for use with Eternity. <br />
<br />
There are two types of script, gamescript and levelscript. Gamescripts work over a whole gaming session, while levelscripts only work on maps which have specified that script in their level info. To use a script file as a gamescript, the compiled script file should be loaded into a wad and given the lump name <code>GAMESCR</code>. These gamescript files will work over every level. <br />
<br />
Levelscripts are loaded using a different method. To specify a script for use in a single map, <code>levelscript=MYSCRIPT</code> should be added to the map's [[MapInfo]]. Here, <code>MYSCRIPT</code> should be replaced with your script's lump name, which can be anything.<br />
<br />
== Triggering Scripts ==<br />
<br />
There are many ways to start a script. The most common way is to start a script when a linedef is triggered. To do this, first give the linedef you want to trigger the script a <code>Start</code> script action (linedef actions 273-280) and a unique tag number. For example, if we want our script to start when the player walks over a linedef, use linedef action 280 and give the linedef a tag of 1, for example:<br />
<br />
public Script1()<br />
{<br />
_Printf( _MSG_NORMAL, "Hello World");<br />
}<br />
<br />
Note that the Script## number is the same as the linedef's tag. <br />
Compile your script and set up the wad as explained above. Assuming all things have been set up properly, when you walk over that linedef, it will output "Hello World" to the screen.<br />
<br />
Another way of starting a script is using the <code>OnInit()</code> function. <br />
<br />
public OnInit()<br />
{<br />
_Printf( _MSG_NORMAL, "Hello World");<br />
}<br />
<br />
This script will output "Hello World" when the map starts up. This could be useful for starting a series of callbacks for animating HUD sprites or rising/lowering sectors.<br />
<br />
The final way is to use the StartScript codepointer on a Thing's frame. The StartScript codepointer uses the first two args to decide the script number to execute and the script type (whether it is levelscript or gamescript). For example:<br />
<br />
stdinclude(root.edf)<br />
framedelta<br />
{<br />
name = S_TROO_DIE1 // Frame we want to start the script on<br />
action = StartScript // The startscript codepointer<br />
args = {1,0} // Codepointer's arguments, starts script 1 and sets the type to game (0)<br />
}<br />
<br />
Load the EDF with your map and script, and whenever you kill an imp (therefore going onto the frame S_TROO_DIE1, it will run script 1, outputting "Hello World". As this script is a levelscript it will do this on every map.</div>Joehttps://eternity.youfailit.net/index.php?title=Main_Page&diff=1305Main Page2006-01-03T13:14:35Z<p>Joe: </p>
<hr />
<div>__NOTOC__<br />
==Welcome to the Eternity Engine Wiki== <br />
<br />
The [[Eternity Engine]] [[Wikipedia:Wiki|Wiki]] is a community-maintained documentation resource for the Eternity Engine [[Doom Wiki:Source port|source port]] and everything related to it. It is powered by [[Wikipedia:MediaWiki|MediaWiki]]. Feel free to edit and create articles to help make this a valuable source of knowledge.<br />
<br />
The latest version of the Eternity Engine is currently {{Latest}}.</div>Joehttps://eternity.youfailit.net/index.php?title=EMAPINFO&diff=1304EMAPINFO2006-01-03T13:09:26Z<p>Joe: </p>
<hr />
<div>MapInfo serves as a methods of customizing some asthetic properties of a map which would otherwise be unchangeable, as well as adding the ability to use some Eternity specific features. MapInfo is used by editing the map's header in a wad editor with the "View raw data" (XWE) option turned on. A basic MapInfo setup may be similar to this:<br />
<br />
<code>[level info]</code><br />
<code>levelname = Evil Hell Lab</code><br />
<code>creator = DooMGuy667</code><br />
<br />
This would change the automap and intermission screen names for your map to "Evil Hell Lab" and when the <code>creator</code> command is used in the console, output "DooMGuy667".<br />
<br />
Alternatively, an EMAPINFO lump may be used to change MapInfo variables on many maps. For example, create a lump in your wad named EMAPINFO and addd this to it:<br />
<br />
<code>[E1M1]</code><br />
<code>levelname = NotHangar</code><br />
<code>creator = NotRomero</code><br />
<br />
This will change the MapInfo properties for E1M1. By changing [E1M1] to [E1M2], the changes would apply to E1M2 instead. Note that MapInfo information in a map's header will be used instead of the information in an EMAPINFO lump, when available.</div>Joehttps://eternity.youfailit.net/index.php?title=Small&diff=1301Small2006-01-03T00:47:25Z<p>Joe: </p>
<hr />
<div>Small is a scripting language created by ITB CompuPhase, it uses C like syntax and is Eternity's main scripting language, replacing the Fragglescript of earlier versions. To be used in Eternity, the script files must first be compiled using the sc executable. Script files usually have the extension .sma but files of any extension can be compiled. Assuming the script has no errors, the compiler should output an amx file which can be loaded into a wad for use with Eternity. <br />
<br />
There are two types of script, gamescript and levelscript. Gamescripts work over a whole gaming session, while levelscripts only work on maps which have specified that script in their level info. To use a script file as a gamescript, the compiled script file should be loaded into a wad and given the lump name <code>GAMESCR</code>. These gamescript files will work over every level. <br />
<br />
Levelscripts are loaded by a different method. To specify a script for use in a single map, <code>levelscript=MYSCRIPT</code> should be added to the map's [[MapInfo]]. Here, <code>MYSCRIPT</code> should be replaced with your script's lump name, which can be anything.</div>Joehttps://eternity.youfailit.net/index.php?title=Small&diff=1300Small2006-01-03T00:46:11Z<p>Joe: </p>
<hr />
<div>Small is a scripting language created by ITB CompuPhase, it uses C like syntax and is Eternity's main scripting language, replacing the Fragglescript language of earlier versions. To be used in Eternity, the script files must first be compiled using the sc executable. Script files usually have the extension .sma but files of any extension can be compiled. Assuming the script has no errors, the compiler should output an amx file which can be loaded into a wad for use with Eternity. <br />
<br />
There are two types of script, gamescript and levelscript. Gamescripts work over a whole gaming session, while levelscripts only work on maps which have specified that script in their level info. To use a script file as a gamescript, the compiled script file should be loaded into a wad and given the lump name <code>GAMESCR</code>. These gamescript files will work over every level. <br />
<br />
Levelscripts are loaded by a different method. To specify a script for use in a single map, <code>levelscript=MYSCRIPT</code> should be added to the map's [[MapInfo]]. Here, MYSCRIPT should be replaced with your script's lump name, which can be anything.</div>Joehttps://eternity.youfailit.net/index.php?title=EMAPINFO&diff=1299EMAPINFO2006-01-03T00:43:34Z<p>Joe: </p>
<hr />
<div>MapInfo serves as a methods of customizing some asthetic properties of a map which would otherwise be unchangeable, as well as adding the ability to use some Eternity specific features. MapInfo is used by editing the map's lump in a wad editor with the "View raw data" (XWE) option turned on. A basic MapInfo<br />
setup may be something similar to:<br />
<br />
<code>[level info]</code><br />
<code>levelname = Evil Hell Lab</code><br />
<code>creator = DooMGuy667</code><br />
<br />
This would change the automap and intermission screen names for your map to "Evil Hell Lab" and when the <code>creator</code> command is used in the console, it will output "DooMGuy667".</div>Joehttps://eternity.youfailit.net/index.php?title=Small&diff=1298Small2006-01-03T00:14:14Z<p>Joe: </p>
<hr />
<div>Small is a scripting language created by ITB CompuPhase, it uses C like syntax and is Eternity's main scripting language, replacing the Fragglescript language of earlier versions. To be used in Eternity, the script files must first be compiled using the sc executable. Script files usually have the extension .sma but files of any extension can be compiled. Assuming the script has no errors, the compiler should output an .amx file which can be loaded into a wad for use with eternity. <br />
<br />
There are two types of script, gamescript and levelscript. Gamescripts work over a whole gaming session, while levelscripts only work on maps which have specified that script in their level info. To use a script file as a gamescript, the compiled script file should be loaded into a wad and given the lump name "GAMESCR". These gamescript files will work over every level. Levelscripts are loaded by a different method. To specify a script for use in a single map, the line "levelscript=MYSCRIPT" should be added to the map's mapinfo. MYSCRIPT should be replaced with your script's lump name, which can be anything.</div>Joe