<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lagger</id>
	<title>WolfWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wolfwiki.anime.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lagger"/>
	<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php/Special:Contributions/Lagger"/>
	<updated>2026-11-08T12:36:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2631</id>
		<title>Lua Mod API</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2631"/>
		<updated>2007-02-07T15:25:02Z</updated>

		<summary type="html">&lt;p&gt;Lagger: change of wording made obscure answer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
[[ETPro]] now supports server-side mods via the [http://www.lua.org/ Lua] scripting language. For more information about Lua, visit the [http://www.lua.org/manual/5.0/ Reference manual], the online edition of the book [http://www.lua.org/pil/ Programming in Lua] or the [http://lua-users.org/wiki/ lua-users wiki].&lt;br /&gt;
&lt;br /&gt;
ETPro has an embedded Lua 5.0.2 interpreter, and if present will load user-defined scripts from the ETPro directory.  It also provides an &amp;quot;et&amp;quot; library of function calls for Lua that allow access to the server engine, and provides callbacks so a server side mod may trigger on specific server events.&lt;br /&gt;
&lt;br /&gt;
The following standard Lua libraries are initialized by default and available to ETPro Lua scripts:&lt;br /&gt;
[http://www.lua.org/manual/5.0/manual.html#5.1 basic], [http://www.lua.org/manual/5.0/manual.html#5.4 table], [http://www.lua.org/manual/5.0/manual.html#5.6 i/o], [http://www.lua.org/manual/5.0/manual.html#5.7 os] (available features vary depending on your OS), [http://www.lua.org/manual/5.0/manual.html#5.3 string], [http://www.lua.org/manual/5.0/manual.html#5.5 math].&lt;br /&gt;
&lt;br /&gt;
A list of ETPro mods can be found [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
A tutorial about ETPro Lua scripting can be found [[Lua Tutorials|here]].&lt;br /&gt;
&lt;br /&gt;
API requests can be discussed at the [[Talk:Lua_Mod_API|Lua Mod API talk page]].&lt;br /&gt;
&lt;br /&gt;
==client commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
:&#039;&#039;lua mods cannot override this client command.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==server commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
&lt;br /&gt;
==cvars==&lt;br /&gt;
===lua_modules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:space separated list of lua modules for ETPro to load. modules will be run in the order listed.&lt;br /&gt;
&lt;br /&gt;
===lua_allowedmodules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:if set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:changing either cvar will cause all currently loaded modules to :quit and be unloaded until the next map_restart.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==et library calls==&lt;br /&gt;
&lt;br /&gt;
===modules===&lt;br /&gt;
et.RegisterModname( &#039;&#039;&#039;modname&#039;&#039;&#039; )&lt;br /&gt;
:Registers a descriptive string &#039;&#039;&#039;modname&#039;&#039;&#039; for this mod.&lt;br /&gt;
&#039;&#039;&#039;vmnumber&#039;&#039;&#039; = et.FindSelf()&lt;br /&gt;
:Returns a number indicating the VM slot the current mod is loaded into.&lt;br /&gt;
&#039;&#039;&#039;modname&#039;&#039;&#039;, &#039;&#039;&#039;signature&#039;&#039;&#039; = et.FindMod( &#039;&#039;&#039;vmnumber&#039;&#039;&#039; )&lt;br /&gt;
:Returns the &#039;&#039;&#039;modname&#039;&#039;&#039; and sha1 &#039;&#039;&#039;signature&#039;&#039;&#039; for the mod loaded in the VM slot &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. Returns nil, nil if the VM slot is invalid.&lt;br /&gt;
&#039;&#039;&#039;success&#039;&#039;&#039; = et.IPCSend( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Sends the string &#039;&#039;&#039;message&#039;&#039;&#039; to the mod in the VM slot indicated by &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. The mod receiving &#039;&#039;&#039;message&#039;&#039;&#039; must have an &#039;&#039;et_IPCReceive()&#039;&#039; callback. If the message is successfully sent, &#039;&#039;&#039;success&#039;&#039;&#039; will be 1. On failure it will be 0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===printing===&lt;br /&gt;
et.G_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console.&lt;br /&gt;
et.G_LogPrint( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console and writes it to the server log.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===argument handling===&lt;br /&gt;
These functions are to be used within the [[#commands|command callback functions]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;args&#039;&#039;&#039; = et.ConcatArgs( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns all arguments beginning from &#039;&#039;&#039;index&#039;&#039;&#039; concatenated into a single string &#039;&#039;&#039;args&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;argcount&#039;&#039;&#039; = et.trap_Argc()&lt;br /&gt;
:Returns a number indicating the number of command line arguments in the command buffer.&lt;br /&gt;
&#039;&#039;&#039;arg&#039;&#039;&#039; = et.trap_Argv( &#039;&#039;&#039;argnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the command line argument &#039;&#039;&#039;argnum&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cvars===&lt;br /&gt;
&#039;&#039;&#039;cvarvalue&#039;&#039;&#039; = et.trap_Cvar_Get( &#039;&#039;&#039;cvarname&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; as a string. If there is no cvar named &#039;&#039;&#039;cvarname&#039;&#039;&#039;, returns a zero length string. &lt;br /&gt;
et.trap_Cvar_Set( &#039;&#039;&#039;cvarname&#039;&#039;&#039;, &#039;&#039;&#039;cvarvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; to &#039;&#039;&#039;cvarvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===configstrings===&lt;br /&gt;
&#039;&#039;&#039;configstringvalue&#039;&#039;&#039; = et.trap_GetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; containing the contents of the configstring &#039;&#039;&#039;index&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039;, &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the configstring &#039;&#039;&#039;index&#039;&#039;&#039; to the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===server===&lt;br /&gt;
et.trap_SendConsoleCommand( &#039;&#039;&#039;when&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;command&#039;&#039;&#039; to the server console, to be executed &#039;&#039;&#039;when&#039;&#039;&#039; (see et.EXEC_* constants)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===clients===&lt;br /&gt;
et.trap_DropClient( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;reason&#039;&#039;&#039;, &#039;&#039;&#039;ban_time&#039;&#039;&#039; )&lt;br /&gt;
:Disconnects &#039;&#039;&#039;clientnum&#039;&#039;&#039; from the server, with descriptive string &#039;&#039;&#039;reason&#039;&#039;&#039; reported to clients. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is the time in seconds to ban the client from the server. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is optional and may be entirely omitted, in which case the ban time defaults to the cvar &#039;&#039;b_defaultbantime&#039;&#039;&lt;br /&gt;
et.trap_SendServerCommand( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; to the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;. If &#039;&#039;&#039;clientnum&#039;&#039;&#039; is -1, the &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; is broadcast to all connected clients.&lt;br /&gt;
et.G_Say( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039;, &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Sends a chat command on behalf of client &#039;&#039;&#039;clientNum&#039;&#039;&#039; with the mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.SAY_* constants) and chat text &#039;&#039;&#039;text&#039;&#039;&#039;.&lt;br /&gt;
et.ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Loads the new [[Userinfo]] of &#039;&#039;&#039;clientNum&#039;&#039;&#039; and stores it in the configstring and client variables&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===userinfo===&lt;br /&gt;
&#039;&#039;&#039;userinfo&#039;&#039;&#039; = et.trap_GetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;userinfo&#039;&#039;&#039; )&lt;br /&gt;
:Sets the [[Userinfo]] string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039; to &#039;&#039;&#039;userinfo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===string utility functions===&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_RemoveKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Removes key &#039;&#039;&#039;key&#039;&#039;&#039; from infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; and returns the modified infostring.&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_SetValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; and returns the modified infostring. If &#039;&#039;&#039;value&#039;&#039;&#039; is an empty string, &#039;&#039;&#039;key&#039;&#039;&#039; is removed from the string. &lt;br /&gt;
&#039;&#039;&#039;keyvalue&#039;&#039;&#039; = et.Info_ValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039;. If &#039;&#039;&#039;key&#039;&#039;&#039; is not present in the string, an empty string is returned.&lt;br /&gt;
&#039;&#039;&#039;cleanstring&#039;&#039;&#039; = et.Q_CleanStr( &#039;&#039;&#039;string&#039;&#039;&#039; )&lt;br /&gt;
:Returns &#039;&#039;&#039;string&#039;&#039;&#039; stripped of all color codes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ET filesystem===&lt;br /&gt;
&#039;&#039;&#039;fd&#039;&#039;&#039;, &#039;&#039;&#039;len&#039;&#039;&#039; = et.trap_FS_FOpenFile( &#039;&#039;&#039;filename&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to open the file &#039;&#039;&#039;filename&#039;&#039;&#039; with the access mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.FS_ constants). Returns the filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039; and file length &#039;&#039;&#039;len&#039;&#039;&#039;. On error, &#039;&#039;&#039;len&#039;&#039;&#039; returns -1.&lt;br /&gt;
&#039;&#039;&#039;filedata&#039;&#039;&#039; = et.trap_FS_Read( fd, count )&lt;br /&gt;
:Reads &#039;&#039;&#039;count&#039;&#039;&#039; bytes from filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;count&#039;&#039;&#039; = et.trap_FS_Write( &#039;&#039;&#039;filedata&#039;&#039;&#039;, &#039;&#039;&#039;count&#039;&#039;&#039;, &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to write &#039;&#039;&#039;count&#039;&#039;&#039; bytes of &#039;&#039;&#039;filedata&#039;&#039;&#039; to filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;. Returns number of bytes successfully written.&lt;br /&gt;
et.trap_FS_Rename( &#039;&#039;&#039;oldname&#039;&#039;&#039;, &#039;&#039;&#039;newname&#039;&#039;&#039; )&lt;br /&gt;
:Renames file &#039;&#039;&#039;oldname&#039;&#039;&#039; to &#039;&#039;&#039;newname&#039;&#039;&#039;.&lt;br /&gt;
et.trap_FS_FCloseFile( &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Closes filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===indexes===&lt;br /&gt;
&#039;&#039;&#039;soundindex&#039;&#039;&#039; = et.G_SoundIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the soundfile indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;modelindex&#039;&#039;&#039; = et.G_ModelIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the model indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sound===&lt;br /&gt;
et.G_globalSound( &#039;&#039;&#039;sound&#039;&#039;&#039; )&lt;br /&gt;
:Plays the global sound indicated by the filename &#039;&#039;&#039;sound&#039;&#039;&#039;.&lt;br /&gt;
et.G_Sound( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;soundindex&#039;&#039;&#039; )&lt;br /&gt;
:Plays the sound &#039;&#039;&#039;soundindex&#039;&#039;&#039; at the location of entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
&#039;&#039;&#039;milliseconds&#039;&#039;&#039; = et.trap_Milliseconds()&lt;br /&gt;
:Returns a number indicating the current server time in milliseconds.&lt;br /&gt;
et.G_Damage( &#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039;, &#039;&#039;&#039;damage&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; )&lt;br /&gt;
:Does &#039;&#039;&#039;damage&#039;&#039;&#039; amount of damage on &#039;&#039;&#039;target&#039;&#039;&#039; inflicted by &#039;&#039;&#039;inflictor&#039;&#039;&#039; and cased by &#039;&#039;&#039;attacker&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039; are entity numbers&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; is a [[Bitmask-cvar|bitflag]] number to decide how the damage is inflickted, see &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; [[etdamage|flaglist]]&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; is a number from 0 up to 64 o set the type of damage, see &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; [[etdamage|list]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===entities===&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_Spawn()&lt;br /&gt;
:Spawns a new entity and returns the new entity number.&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_TempEntity( &#039;&#039;&#039;origin&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039; )&lt;br /&gt;
:Spawns a new TempEntity of event type &#039;&#039;&#039;event&#039;&#039;&#039; and places it at &#039;&#039;&#039;origin&#039;&#039;&#039; in the world.&lt;br /&gt;
:&#039;&#039;&#039;Warning:&#039;&#039;&#039; up to and including ETPro 3.2.4 the signature of the method is broken and expects four instead of two parameters. To successfully call it, you need to prepend the parameter list with two dummy parameters like et.G_TempEntity( 0, 0, origin, event ). Use this method with care, because in future ETPro versions it will probably be corrected to the one stated above and might break your script.&lt;br /&gt;
et.G_FreeEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Frees the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;spawnval&#039;&#039;&#039; = et.G_GetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.G_SetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;integer entnum&#039;&#039;&#039; = et.G_SpawnGEntityFromSpawnVars( string spawnvar, string spawnvalue, ... )&lt;br /&gt;
:This function can only be called inside the &#039;&#039;&#039;et_InitGame&#039;&#039;&#039; callback&lt;br /&gt;
et.trap_LinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Links the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_UnlinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Unlinks the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(variable)&#039;&#039;&#039; = et.gentity_get ( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; &#039;&#039;,arrayindex&#039;&#039; )&lt;br /&gt;
:Gets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; out of the g_entity struct. For NULL entities or clients, &#039;&#039;nil&#039;&#039; is returned.&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to get. It is required when accessing array type fields. Entity field array indexes start at 0.&lt;br /&gt;
et.gentity_set( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039;, &#039;&#039;arrayindex,&#039;&#039; &#039;&#039;&#039;(value)&#039;&#039;&#039; )&lt;br /&gt;
:Sets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; in the g_entity struct to &#039;&#039;&#039;(value)&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to set.&lt;br /&gt;
et.G_AddEvent( &#039;&#039;&#039;ent&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039;, &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; )&lt;br /&gt;
:Adds event &#039;&#039;&#039;event&#039;&#039;&#039; whit eventparameter &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; to entity &#039;&#039;&#039;ent&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==callbacks==&lt;br /&gt;
&lt;br /&gt;
===qagame execution===&lt;br /&gt;
et_InitGame( &#039;&#039;&#039;levelTime&#039;&#039;&#039;, &#039;&#039;&#039;randomSeed&#039;&#039;&#039;, &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame initializes. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds. &#039;&#039;&#039;randomSeed&#039;&#039;&#039; is a number that can be used to seed random number generators. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if et_InitGame() is being called due to a map restart (1) or not (0).&lt;br /&gt;
et_ShutdownGame( &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame shuts down. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if the shutdown is being called due to a map_restart (1) or not (0).&lt;br /&gt;
et_RunFrame( &#039;&#039;&#039;levelTime&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame runs a server frame. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds.&lt;br /&gt;
et_Quit()&lt;br /&gt;
:Called when ETPro unloads the mod. The mod should close all open filedescriptors and perform all cleanup.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===client management===&lt;br /&gt;
&#039;&#039;&#039;rejectreason&#039;&#039;&#039; = et_ClientConnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;firstTime&#039;&#039;&#039;, &#039;&#039;&#039;isBot&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client attempts to connect to the server. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id, &#039;&#039;&#039;firstTime&#039;&#039;&#039; indicates if this is a new connection (1) or a reconnection (0). &#039;&#039;&#039;isBot&#039;&#039;&#039; indicates if the client is a bot (1) or not (0). If the mod accepts the connection, it should return nil. Otherwise, the mod should return a string describing the reason the client connection was rejected.&lt;br /&gt;
et_ClientDisconnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client disconnects. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientBegin( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client begins (becomes active, and enters the gameworld). &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client&#039;s [[Userinfo]] string has changed. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientSpawn( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;revived&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client is spawned. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;revived&#039;&#039;&#039; is 1 if the client was spawned by beeying revived.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===commands===&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ClientCommand( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Called when a command is received from a client. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;command&#039;&#039;&#039; is the command. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ConsoleCommand()&lt;br /&gt;
:Called when a command is entered on the server console. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===xp===&lt;br /&gt;
et_UpgradeSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when client on slot &#039;&#039;&#039;cno&#039;&#039;&#039; gets an upgrade on skill &#039;&#039;&#039;skill&#039;&#039;&#039;. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough. &lt;br /&gt;
et_SetPlayerSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when clients (on slot &#039;&#039;&#039;cno&#039;&#039;&#039;) skill level &#039;&#039;&#039;skill&#039;&#039;&#039; is set. Return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot;. Callback may modify skills (or do anything else it wants) during passthrough.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
et_IPCReceive( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Called when another mod sends an et.IPCSend() message to this mod. &#039;&#039;&#039;vmnumber&#039;&#039;&#039; is the VM slot number of the sender, and &#039;&#039;&#039;message&#039;&#039;&#039; is the message.&lt;br /&gt;
et_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever the server or qagame prints a string to the console.&lt;br /&gt;
et_Obituary( &#039;&#039;&#039;victim&#039;&#039;&#039;, &#039;&#039;&#039;killer&#039;&#039;&#039;, &#039;&#039;&#039;meansOfDeath&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever a player is killed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==predefined constants==&lt;br /&gt;
et.EXEC_NOW&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_INSERT&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_READ&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_WRITE&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND_SYNC&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_ALL&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAM&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_BUDDY&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAMNL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
et.HOSTARCH&lt;br /&gt;
:set to WIN32 or UNIX depending on the host architecture qagame is running on.&lt;br /&gt;
LUA_PATH&lt;br /&gt;
:set to fs_homepath/fs_game/?.lua in order to ease use of the [http://www.lua.org/pil/8.1.html require] function.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==configs==&lt;br /&gt;
If a config is loaded, all modules are shutdown and reloaded. If a &#039;&#039;certified&#039;&#039; config is loaded, all modules are shutdown and reloaded, and additionally the following functions are disabled: &#039;&#039;&#039;require()&#039;&#039;&#039;, &#039;&#039;&#039;loadfile()&#039;&#039;&#039;, &#039;&#039;&#039;loadlib()&#039;&#039;&#039;, &#039;&#039;&#039;loadstring()&#039;&#039;&#039;, &#039;&#039;&#039;dofile()&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==caveats==&lt;br /&gt;
Like qagame, lua modules are unloaded and reloaded on map_restart and map changes. This means that all global variables and other information is lost. Mods may choose to store persistent data in cvars or external files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
Q: OMG I hate the libary prefix et.* on everything!!11!1oneone&amp;lt;br&amp;gt;&lt;br /&gt;
A: table.foreach(et, function (func, value) _G[func] = value; end)&lt;br /&gt;
&lt;br /&gt;
Q: How do a reload my lua file without restarting the whole server?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Use &#039;&#039;map_restart&#039;&#039;, &#039;&#039;reset_match&#039;&#039; or simply change map.&lt;br /&gt;
&lt;br /&gt;
Q: Can I see some sample code?&amp;lt;br&amp;gt;&lt;br /&gt;
A: [[ETPro:Lua Sample Code|Lua sample code]]&lt;br /&gt;
&lt;br /&gt;
Q: Is there a list of [[ETPro]] Lua mods?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Yes, [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
Q: OMG my mod doesn&#039;t work!&amp;lt;br&amp;gt;&lt;br /&gt;
A: Make sure you added your mod&#039;s filename to the lua_modules cvar (e.g. set lua_modules mymod.lua).&lt;br /&gt;
&lt;br /&gt;
Q: OMG why has et_ClientSay been removed?&amp;lt;br&amp;gt;&lt;br /&gt;
A: That&#039;s a secret but, to keep the function as it was, just add the following code to your et_ClientCommand() function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	-- et_ClientSay had to be removed in order to intercept all commands &lt;br /&gt;
	-- so here&#039;s a wrapper for that&lt;br /&gt;
		arg0 = et.trap_Argv(0) -- get the main command&lt;br /&gt;
		&lt;br /&gt;
		if arg0 == &amp;quot;say&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_ALL, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_team&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAM, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_buddy&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_BUDDY, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_teamnl&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAMNL, et.ConcatArgs(1))&lt;br /&gt;
		end&lt;br /&gt;
	-- et_ClientSay wrapper end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Lua]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETTVd:Readme&amp;diff=2563</id>
		<title>ETTVd:Readme</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETTVd:Readme&amp;diff=2563"/>
		<updated>2006-11-28T13:33:43Z</updated>

		<summary type="html">&lt;p&gt;Lagger: /* Requirements: */ xampp linky&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Important ===&lt;br /&gt;
&lt;br /&gt;
For an updated manual visit http://eicher.homelinux.com/ettvd/ - this one sucks bigtime&lt;br /&gt;
thanks a lot eicher for creating this documentation project for ettvd&lt;br /&gt;
&lt;br /&gt;
=== Requirements: ===&lt;br /&gt;
&lt;br /&gt;
* php5 cli installed (install [http://www.apachefriends.org XAMPP] if you dont want to compile)&lt;br /&gt;
(some people also report it working on some php4 versions but with 5 you are on the safe side)&lt;br /&gt;
&lt;br /&gt;
=== Remarks ===&lt;br /&gt;
&lt;br /&gt;
BETA2 24.11.2006&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Changes for b2 ===&lt;br /&gt;
&lt;br /&gt;
* New options in config.php - watch out&lt;br /&gt;
* Fixed a mean bug cloning objects by accident&lt;br /&gt;
* Quick serverswitch&lt;br /&gt;
* More ingame information&lt;br /&gt;
* Better playlists&lt;br /&gt;
* Increased security&lt;br /&gt;
* Control IP whitelisting&lt;br /&gt;
* Improved logging&lt;br /&gt;
* Maximum recorders, replayers, slots that can be spawned from the control interface&lt;br /&gt;
* Number of people to start recording with now configurable via the interface&lt;br /&gt;
* Added example demo file to get it to run faster&lt;br /&gt;
* A lot of stupid warnings removed&lt;br /&gt;
* Cleaned up the servers directory from more files that are not needed&lt;br /&gt;
* a lot of small stuff&lt;br /&gt;
* a completely new webinterface but skooli is too lazy to document it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features b1 ===&lt;br /&gt;
&lt;br /&gt;
Complete management of all ettv servers - the servers are started as children of the ettvd process&lt;br /&gt;
for full control over them. The servers will recieve all commands needed from the ettvd service.&lt;br /&gt;
&lt;br /&gt;
* Start of recording when enough players are ready&lt;br /&gt;
* Recording pause when players leave the server&lt;br /&gt;
* Disconnect from matchserver after timeout&lt;br /&gt;
* Simultanious recording of as many games as you want (limited by cpu/ram)&lt;br /&gt;
* Replay of recorded games&lt;br /&gt;
* Multiple broadcast servers showing the same or different games in Live, Semi-Live or Replay mode.&lt;br /&gt;
* Spam protection with a sticky mute system (/reconnect doesnt help)&lt;br /&gt;
* A fully featured webinterface (by skooli)&lt;br /&gt;
* ETTVoD ready&lt;br /&gt;
* Display of intermediate maptimes&lt;br /&gt;
* Announcer for next game, current game both ingame and in sv_hostname&lt;br /&gt;
* Most settings configurable in a single file&lt;br /&gt;
* Fully painless matchserver crash recovery&lt;br /&gt;
* Recovery of all sorts of ettv broadcaster crashes (replayers continue where they crashed)&lt;br /&gt;
* Ingame admin commands !mute, !kick, !reclist, etc&lt;br /&gt;
* Complete demo management for archiving&lt;br /&gt;
* Constantly maintaining the correct ettv_delay&lt;br /&gt;
* Replay Playlists or playing specific games again&lt;br /&gt;
* Probably more&lt;br /&gt;
&lt;br /&gt;
=== Installation: ===&lt;br /&gt;
&lt;br /&gt;
ETTVd:&lt;br /&gt;
Edit: start.sh, config.php&lt;br /&gt;
Add maps and pak0.pk3 to etmain&lt;br /&gt;
Make ettv.x86 executable&lt;br /&gt;
&lt;br /&gt;
Webinterface:&lt;br /&gt;
upload to php&#039;able webspace&lt;br /&gt;
configure includes/config.php&lt;br /&gt;
&lt;br /&gt;
=== Starting: ===&lt;br /&gt;
&lt;br /&gt;
./start.sh as superuser (edit it first) - if you&#039;re not root change start.sh acordingly&lt;br /&gt;
&lt;br /&gt;
My _example_ script will automatically set a higher priority and change user to my ettv user&lt;br /&gt;
&lt;br /&gt;
=== Thanks ===&lt;br /&gt;
&lt;br /&gt;
Big thanks to skooli for the webinterface&lt;br /&gt;
Big thanks to zinx and bani for caring about my ettv whine&lt;br /&gt;
Thanks to frop for pimping the webinterface&lt;br /&gt;
Thanks again to eicher for starting a proper documentation for ettvd&lt;br /&gt;
Thanks to everyone reporting bugs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ingame chat commands ===&lt;br /&gt;
&lt;br /&gt;
These commands are available for all people who have logged in to the webinterface&lt;br /&gt;
within the past 6 hours or used the adminip console command.&lt;br /&gt;
&lt;br /&gt;
!admintest&lt;br /&gt;
--Check if you have admin access ingame&lt;br /&gt;
&lt;br /&gt;
!recordmode &amp;lt;mode&amp;gt;&lt;br /&gt;
--Same as console recordmode, see below&lt;br /&gt;
&lt;br /&gt;
!nextmap&lt;br /&gt;
--Jumps to the next map of the current recording&lt;br /&gt;
--See console nextmap for more information&lt;br /&gt;
&lt;br /&gt;
!autoreplaynum&lt;br /&gt;
--See below&lt;br /&gt;
&lt;br /&gt;
!reclist&lt;br /&gt;
--A quick ingame overview what the recorders are doing&lt;br /&gt;
&lt;br /&gt;
!findviewer&lt;br /&gt;
--Debug function for viewer matching function used by below functions&lt;br /&gt;
--Supports partial matches, strips colours and is case insensitive&lt;br /&gt;
&lt;br /&gt;
!mute &amp;lt;match&amp;gt; &amp;lt;time&amp;gt;&lt;br /&gt;
--Mute a viewer specified by the &amp;lt;match&amp;gt; for &amp;lt;time&amp;gt; minutes, if &amp;lt;time&amp;gt; is not given default is to 5min&lt;br /&gt;
&lt;br /&gt;
!unmute &amp;lt;match&amp;gt;&lt;br /&gt;
--Unmutes the viewer (also removes the sticky mute)&lt;br /&gt;
&lt;br /&gt;
!kick &amp;lt;match&amp;gt;&lt;br /&gt;
--Goodbye &amp;lt;match&amp;gt; (banned for 5min by default)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Basic Commands (Not needed when using webinterface) ===&lt;br /&gt;
&lt;br /&gt;
connect &amp;lt;ip&amp;gt; &amp;lt;gpw&amp;gt; &amp;lt;ettvpw&amp;gt;&lt;br /&gt;
--Creates a new recorder and connects it to this server&lt;br /&gt;
&lt;br /&gt;
gamename &amp;lt;recid&amp;gt; &amp;lt;name&amp;gt;&lt;br /&gt;
--Sets the name of the currently running game on a recorder&lt;br /&gt;
&lt;br /&gt;
recordmode &amp;lt;recid&amp;gt; &amp;lt;mode&amp;gt;&lt;br /&gt;
--Sets the recordmode for a recorder, the following modes are currently supported.&lt;br /&gt;
--ready - recording starts once 4 players are ready&lt;br /&gt;
--connect - recording starts as soon as the recorder is connected&lt;br /&gt;
&lt;br /&gt;
--Remark to recording: Recording stops when less than 50% of the players the game started&lt;br /&gt;
--with remain on the server, it resumes when 2/3 of those players rejoin.&lt;br /&gt;
--Please do not forget to kill your recorders even if they paused recording&lt;br /&gt;
&lt;br /&gt;
livecast &amp;lt;recid&amp;gt; &amp;lt;repid&amp;gt;&lt;br /&gt;
--Tells a replayer that it should replay whatever that recorder will be recording&lt;br /&gt;
--If the replayer is not running at the point that the recorder starts recording it will not work&lt;br /&gt;
&lt;br /&gt;
broadcast &amp;lt;slots&amp;gt; &amp;lt;port&amp;gt; &amp;lt;privateslots&amp;gt; &amp;lt;gameid&amp;gt; &amp;lt;config&amp;gt;&lt;br /&gt;
--Starts a new broadcaster - you can omit everything except slots&lt;br /&gt;
&lt;br /&gt;
killrec &amp;lt;recid&amp;gt;&lt;br /&gt;
--kills a recorder after broadcast&lt;br /&gt;
&lt;br /&gt;
killrep &amp;lt;repid&amp;gt;&lt;br /&gt;
--kills a replayer for whatever reason&lt;br /&gt;
&lt;br /&gt;
quit_rly&lt;br /&gt;
--shuts down everything cleanly - better than killing the process&lt;br /&gt;
&lt;br /&gt;
reloaddemos&lt;br /&gt;
--reloads the demolist from disk in case you deleted some or whatever&lt;br /&gt;
&lt;br /&gt;
demolist&lt;br /&gt;
--shows a list of all recorded games&lt;br /&gt;
&lt;br /&gt;
viewerlist &amp;lt;repid&amp;gt;&lt;br /&gt;
--shows some info about connected viewers&lt;br /&gt;
&lt;br /&gt;
playgame &amp;lt;repid&amp;gt; &amp;lt;gameid&amp;gt;&lt;br /&gt;
--plays a certain game&lt;br /&gt;
&lt;br /&gt;
nextmap &amp;lt;repid&amp;gt;&lt;br /&gt;
--jumps to the next map - if it was the last map of the game it will chose the next game in the reply cycle&lt;br /&gt;
--if you do this in live broadcast mode you will leave the live broadcast, because we cant jump into the future !!&lt;br /&gt;
&lt;br /&gt;
autoreplaynum &amp;lt;repid&amp;gt; &amp;lt;number&amp;gt;&lt;br /&gt;
--the number of recent games the replayer will automatically replay&lt;br /&gt;
&lt;br /&gt;
serverlist&lt;br /&gt;
--shows all server processes currently managed by ettvd&lt;br /&gt;
&lt;br /&gt;
debug &amp;lt;1/0&amp;gt;&lt;br /&gt;
--turns debug information on or off&lt;br /&gt;
&lt;br /&gt;
There are more functions used by the webinterface - if you really care, please check the&lt;br /&gt;
sourcecode of ettvd.php - commands are pretty easy to understand&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Hitsounds&amp;diff=2545</id>
		<title>Hitsounds</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Hitsounds&amp;diff=2545"/>
		<updated>2006-11-14T17:32:32Z</updated>

		<summary type="html">&lt;p&gt;Lagger: /* Client configuration */ it&amp;#039;s 2 not 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Hitsounds&#039;&#039;&#039; are sounds that are played when you hit another player. There are three different sounds:&lt;br /&gt;
&lt;br /&gt;
* when you hit an enemy&lt;br /&gt;
* when you hit an enemy in the head hitbox&lt;br /&gt;
* when you hit a teammate&lt;br /&gt;
&lt;br /&gt;
==Client configuration==&lt;br /&gt;
&lt;br /&gt;
The hitsounds are controlled by the cvar &amp;lt;tt style=&amp;quot;color: green;&amp;quot;&amp;gt;b_hitsounds&amp;lt;/tt&amp;gt;. There are three different settings that can be used with this cvar:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; = off, no sounds are played&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; = all sounds are played&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt; = a sound occurs only when you hit the enemy&#039;s head&lt;br /&gt;
&lt;br /&gt;
Of course you can also configure hitsounds using the ingame ETPro menu.&lt;br /&gt;
&lt;br /&gt;
==Server configuration==&lt;br /&gt;
&lt;br /&gt;
Server administrators may disable hitsounds on their server using the cvar &amp;lt;tt style=&amp;quot;color: green;&amp;quot;&amp;gt;b_sv_hitsounds&amp;lt;/tt&amp;gt; (default 1, enable).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; = server globally disables hitsounds&lt;br /&gt;
 &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; = server allows clients to use hitsounds&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Server_Configuration&amp;diff=2527</id>
		<title>Server Configuration</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Server_Configuration&amp;diff=2527"/>
		<updated>2006-10-16T16:58:23Z</updated>

		<summary type="html">&lt;p&gt;Lagger: /* Configuration: */ added link to Pluggable config files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Installation==&lt;br /&gt;
File installation:&lt;br /&gt;
Note that the &amp;lt;tt&amp;gt;etpro&amp;lt;/tt&amp;gt; directory should be in the same directory as &amp;lt;tt&amp;gt;etmain&amp;lt;/tt&amp;gt;.  &amp;lt;i&amp;gt;Do &amp;lt;b&amp;gt;NOT&amp;lt;/b&amp;gt; extract the files to etmain&amp;lt;/i&amp;gt;&lt;br /&gt;
:Linux:&lt;br /&gt;
Unzip the server archive to &amp;lt;tt&amp;gt;enemy-territory/etpro/&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Windows:&lt;br /&gt;
Unzip the server archive to &amp;lt;tt&amp;gt;Wolfenstein - Enemy Territory\etpro&amp;lt;/tt&amp;gt;&lt;br /&gt;
Starting an ETPro server requires &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt; to be appended to the end of the command line.&lt;br /&gt;
:Linux example:&lt;br /&gt;
::&amp;lt;tt&amp;gt;  ./etded +set fs_game etpro&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Windows:&lt;br /&gt;
::&amp;lt;tt&amp;gt;  etded.exe +set fs_game etpro&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Windows Shortcut:&lt;br /&gt;
::Right click on the shortcut for Enemy Territory and select &amp;quot;Properties.&amp;quot; In the &amp;quot;Target&amp;quot; Box (Top text box) add &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt; to the end, after the quotes.&lt;br /&gt;
::&amp;lt;tt&amp;gt;  &amp;quot;C:\Program Files\Wolfenstein - Enemy Territory\et.exe&amp;quot; +set fs_game etpro&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039;: Starting from version ET 2.60, the Windows executables are et.exe for the game and etded.exe for the server. If you want to run a listen server on Windows start your game with et.exe, otherwise use etded.exe for a dedicated server.&lt;br /&gt;
&lt;br /&gt;
If you want to run 2.56 or earlier servers on Windows, you can only use et.exe and append &amp;lt;tt&amp;gt;+set dedicated 1&amp;lt;/tt&amp;gt; (or 2).&lt;br /&gt;
&lt;br /&gt;
==Warnings==&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;WARNING: Server improperly installed! Incorrect fs_game setting! Please notify administrator.&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:Incorrect &amp;lt;tt&amp;gt;+set fs_game&amp;lt;/tt&amp;gt; string.  Make sure it is set to &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;fs_game is write protected.&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:You must start your server via the command line (Or by changing the shortcut) with the &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt; command.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Client .pk3 missing!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:The PK3 file that is contained in the server install file is missing.  Download the [http://bani.anime.net/etpro/download.html server install] again and place the PK3 file in the server&#039;s ETPro directory.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Incorrect client .pk3 installed on server!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:The PK3 file mentioned above does not match the version of the server.  Download the PK3 (And possibly updated server) from the [http://bani.anime.net/etpro/download.html download page].&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Multiple client .pk3 versions installed on server!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:This means that the server has more than one ETPro client PK3.  Remove the older versions from the server&#039;s ETPro directory.&lt;br /&gt;
:This can also happen from having fs_game set twice in your shortcut or config.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Incorrect ET version!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:This happens when you are attempting to install ETPro on a non-patched ET server.  Download the [http://games.activision.com/games/wolfenstein patch] and try again.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Cvar dedicated is 0! Some features will break!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:ETPro is meant to be installed on a dedicated server.  Set the server to dedicated by using &amp;lt;tt&amp;gt;+set dedicated 2&amp;lt;/tt&amp;gt; in the command-line used to start the server.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;etpro_cheats.dat is corrupt or missing!&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&lt;br /&gt;
:The ETPro database file for positively identifying cheats has either been corrupted or does not exist on the server.  Download a recent version of [http://etpro.anime.net/etpro_cheats.dat the database].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Other Errors==&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;Server sends users the ETPro PK3 file over and over.&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:If you are using download redirects, make sure that the download path is set correctly if changed between versions.  eg: If the old PK3 was in &amp;lt;tt&amp;gt;server/etpro2&amp;lt;/tt&amp;gt; and the new version is in &amp;lt;tt&amp;gt;server/etpro3&amp;lt;/tt&amp;gt; and the redirect path in the server configuration was not changed, it would send the old ETPro 2.x files; which not being what the server is using, it would cause the download to start again.&amp;lt;br&amp;gt;&lt;br /&gt;
:If you are redirecting to an http or ftp server, make sure the pk3 on the http/ftp server exactly matches the pk3 on the game server.&lt;br /&gt;
:Some http servers may incorrectly try to send pk3 files as text/plain, which will corrupt downloads. Make sure they are sent as application/octet-stream:&lt;br /&gt;
&amp;lt;i&amp;gt;&amp;lt;u&amp;gt;*WARNING*: PunkBuster Reports PB Server Running Old Version Cx.xxx&amp;lt;/u&amp;gt;&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Windows:&lt;br /&gt;
:Run &amp;lt;tt&amp;gt;\Wolfenstein - Enemy territory\pb\pbweb.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Linux:&lt;br /&gt;
:Run &amp;lt;tt&amp;gt;/path_to_et_server/pb/pbweb.x86&amp;lt;/tt&amp;gt; (first chmod +x pbweb.x86)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration:==&lt;br /&gt;
[[:Category:ETPro:Server_Cvars|ETPro Server CVAR Explanations]]&lt;br /&gt;
&lt;br /&gt;
[[ETPro:Pluggable Config Files]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;i&amp;gt;[http://bani.anime.net/banimod/forums/viewforum.php?f=13 Server Admin Forums]&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://rtcw.jolt.co.uk/content/enemy_territory/server_guide/index.html DG&#039;s Advanced Server Guide]&lt;br /&gt;
&lt;br /&gt;
[http://et.d1p.de/etadmin_mod/wiki/index.php/User:Phats#Advanced_Campaign_Structure_-_Using_etadmin_mod____.28Prototype.29  Advanced Campaign Structure - Using etadmin_mod (Prototype)]&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=WolfWiki_talk:Community_Portal&amp;diff=2513</id>
		<title>WolfWiki talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=WolfWiki_talk:Community_Portal&amp;diff=2513"/>
		<updated>2006-09-04T19:35:37Z</updated>

		<summary type="html">&lt;p&gt;Lagger: votinated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The vote is: &amp;quot;Prohibit clans from being listed on the community portal page&amp;quot;&lt;br /&gt;
Addendum: The number of clans is rather large.  Another page, perhaps?&lt;br /&gt;
:For --[[User:WeblionX|WeblionX]] 09:22, 4 September 2006 (PDT)&lt;br /&gt;
Not only is the number of clans rather large, most don&#039;t last two weeks. And who would want to keep the list up to date? &lt;br /&gt;
:For --[[User:Lagger|Lagger]] 12:35, 4 September 2006 (PDT)&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETTV&amp;diff=2508</id>
		<title>ETTV</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETTV&amp;diff=2508"/>
		<updated>2006-09-03T12:38:31Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link fixorage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://ettv.anime.net/tvlogo.gif&lt;br /&gt;
&lt;br /&gt;
==What is ETTV?==&lt;br /&gt;
&lt;br /&gt;
ETTV allows you to connect up to a special server using your PC, and view a game in progress much like a spectator would. But it&#039;s more powerful than any normal spectator function - ETTV allows you all the features of a [[Shoutcasting|shoutcaster]] - being able to see the names of players over their heads, seeing a dynamite timer over the dynamite, etc. You can even watch spectators on the server, such as &#039;cameramen&#039;, people that ensure you get the best overview shots of battles, the best 1st person views during 1 on 1&#039;s, and those crucial views just before a panzer dishes out some ownage on an unsuspecting enemy group.&lt;br /&gt;
&lt;br /&gt;
Because you&#039;re using ETTV rather than just spectating the game, the server can relay the broadcast of the game to other servers - meaning 100&#039;s or even 1000&#039;s of us can watch world-class teams battling without lagging them out by crowding their server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*For more information, see the [[ETTV:Viewer%27s_Guide|Viewer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ETTV]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Performance_Tuning&amp;diff=2479</id>
		<title>Performance Tuning</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Performance_Tuning&amp;diff=2479"/>
		<updated>2006-08-27T04:43:15Z</updated>

		<summary type="html">&lt;p&gt;Lagger: /* Improving performance on video card limited systems */ - Added r_subdivisions and r_lodcurveerror&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Performance bottlenecks and workarounds==&lt;br /&gt;
The following describes general areas which can affect game performance, and possible workarounds. Network performance is not addressed here, except as it relates to CPU usage.&lt;br /&gt;
&lt;br /&gt;
Hardware mentioned is meant only as a general example.&lt;br /&gt;
&lt;br /&gt;
==CPU and system memory speed==&lt;br /&gt;
;As a general rule, ET likes lots of CPU and memory/cache/FSB bandwidth.&lt;br /&gt;
Anything less than an Athlon XP 2000 or Pentium 4 2GHZ. Systems with poor memory bandwidth (SDR or DDD266 RAM) or crippled cache (celeron, duron) will suffer.&lt;br /&gt;
===Improving performance on CPU limited systems===&lt;br /&gt;
*&#039;&#039;&#039;b_optimizeprediction 1&#039;&#039;&#039;&lt;br /&gt;
*Higher ping and packet loss put more load on the CPU&lt;br /&gt;
*Larger servers put more load on your system&lt;br /&gt;
&lt;br /&gt;
==Video card==&lt;br /&gt;
Anything less than a geforce4 (not MX) or radeon 9600 will be a serious handicap. Beware of manufacturers deceptive naming conventions, a FooBar 1000XTS might be the best available card while the FooBar 1000LE is utter crap. &lt;br /&gt;
===Improving performance on video card limited systems===&lt;br /&gt;
Note: you may experience that maps appear to load twice because of restrictions enforced on these cvars by server and league admins.&lt;br /&gt;
*&#039;&#039;&#039;Lower resolution&#039;&#039;&#039;&lt;br /&gt;
:Choose a lower value for r_mode; use /modelist to see available modes&lt;br /&gt;
*&#039;&#039;&#039;Lower texture quality&#039;&#039;&#039;&lt;br /&gt;
**Set [[r_picmip]] to a higher value (up to 3).&lt;br /&gt;
**Set [[r_texturebits]] to 16&lt;br /&gt;
**Set [[r_texturemode]] to &amp;lt;tt&amp;gt;GL_NEAREST_MIPMAP_NEAREST&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;GL_LINEAR&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;GL_NEAREST&amp;lt;/tt&amp;gt;&lt;br /&gt;
**Set texture compression [[r_ext_compressed_textures]] to 1 (Note that this may have a positive or negative impact on performance, depending on your system)&lt;br /&gt;
*&#039;&#039;&#039;Lower color depth&#039;&#039;&#039;&lt;br /&gt;
**Set [[r_colorbits]] to 16&lt;br /&gt;
*&#039;&#039;&#039;Lower Curve Detail&#039;&#039;&#039;&lt;br /&gt;
**Set r_subdivisions 25 - higher value gives lower detail. sane values are 1 - 25.&lt;br /&gt;
**Set r_lodCurveError 125 - controls the distance from you where detail is lowered, sane values are 100 - 10000.&lt;br /&gt;
*&#039;&#039;&#039;Other quality settings&#039;&#039;&#039;&lt;br /&gt;
**Set r_fastsky to 1&lt;br /&gt;
&lt;br /&gt;
==Available Physical RAM==&lt;br /&gt;
256 megabytes or less of system RAM will impact level load times and cause hitching (momentary drops in FPS) in game. If levels take a long time to load, or your hard disk is frequently active during gameplay, you are most likely need more RAM.&lt;br /&gt;
===Settings for systems without much system RAM===&lt;br /&gt;
*r_picmip and r_texturebits, as above&lt;br /&gt;
*lower sound quality&lt;br /&gt;
*set com_hunkmegs to 56, or the lowest value that works with all the maps you want to play.&lt;br /&gt;
*other [[memory cvars]] should not be set too high above the default.&lt;br /&gt;
&lt;br /&gt;
==Integrated sound ==&lt;br /&gt;
Most integrated sound devices suck, and can cause noticeable FPS loss and stuttering. &lt;br /&gt;
&lt;br /&gt;
==External Programs==&lt;br /&gt;
In general, the less you run when you play ET, the better. However, some programs are known to have disproportionate performance impacts.&lt;br /&gt;
*&#039;&#039;&#039;x-fire&#039;&#039;&#039; in game integration features.&lt;br /&gt;
*&#039;&#039;&#039;p2p&#039;&#039;&#039; bittorrent, kazaa etc.&lt;br /&gt;
*&#039;&#039;&#039;malware&#039;&#039;&#039; viruses, spyware and addware can all cause serious performance problems.&lt;br /&gt;
*&#039;&#039;&#039;scheduled tasks&#039;&#039;&#039; such as windows update or antivirus updates&lt;br /&gt;
*&#039;&#039;&#039;software firewalls and antivirus&#039;&#039;&#039; some of these products have been reported to cause problems. (TODO more details)&lt;br /&gt;
&lt;br /&gt;
==Benchmarking and Testing==&lt;br /&gt;
To get the best performance out of your particular system, you should test each tweak to ensure it has the desired effect.&lt;br /&gt;
&lt;br /&gt;
You can use the &#039;&#039;&#039;timedemo&#039;&#039;&#039; cvar to benchmark demo playback. Do this by setting &amp;lt;tt&amp;gt;timedemo 1&amp;lt;/tt&amp;gt; in the console, and then playing back a demo. When the demo playback completes, the console contains an average framerate. If you have problems playing back demos, see [[Client_Configuration]]&lt;br /&gt;
&lt;br /&gt;
If you want to compare performance between mods, you can use an etmain (or any server only mod such as etpub or shrubet) demo and play it back both in etmain and etpro.&lt;br /&gt;
&lt;br /&gt;
It is important to remember that &#039;&#039;&#039;demo playback is not directly comparable to online play&#039;&#039;&#039;. In general, demo playback depends more on the video card than online play does. A tweak that shows a huge improvement in demo playback may have little effect in online play.&lt;br /&gt;
&lt;br /&gt;
To test performance in real play, you should use [[DrawFPS|cg_drawFPS]] and then pick a standard location. This will not give you exactly the same results every time, but will show major effects. Ideally, the test should be done on an otherwise empty dedicated server with a consistent ping. If you host the server on the same machine as the client you are testing, this will affect the results.&lt;br /&gt;
&lt;br /&gt;
TODO: it would be nice to have a standard timedemo demo, so people can compare results.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
This page is a draft. The following need to be added or expanded:&lt;br /&gt;
*examples of FPS for various typical systems/settings, so people can know if they are getting expected performance out of their hardware.&lt;br /&gt;
*more complete list of useful cvars.&lt;br /&gt;
*links to config sites.&lt;br /&gt;
*links to more detailed descriptions of settings.&lt;br /&gt;
*benchmarking&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETTV:Viewer%27s_Guide&amp;diff=2471</id>
		<title>ETTV:Viewer&#039;s Guide</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETTV:Viewer%27s_Guide&amp;diff=2471"/>
		<updated>2006-08-05T17:35:46Z</updated>

		<summary type="html">&lt;p&gt;Lagger: wollfog?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ETTV Viewer&#039;s Guide ==&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
ETTV is a modification that allows anybody to spectate Enemy Territory matches without actually being on the server the teams are playing on. The purpose is so that you have have thousands of people all able to watch an exciting match live, without being able to interfere or otherwise cause problems with the match.&lt;br /&gt;
&lt;br /&gt;
The ETTV modification is supplied within the ETPro modification, you do not need any further modification unless you intend to run an [[ETTV:Server_Configuration|ETTV Server]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Watching ETTV ===&lt;br /&gt;
Simply connect to an ETTV server like any other Enemy Territory server. Once you are connected it will look and feel very much like you are in spectator mode on any normal server.&lt;br /&gt;
&lt;br /&gt;
There are some issues which occur frequently enough to make it worth noting here, however. &lt;br /&gt;
&lt;br /&gt;
* ETTV servers frequently do not allow clients (that&#039;s you/your game) to auto-download any missing files. You should try to ensure you &#039;&#039;&#039;have the correct patch, modification and custom map versions before you join&#039;&#039;&#039;. This is usually, but not necessarily the latest official version. If you do not have the correct versions you may be unable to join, or disconnected at some point during viewing.&lt;br /&gt;
&lt;br /&gt;
*  &#039;&#039;&#039;Do not be concerned about interfering with the match&#039;&#039;&#039;, you cant. The ETTV server you join is essentially playing a live demo of the match which is actually being played on another server. You can spectate freely and talk crap with the other viewers on the same ETTV server, thats it. Chat from ETTV viewers is distinguished from chat in the match by the red &amp;quot;ETTV&amp;quot; preceding it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Connecting via IP address&#039;&#039;&#039; (command-line or console) is identical to any other Enemy Territory server. If you&#039;ve been given the IP address of an ETTV server and are wondering what to do with it, open the console (usually by pressing the key under ESCape, often the ~ or ` key) and use the following command (including the forwardslash) -  &amp;lt;tt&amp;gt;/connect ip.add.ress:port&amp;lt;/tt&amp;gt;&lt;br /&gt;
:(for example: &amp;lt;tt&amp;gt;/connect 62.75.178.112:27962&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Additional Controls ===&lt;br /&gt;
* cycle between everybody on the server (who shows up on the scoresheet)&lt;br /&gt;
:fire &amp;lt;tt&amp;gt;&amp;lt;Left Mouse button&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* cycle following only objective carriers&lt;br /&gt;
:Prone + (fire / altweapon) &amp;lt;tt&amp;gt;&amp;lt;X + LeftMouse&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* cycle following only spectators / shoutcasters&lt;br /&gt;
:Zoom + (fire / altweapon) &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;B + LeftMouse&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Jump directly to following a player in view&lt;br /&gt;
: Press activate while pointing crosshair at player&lt;br /&gt;
* return to free floating mode.&lt;br /&gt;
: Press jump or activate &amp;lt;tt&amp;gt;&amp;lt;Spacebar&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generally Useful Tips ===&lt;br /&gt;
*  Chats from other ETTV spectators can be hidden with the console command &amp;lt;tt&amp;gt;/tvchat off&amp;lt;/tt&amp;gt;, and re-enabled with &amp;lt;tt&amp;gt;/tvchat on&amp;lt;/tt&amp;gt;. All chat done on ETTV won&#039;t be seen on the game server (luckily). If certain chatters start to irritate you, you can easily ignore specific people with the &amp;lt;tt&amp;gt;/ignore&amp;lt;/tt&amp;gt; command and can use the &amp;lt;tt&amp;gt;/unignore&amp;lt;/tt&amp;gt; command to show their chat messages again.&lt;br /&gt;
&lt;br /&gt;
*  To spectate a specific player through their eyes, open console and put in the command &amp;lt;tt&amp;gt;/players&amp;lt;/tt&amp;gt;, and notice the player number. Now just &amp;lt;tt&amp;gt;/follow x&amp;lt;/tt&amp;gt;. If you&#039;re new to Enemy Territory, you might find it most entertaining to follow a shoutcaster, if there is one.&lt;br /&gt;
&lt;br /&gt;
*  Viewing ETTV in a window can be convenient while you find other IP&#039;s, talk in IRC, or access WinAmp, for example. To do this, you can go to the options screen and set a resolution which is smaller than your desktop screen resolution, and then select windowed mode.  Alternatively, enter &amp;lt;tt&amp;gt;/r_mode 3&amp;lt;/tt&amp;gt; into console, and then hit ALT+Enter. &lt;br /&gt;
&lt;br /&gt;
* Normal cvar restrictions dont apply when viewing demos, nor do they (usually) when viewing ETTV. This is OK because you&#039;re not playing against anyone. Several leagues remove the foliage (all the grassy stuff) on Radar because it hurts performance and, some say, isnt good for competitive gaming. As an ETTV viewer you can remove it via console: &amp;lt;tt&amp;gt;/r_drawfoliage 0&amp;lt;/tt&amp;gt;. To further incrase performance you can remove wolffog (an effect which &amp;quot;adds&amp;quot; fog to the map, sometimes restricting the viewing distance [e.g. Railgun]) by setting &amp;lt;tt&amp;gt;r_wolffog 0&amp;lt;/tt&amp;gt;. You might want to ensure that is reset to 1 before you join a normal gameserver however.&lt;br /&gt;
&lt;br /&gt;
* ETTV is generally not live; normally a few minute long delay is added so competing teams cannot have another member watching and sending participants advantagous information.&lt;br /&gt;
&lt;br /&gt;
== Shoutcasts ==&lt;br /&gt;
A [http://en.wikipedia.org/wiki/Shoutcast shoutcast] is essentially a match commentary, broadcast over something akin to internet radio. The shoutcaster is usually someone heavily involved with the ET community and listening to the shoutcast greatly enhances the entertainment value of ETTV.&lt;br /&gt;
&lt;br /&gt;
A shoutcast is completely seperate from ETTV however, to listen to a shoutcast you will need to open the URL with a suitable program - [http://winamp.com/ WinAmp] being one of many such programs. The shoutcast URL is often available at the same place you found the ETTV details for the match you want to watch.&lt;br /&gt;
&lt;br /&gt;
Like ETTV, shoutcasts are usually not totally live - normally a few minutes delay is added so competing teams cannot have another member watching or listening in and sending participants advantagous information. Typically ETTV has a longer delay than the shoutcast does, so the result is ETTV and shoutcast are out of sync.&lt;br /&gt;
&lt;br /&gt;
Fortunately it isnt the other way around, because you can pause WinAmp to syncronise the two. Simply listen for some event in the shoutcast (often shoutcaster will read out the time on the clock for this purpose, or you can listen for event&#039;s like &#039;FIGHT!&#039; or &#039;dynamite planted&#039;) and immediately hit pause. When the event occurs in ETTV, hit play again. This can be easier if you view ETTV in windowed mode, also if you make a mistake and pause WinAmp for too long, reconnect to the shoutcast URL.&lt;br /&gt;
&lt;br /&gt;
== Replaying ETTV demos on a local Windows server ==&lt;br /&gt;
&lt;br /&gt;
If you have ETTV Demo files (*.tv84), you can watch them locally on your windows machine. in order to do so, you will need a ETTV-Server. Download the latest version (currently: http://returntocastlewolfenstein.filefront.com/file/ETTV;52030) and proceed with the following steps:&lt;br /&gt;
&lt;br /&gt;
* Extract all files except &amp;lt;i&amp;gt;tvgame.mp.i386.so&amp;lt;/i&amp;gt; into your &amp;quot;Wolfenstein - Enemy Territory&amp;quot; root directory (&amp;lt;b&amp;gt;not&amp;lt;/b&amp;gt; etmain). &lt;br /&gt;
* The &amp;lt;i&amp;gt;tvgame.mp.i386.so&amp;lt;/i&amp;gt; file goes into the etpro directory.&lt;br /&gt;
* Put the *.tv_84 files in your &amp;lt;i&amp;gt;etpro\demos&amp;lt;/i&amp;gt; directory  &lt;br /&gt;
* Create a shortcut to ETTV.exe (Right click in explorer windows, &amp;quot;new...&amp;quot; -&amp;gt; &amp;quot;Shortcut&amp;quot;). &lt;br /&gt;
* Change the program call in the shortcut (Right click, &amp;quot;Properties&amp;quot;) to: &#039;&amp;lt;i&amp;gt;&amp;quot;path&amp;lt;/i&amp;gt;\ettv.exe&amp;quot; +set fs_game etpro +set ettv_autoplay 1 +demo demo0000&#039;&lt;br /&gt;
&lt;br /&gt;
When you double click on the shortcut, ETTV should come up displaying a console and starting the playback. Note that the demo files are required to be named like &amp;lt;i&amp;gt;demo0000.tv_84, demo0001.tv_84, etc.&amp;lt;/i&amp;gt; in order to work like this. The server will autoplay all demos in successive order. You can now start your ET and connect to your local server (choose &amp;quot;Internet Play&amp;quot;, then &amp;quot;connect to IP&amp;quot; &amp;lt;i&amp;gt;127.0.0.1&amp;lt;/i&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Known Issues ====&lt;br /&gt;
&lt;br /&gt;
You have to install the complete etpro package for servers - the pk3 file that clients have is not enough.&lt;br /&gt;
&lt;br /&gt;
I have discovered client error &amp;quot;MAX_GAMESTATE_CHARS&amp;quot; on several demos: The ETTV seems to run fine but local clients get kicked for that reason. I have not yet found why this happens, nor a solution. Any hints on that would be helpful.&lt;br /&gt;
&lt;br /&gt;
This short How-To was written on request for gamestv.org, they are hereby permitted to use this text on their own site.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
* [http://www.gamestv.org/ GamesTV.org] is an ETTV listings site.&lt;br /&gt;
* [http://www.radioitg.com/schedule.php Radio iTG&#039;s schedule] is a source of shoutcasts.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETTV]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Rookie_One&amp;diff=2256</id>
		<title>User:Rookie One</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Rookie_One&amp;diff=2256"/>
		<updated>2006-04-28T08:18:41Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [http://bani.anime.net/banimod/forums/profile.php?mode=viewprofile&amp;amp;u=4183 Rookie One] ==&lt;br /&gt;
&amp;lt;table witdh=100% height=100&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=400 align=center valign=center&amp;gt;http://a.deviantart.com/avatars/r/o/rookie0ne.jpg&amp;lt;/td&amp;gt;&amp;lt;td width=100% align=left valign=center&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Game modding&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;[http://www.moh.gamesnet.pl/rookieone/?lang=english Rookie One&#039;s Command Post] &#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Other stuff&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;[http://rookie0ne.deviantart.com/ My DeviantArt profile]&#039;&#039;&lt;br /&gt;
** &#039;&#039;[http://rookie0ne.dmusic.com/ My dmusic profile]&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Currently playing around with [[ETPro]]&#039;s new [[Lua_Mod_API|server-side mod]] ability. :)&amp;lt;br&amp;gt;Also an overzealous WoflWiki contributor, causing much mess. :S&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
== Contact ==&lt;br /&gt;
* &#039;&#039;&#039;E-mail/MSN:&#039;&#039;&#039; rookie underscore one at army dot com&lt;br /&gt;
* &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Jabber Jabber]:&#039;&#039;&#039; r00kie underscore 0ne at chrome dot pl&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User:Infty&amp;diff=2255</id>
		<title>User:Infty</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User:Infty&amp;diff=2255"/>
		<updated>2006-04-28T08:18:22Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table witdh=100% height=100&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=400 align=center valign=center &amp;gt;http://www.matthiaswetzka.de/images/ich.png&amp;lt;/td&amp;gt;&amp;lt;td width=100% align=left valign=center&amp;gt;&lt;br /&gt;
== Contact ==&lt;br /&gt;
* &#039;&#039;&#039;Homepage&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;[http://www.fueldump.de www.fueldump.de]&#039;&#039; - PM me in the forum for contact.&lt;br /&gt;
* &#039;&#039;&#039;[[IRC]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;#fueldump.de&#039;&#039; - fd.de channel on quakenet&amp;lt;br&amp;gt;[[irc://irc.quakenet.org:6667/fueldump.de]]&lt;br /&gt;
**&#039;&#039;#etpro&#039;&#039; - [[ETPro]] channel on freenode&amp;lt;br&amp;gt;[[irc://irc.freenode.net:6667/etpro]]&lt;br /&gt;
**&#039;&#039;#etpro&#039;&#039; - [[ETPro]] support channel on quakenet&amp;lt;br&amp;gt;[[irc://irc.quakenet.org:6667/etpro]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[[Lua_Mod_API|ETPro Lua]] scripts&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== [http://fueldump.matthiaswetzka.de/lua/nokill.lua NoKill v1.0] ===&lt;br /&gt;
&lt;br /&gt;
Completely disables the /kill command and displays a notifcation to the player who tried the /kill. Unlike other mods, this script doesnt kick players after a certain amount of /kills.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Fieldname&amp;diff=2254</id>
		<title>Fieldname</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Fieldname&amp;diff=2254"/>
		<updated>2006-04-28T08:17:55Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
==Entity Fieldnames==&lt;br /&gt;
List of fields supported by [[Lua Mod API#entities|et.gentity_get() and et.gentity_set()]] functions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pitatable columns=3 headlines=&amp;quot;field;type;access&amp;quot; widths=&amp;quot;180;120;60&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
activator;entity;RO;&lt;br /&gt;
chain;entity;RW;&lt;br /&gt;
classname;string;RW;&lt;br /&gt;
client.inactivityTime;integer;RW;&lt;br /&gt;
client.inactivityWarning;qboolean;RW;&lt;br /&gt;
clipmask;integer;?;&lt;br /&gt;
closespeed;float;RW;&lt;br /&gt;
count;integer;RW;&lt;br /&gt;
count2;integer;RW;&lt;br /&gt;
damage;integer;RW;&lt;br /&gt;
deathType;meansOfDeath_t;RW;&lt;br /&gt;
delay;float;RW;&lt;br /&gt;
dl_atten;integer;RW;&lt;br /&gt;
dl_color;vec3;RW;&lt;br /&gt;
dl_shader;string;RO;&lt;br /&gt;
dl_stylestring;string;RO;&lt;br /&gt;
duration;float;RW;&lt;br /&gt;
end_size;integer;RW;&lt;br /&gt;
enemy;entity;RW;&lt;br /&gt;
flags;bitflag;RO;&lt;br /&gt;
harc;float;RW;&lt;br /&gt;
health;integer;RW;&lt;br /&gt;
inuse;qboolean;RO;&lt;br /&gt;
isProp;qboolean;RO;&lt;br /&gt;
item;string;RW;&lt;br /&gt;
key;integer;RW;&lt;br /&gt;
message;string;RW;&lt;br /&gt;
methodOfDeath;integer;RW;&lt;br /&gt;
mg42BaseEnt;integer;RW;&lt;br /&gt;
missionLevel;integer;RW;&lt;br /&gt;
model;string;RO;&lt;br /&gt;
model2;string;RO;&lt;br /&gt;
nextTrain;entity;RW;&lt;br /&gt;
noise_index;integer;RW;&lt;br /&gt;
origin;vec3;RW;&lt;br /&gt;
pers.connected;connected_t;?;&lt;br /&gt;
pers.netname;string;?;&lt;br /&gt;
pers.localClient;qboolean;?;&lt;br /&gt;
pers.initialSpawn;qboolean;?; &lt;br /&gt;
pers.enterTime;integer;?;&lt;br /&gt;
pers.connectTime;integer;?; &lt;br /&gt;
pers.teamState.state;teamstatestate_t;?;&lt;br /&gt;
pers.voteCount;integer;?;&lt;br /&gt;
pers.teamVoteCount;integer;?; &lt;br /&gt;
pers.complaints;integer;?; &lt;br /&gt;
pers.complaintClient;integer;?; &lt;br /&gt;
pers.complaintEndTime;integer;?; &lt;br /&gt;
pers.lastReinforceTime;integer;?; &lt;br /&gt;
pers.applicationClient;integer;?; &lt;br /&gt;
pers.applicationEndTime;integer;?; &lt;br /&gt;
pers.invitationClient;integer;?; &lt;br /&gt;
pers.invitationEndTime;integer;?; &lt;br /&gt;
pers.propositionClient;integer;?; &lt;br /&gt;
pers.propositionClient2;integer;?; &lt;br /&gt;
pers.propositionEndTime;integer;?; &lt;br /&gt;
pers.autofireteamEndTime;integer;?; &lt;br /&gt;
pers.autofireteamCreateEndTime;integer;?; &lt;br /&gt;
pers.autofireteamJoinEndTime;integer;?; &lt;br /&gt;
pers.lastSpawnTime;integer;?;&lt;br /&gt;
pers.ready;qboolean;?;&lt;br /&gt;
prevTrain;entity;RW;&lt;br /&gt;
props_frame_state;integer;RO;&lt;br /&gt;
ps.stats;integer array;RW; &lt;br /&gt;
ps.persistant;integer array;RW;&lt;br /&gt;
ps.ping;integer;?;&lt;br /&gt;
ps.powerups;integer array;RW;&lt;br /&gt;
ps.ammo;integer array;RW; &lt;br /&gt;
ps.ammoclip;integer array;RW;&lt;br /&gt;
r.absmax;vec3;RO;&lt;br /&gt;
r.absmin;vec3;RO;&lt;br /&gt;
r.bmodel;qboolean;RO;&lt;br /&gt;
r.contents;integer;RW;&lt;br /&gt;
r.currentAngles;vec3;RW;&lt;br /&gt;
r.currentOrigin;vec3;RW;&lt;br /&gt;
r.eventTime;integer;RW;&lt;br /&gt;
r.linkcount;integer;RO;&lt;br /&gt;
r.linked;qboolean;RO;&lt;br /&gt;
r.maxs;vec3;RW;&lt;br /&gt;
r.mins;vec3;RW;&lt;br /&gt;
r.ownerNum;integer;RW;&lt;br /&gt;
r.singleClient;integer;RW;&lt;br /&gt;
r.svFlags;integer;RW;&lt;br /&gt;
r.worldflags;integer;RO;&lt;br /&gt;
radius;integer;RW;&lt;br /&gt;
random;float;RW;&lt;br /&gt;
rotate;vec3;RW;&lt;br /&gt;
s.angles;vec3;RW;&lt;br /&gt;
s.angles2;vec3;RW;&lt;br /&gt;
s.apos;trajectory;RW;&lt;br /&gt;
s.clientNum;integer;RW;&lt;br /&gt;
s.constantLight;integer;RW;&lt;br /&gt;
s.density;integer;RW;&lt;br /&gt;
s.dl_intensity;integer;RW;&lt;br /&gt;
s.dmgFlags;integer;RW;&lt;br /&gt;
s.eFlags;integer;RW;&lt;br /&gt;
s.eType;integer;?;&lt;br /&gt;
s.effect1Time;integer;RW;&lt;br /&gt;
s.effect2Time;integer;RW;&lt;br /&gt;
s.effect3Time;integer;RW;&lt;br /&gt;
s.frame;integer;RW;&lt;br /&gt;
s.groundEntityNum;integer;RO;&lt;br /&gt;
s.loopSound;integer;RW;&lt;br /&gt;
s.modelindex;integer;RW;&lt;br /&gt;
s.modelindex2;integer;RW;&lt;br /&gt;
s.number;integer;RO;&lt;br /&gt;
s.onFireEnd;integer;RW;&lt;br /&gt;
s.onFireStart;integer;RW;&lt;br /&gt;
s.origin;vec3;?;&lt;br /&gt;
s.origin2;vec3;?;&lt;br /&gt;
s.pos;trajectory;RW;&lt;br /&gt;
s.powerups;integer;RO;&lt;br /&gt;
s.solid;integer;RW;&lt;br /&gt;
s.teamNum;integer;RW;&lt;br /&gt;
s.time;integer;RW;&lt;br /&gt;
s.time2;integer;RW;&lt;br /&gt;
s.weapon;integer;RO;&lt;br /&gt;
scriptName;string;RO;&lt;br /&gt;
sess.sessionTeam;team_t;RW;&lt;br /&gt;
sess.spectatorTime;integer;RW;&lt;br /&gt;
sess.spectatorState;spectatorState_t;RW;&lt;br /&gt;
sess.spectatorClient;integer;RW;&lt;br /&gt;
sess.latchSpectatorClient;integer;RW;&lt;br /&gt;
sess.playerType;integer;RW;&lt;br /&gt;
sess.playerWeapon;integer;RW;&lt;br /&gt;
sess.playerWeapon2;integer;RW;&lt;br /&gt;
sess.spawnObjectiveIndex;integer;RW;&lt;br /&gt;
sess.latchPlayerType;integer;RW;&lt;br /&gt;
sess.latchPlayerWeapon;integer;RW;&lt;br /&gt;
sess.latchPlayerWeapon2;integer;RW;&lt;br /&gt;
sess.damage_given;integer;RW;&lt;br /&gt;
sess.damage_received;integer;RW;&lt;br /&gt;
sess.deaths;integer;RW;&lt;br /&gt;
sess.game_points;integer;RW;&lt;br /&gt;
sess.gibs;integer;RW;&lt;br /&gt;
sess.kills;integer;RW;&lt;br /&gt;
sess.medals;integer array;RW;&lt;br /&gt;
sess.muted;qboolean;RW;&lt;br /&gt;
sess.rank;integer;RW;&lt;br /&gt;
sess.referee;integer;RW;&lt;br /&gt;
sess.rounds;integer;RW;&lt;br /&gt;
sess.semiadmin;integer;RW;&lt;br /&gt;
sess.skill;integer array;RW;&lt;br /&gt;
sess.spec_invite;integer;RW;&lt;br /&gt;
sess.spec_team;integer;RW;&lt;br /&gt;
sess.suicides;integer;RW;&lt;br /&gt;
sess.team_damage;integer;RW;&lt;br /&gt;
sess.team_kills;integer;RW;&lt;br /&gt;
sess.team_received;integer;RW;&lt;br /&gt;
sess.aWeaponStats;weapon_stat_t;RW;&lt;br /&gt;
spawnflags;integer;RO;&lt;br /&gt;
spawnitem;string;RO;&lt;br /&gt;
speed;float;RW;&lt;br /&gt;
splashDamage;integer;RW;&lt;br /&gt;
splashMethodOfDeath;integer;RW;&lt;br /&gt;
splashRadius;integer;RW;&lt;br /&gt;
start_size;integer;RW;&lt;br /&gt;
tagName;string;RO;&lt;br /&gt;
tagParent;entity;RW;&lt;br /&gt;
takedamage;boolean;RW;&lt;br /&gt;
tankLink;entity;RW;&lt;br /&gt;
target;string;RW;&lt;br /&gt;
TargetAngles;vec3;RW;&lt;br /&gt;
TargetFlag;integer;RO;&lt;br /&gt;
targetname;string;RO;&lt;br /&gt;
teamchain;entity;RW;&lt;br /&gt;
teammaster;entity;RW;&lt;br /&gt;
track;string;RO;&lt;br /&gt;
varc;float;RW;&lt;br /&gt;
wait;float;RW;&lt;br /&gt;
waterlevel;integer;RO;&lt;br /&gt;
watertype;integer;RO;&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
:&#039;&#039;note&#039;&#039;: all the sess.* fields will return nil unless the entity is associated with client slot &amp;lt; sv_maxclients.&lt;br /&gt;
:&#039;&#039;note&#039;&#039;: all array variables need to be get or set with an additional parameter.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==ET variable types==&lt;br /&gt;
&lt;br /&gt;
===qboolean===&lt;br /&gt;
:a &#039;&#039;&#039;qboolean&#039;&#039;&#039; is a number representing a boolean value.&lt;br /&gt;
:0 is false&lt;br /&gt;
:1 is true&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===vec3===&lt;br /&gt;
:a &#039;&#039;&#039;vec3_t&#039;&#039;&#039; is a 3-element array of numbers (C definition: typedef float vec3_t[3];). It is usually used to store and process coordinates in 3D space.&amp;lt;br&amp;gt;&lt;br /&gt;
:In etpro-lua a vector is an array (table indexed by integers) containing 3 numbers. It can be accessed by&lt;br /&gt;
:doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin = et.gentity_get(entNum,&amp;quot;r.currentOrigin&amp;quot;) --a vec3 value&lt;br /&gt;
x,y,z = origin[1],origin[2],origin[3]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===array===&lt;br /&gt;
:The fields listed as having type &#039;&#039;&#039;array&#039;&#039;&#039; represent an entity value which is an array. Individual elements of the array are accessed by passing the desired index in the &#039;&#039;arrayindex&#039;&#039; argument to the et.gentity_get and et.gentity_set functions. Valid array indexes are integers from 0 up to some field specific maximum. The &#039;&#039;arrayindex&#039;&#039; argument is &#039;&#039;&#039;required&#039;&#039;&#039; when accessing array type fields, so only one element of an array can be accessed in a given call to the gentity_* functions.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===trajectory===&lt;br /&gt;
:a &#039;&#039;&#039;trajectory&#039;&#039;&#039; is returned as a lua table described below&lt;br /&gt;
&amp;lt;pre&amp;gt;{&lt;br /&gt;
  trDuration = &amp;lt;number&amp;gt;, --- int&lt;br /&gt;
  trTime = &amp;lt;number&amp;gt;, -- int&lt;br /&gt;
  trType = &amp;lt;number&amp;gt;, -- see below for allowed values&lt;br /&gt;
  trBase = &amp;lt;vec3_t&amp;gt;, -- vec3, as described above&lt;br /&gt;
  trDelta = &amp;lt;vec3_t&amp;gt; -- also a vec3&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
: the allowed values for trType (along with the enum names and original comments from the ET source), are as follows. Note &lt;br /&gt;
: that not all values make sense for all entity types &lt;br /&gt;
&amp;lt;pitatable columns=3 headlines=&amp;quot;number;type;discription&amp;quot; widths=&amp;quot;40;160;450&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot;&amp;gt;&lt;br /&gt;
1;TR_STATIONARY;&lt;br /&gt;
2;TR_INTERPOLATE;non-parametric, but interpolate between snapshots;&lt;br /&gt;
3;TR_LINEAR;&lt;br /&gt;
4;TR_LINEAR_STOP;&lt;br /&gt;
5;TR_LINEAR_STOP_BACK;reverse movement can be different than forward;&lt;br /&gt;
6;TR_SINE;value = base + sin( time / duration ) * delta;&lt;br /&gt;
7;TR_GRAVITY;&lt;br /&gt;
8;TR_GRAVITY_LOW;&lt;br /&gt;
9;TR_GRAVITY_FLOAT;super low grav with no gravity acceleration;&lt;br /&gt;
10;TR_GRAVITY_PAUSED;has stopped, but trace to see if it should be switched back to TR_GRAVITY;&lt;br /&gt;
11;TR_ACCELERATE;&lt;br /&gt;
12;TR_DECCELERATE;&lt;br /&gt;
13;TR_SPLINE;&lt;br /&gt;
14;TR_LINEAR_PATH;&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===entity===&lt;br /&gt;
:The fields listed as having type &#039;&#039;&#039;enitity&#039;&#039;&#039; return an entity number or nil. Entity numbers are integers from 0 through 1023. Some of the entity numbers have special meanings:&lt;br /&gt;
:0 - (sv_privateclients - 1) are reserved for clients who connect with the private slot password&lt;br /&gt;
:0 - 63 are reserved for clients. A client&#039;s entity number is also its client number (as shown by /players for example)&lt;br /&gt;
:1022 is the &#039;&#039;&#039;worldspawn&#039;&#039;&#039; entity&lt;br /&gt;
:1023 is &#039;&#039;&#039;ENTITYNUM_NONE&#039;&#039;&#039; which is used instead of null in C under some circumstances to indicate no entity. This is needed where an entity number will be passed over the network.&lt;br /&gt;
:&#039;&#039;Note&#039;&#039;: Some other fields not listed as type &#039;entity&#039; may take an entity number value. &#039;&#039;&#039;mg42BaseEnt&#039;&#039;&#039; and &#039;&#039;&#039;s.number&#039;&#039;&#039; are examples.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===meansOfDeath===&lt;br /&gt;
:a &#039;&#039;&#039;meansOfDeath_t&#039;&#039;&#039; is a number indicating the [[etdamage|Method of Death]] Click  [[etdamage|here]] for a list whit posable value&#039;s&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETPro:Server_cvar_list&amp;diff=2253</id>
		<title>ETPro:Server cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETPro:Server_cvar_list&amp;diff=2253"/>
		<updated>2006-04-28T08:17:32Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;ETPro Server cvars/commands&#039;&#039;&#039; ==&lt;br /&gt;
By Birdman &amp;amp; =FF=im2good4u&lt;br /&gt;
&lt;br /&gt;
This list contains all ETPro server cvars and commands (hopefully).&lt;br /&gt;
&lt;br /&gt;
We have tried to include as much information in each description as possible, but some might require more explaining, so links to other pages here or the forums have been added.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
If there is any ETPro server cvars/commands that you think we have omitted or any that you think the description is wrong then pm me [http://bani.anime.net/banimod/forums/profile.php?mode=viewprofile&amp;amp;u=3475 here]. Before pm’ing are you sure it’s a ETPro cvar/command and not another mods or an ETmain one, if it is ETPro then let me know what cvar/command we’ve omitted, adding a short description of what it’s use if known to you. If you think a description is wrong, quote the cvar/command and it’s description adding your description of it.&lt;br /&gt;
&lt;br /&gt;
Apologies for all the ..... to try create new lines or push things along to create a line so things look a bit better in some of the description sections, but i couldn&#039;t start new lines using the pitatable.&lt;br /&gt;
&lt;br /&gt;
=== Cvars/Commands ===&lt;br /&gt;
&lt;br /&gt;
Most of these cvars are either 0 (disabled) or 1 (enabled), those that differ I have included the values in the description. For an explanation of how bitmask cvars work see [[Bitmask-cvar|here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar/Command;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_anticheat;Controls ETPro&#039;s anticheat, default 1, enabled...... 0 = Disabled, 1 = Enabled (normal restriction, recommended), 2 = More restrictive, 3 = Only allow 100% clean players (not recommended)&lt;br /&gt;
b_antiwarp;Controls players &#039;warping&#039;, default 1, enabled.&lt;br /&gt;
b_bannerlocation;Bitmask which determines the location of the banners print out area, default 128, valid values 0 – 248, you can still use the older values 0 – 4 this auto adds 64 and prints them to the console also.... 0 or 8 = Player chat area, 1 or 16 = Left popup area (not recommended), 2 or 32 = Centred (above the chat area), 3 or 64 = Console only, 4 or 128 = Banner area (top of screen, recommended).&lt;br /&gt;
b_banner;Use for specifying the text of each banner, b_bannern defines the text to be displayed for banner number n in the banner rotation, where n is an integer between 1 &amp;amp; 999, (i.e. set banner1 &amp;quot;I’m a banner&amp;quot;, set banner2 &amp;quot;I’m another banner&amp;quot;, etc).&lt;br /&gt;
b_banners;Defines the number of rotating server banners, (using the example in b_banner, the banners (&amp;quot;I’m a banner&amp;quot;, &amp;quot;I’m another banner&amp;quot;) you would then set b_banners 2), default 0 disabled, valid values 0 - 999.&lt;br /&gt;
b_bannertime;Defines the duration between banners, default 0, valid values 0 – n, where n is the time in seconds between banners. Values below 30 (in our opinion) would be just spamming, especially if you are printing them in the centre print area, who what’s to play in a server that is bombarding them with banners.&lt;br /&gt;
b_brokenlogtimestamps;Controls whether timestamps are written in a fixed-width 7 character space. This should only be enabled if you are using a log file analyser that requires the broken timestamps in order to function properly, default 0, disabled.&lt;br /&gt;
b_campaignFile;Allows specifying a specific campaign file, so that clients aren&#039;t forced to download every referenced pk3 on the server, default &amp;quot;&amp;quot;, disabled. The syntax is &amp;quot;scripts/xxx.campaign&amp;quot;.&lt;br /&gt;
b_chargetransfer;Controls whether use of mines to transfer charge between players or &#039;store charge&#039; (exploit) is allowed, default 1, enabled (allowed).&lt;br /&gt;
b_cheatkicktime;Duration of auto-kick for cheater detections, (i.e. set b_cheatkicktime n, where n = how long in minutes a player is kicked for), default -1, disabled, if left disabled a report will still be logged in the b_cheatlog, if b_cheatlog is not set, it logs cheat messages to g_logfile.&lt;br /&gt;
b_cheatlog;Defines the name of the cheat log (ETPro anticheat), (i.e. set b_cheatlog &amp;quot;etpro_cheats.log&amp;quot;), default &amp;quot;&amp;quot;, disabled. If b_cheatlog is is not set, it will still log cheat messages to g_logfile.&lt;br /&gt;
b_crashlogpath;Set the cvar b_crashlogpath to the path you want to save crash dump files to, (e.g. on win32 set b_crashlogpath c:\ , on Linux set b_crashlogpath /home/etserver).&lt;br /&gt;
b_crashpopup;On win32 you can enable a gui crash popup window - !!warning!! server will be halted until the crash dialog box is closed –, default 0, disabled.&lt;br /&gt;
b_cursefilter;Determines which words you would like filtered out, but it’s not a good filter as players can spell swear words in many different ways using numbers, letter spacing etc and there are just to many variations to include in this filter. A good use for it, is to help protect your rcon, ref, semiadmin etc passwords, just in case a trusted member or even yourself forget to put the / (slash) before said passwords when signing in. Should you wish to use it, just list all the passwords/forbidden words leaving a space between each word (i.e. set b_cursefilter &amp;quot;pass1 pass2 swear1 swear2 etc&amp;quot;), default &amp;quot;&amp;quot;, disabled.&lt;br /&gt;
b_cursefilteraction;Controls what action to take with filtered words, default 3...... 0 = do nothing (not a wise choice if your wishing to filter certain words out lol), 1 = silently filter the messages (it will still appear to the player as though his/her message was sent), 2 = censor (e.g. &amp;quot;hey, you are a *******&amp;quot;), 3 = filter the message (it isn&#039;t displayed to anybody).&lt;br /&gt;
b_customVoiceChat;Controls whether to allow clients use custom voice chats, but not custom audio sound packs, default 1, enabled.&lt;br /&gt;
b_cvarempty;Resets all ETPro cvars to their defaults. If using this in a cfg/config, make sure to place it at the start, anywhere else and all cvars adjusted before it will be reset to default.&lt;br /&gt;
b_damagexp;Controls whether certain types of XP will be rewarded based on the damage given to other players instead of the number of complete kills. This can help even game play on extremely offence-biased maps, it solves some problems with the original per-kill system (e.g. an air strike takes a player down to 1 health and blasts them into the air, but you receive no XP when they fall to their death.) The damage-based XP system rewards 1 XP per kill and 1 XP for each 50hp of damage inflicted on an enemy player, default 0, disabled.&lt;br /&gt;
b_defaultbantime;Defines the time in seconds for bans without explicitly defined ban time, default 300.&lt;br /&gt;
b_defaultskills;Defines the skill levels granted to new players when they connect, default &amp;quot;&amp;quot;, valid values 0 – 4 for each skill.This variable takes 7 space-separated integers to define each starting skill level in the following order: b_defaultskills &amp;quot;0 0 0 0 0 0 0&amp;quot;,  1st 0 = Battle Sense, 2nd 0 = Explosives and Construction (Engineering), 3rd 0 = First Aid (Medic), 4th 0 = Signals(Field Ops), 5th 0 = Light Weapons, 6th 0 = Heavy Weapons (Soldier), 7th 0 = Military Intelligence and Scoped Weapons (Covert Ops). Example: To give everyone default battle sense 2 and light weapons 3, you would set b_defaultskills &amp;quot;2 0 0 0 3 0 0&amp;quot;, To lock players permanently at those skill levels, you would additionally do b_noskillupgrades 1, See b_noskillupgrades for explanation.&lt;br /&gt;
b_distancefalloff;Controls whether bullets lose some of there hit point damage inflicted over long-range shots, default 1, enabled.&lt;br /&gt;
b_emptyscript;Assign the name of a script to execute when the last player leaves the server, default &amp;quot;&amp;quot;, disabled.&lt;br /&gt;
b_ettv_flags;Bitmask controlling special features for ETTV slave clients, default 3, valid values 0-3...... 0 = Disabled, 1 = Don&#039;t allow ETTV slaves to be kicked, 2 = Automatically give ETTV slaves shoutcaster status, 3 = 1 and 2.&lt;br /&gt;
b_extendedprone;Controls accurate hitbox for proning animations, and makes the prone animation transition through crouching, default 0, disabled.&lt;br /&gt;
b_fallingbugfix;Controls whether to enable/disable a fix in the physics code, which should prevent players from getting stuck on edges and subsequently falling to their death from a small height, default 1, enabled.&lt;br /&gt;
b_fixedphysics;Controls various physics fixes, default 0, valid values 0-2...... 0 = Standard ET physics, 1 = Don&#039;t snap positions (avoiding rounding error), jump velocity set to match etmain&#039;s at b_fixedphysicsfps fps, 2 = Standard ET physics with anti-333fps, doesn&#039;t snap positions above 166fps or change etmain jump velocity.&lt;br /&gt;
b_fixedphysicsfps;Controls jump velocity when using b_fixedphysics 1. Since jump height/velocity is so strongly tied to rounding error in etmain physics, the etmain velocity doesn&#039;t make sense when no longer rounding positions. To compensate, b_fixedphysics 1 will set the player&#039;s jump velocity to the etmain equivalent at whatever frame rate b_fixedphysicsfps is set to, default 125. See also b_fixedphysics.&lt;br /&gt;
b_floodMaxCommands;Controls the client only being able to send the specified number of rate-limited commands per 30 seconds, to protect the server from flooding, default 6.&lt;br /&gt;
b_flushItems;Controls whether dropped items like medic packs lay flush to the ground they land on (same angle), default 0, disabled.&lt;br /&gt;
b_headshot;Bitmask controlling ETPro headshot mode, default 0, valid values 0 – 15......... 0 = disabled, 1 = headshots only, 2 = instagib (see also b_instagibDamage), 4 = clients can only damage other clients, 8 = clients only receive damage from other clients.&lt;br /&gt;
b_helmetprotection;Controls whether damage is reduced for the first headshot received, default 1, enabled.&lt;br /&gt;
b_instagibDamage;Controls the damage done when b_headshot mode&#039;s instagib is enabled, (e.g. set this to 160 so that a player can still be revived after being shot.), default 400.&lt;br /&gt;
b_intermissiontime;Defines the duration of the end-round intermission between maps, in seconds, default 60.&lt;br /&gt;
b_intreadypercent;Determines the percentage of clients needed to press ready to skip intermission countdown and continue to the next map, default 75, valid values 0 – 100.&lt;br /&gt;
b_levels_battlesense;Defines the amount of XP required to reach each level upgrade, 1 - 4 space-separated integers. Omitting values will disable any of the levels higher than those specified. A value of -1 for any skill level also disables that particular level, although the associated skills will still be gained when reaching a higher level, if allowed. Leaving the value blank (&amp;quot;&amp;quot;) causes the default values to be used: &amp;quot;20 50 90 140&amp;quot;. Examples: Disable level 3 and 4 engineers: b_levels_engineer &amp;quot;20 50&amp;quot;, Don&#039;t give medics full revive until level 4: b_levels_medic &amp;quot;20 50 -1 140&amp;quot;, Give everyone binoculars almost immediately: b_levels_battlesense &amp;quot;5 50 90 140&amp;quot;.&lt;br /&gt;
b_levels_covertops;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_levels_engineer;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_levels_fieldops;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_levels_lightweapons;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_levels_medic;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_levels_soldier;See b_levels_battlesense explanation, same rule applies.&lt;br /&gt;
b_logrealtimestamps;Controls whether to log the time of day (hh:mm:ss) or the amount of time the server has been on the current map, default 1 (hh:mm:ss).&lt;br /&gt;
b_mapconfigdirectory;Defines the folder name to look for map specific cfg/config files.&lt;br /&gt;
b_mapscriptdirectory;Defines the folder name to look for map scripts (i.e. set b_mapscriptdirectory &amp;quot;etpromapscripts&amp;quot;).&lt;br /&gt;
b_match_warmupjoin;Controls whether clients are able to join teams during warm-ups, default 0, disabled.&lt;br /&gt;
b_maxmortarpitch;Controls whether to limit effective range of ground slope angles for mortar deployment, (e.g. if set to 20, then a mortar deployed on a slope greater than 20 degrees (e.g. 30 or 40) would behave as if it were deployed on a slope of 20 degrees), default 0, disabled.&lt;br /&gt;
b_moverscale;Controls how fast most movers (i.e. vehicles) will move compared to their normal speed.  Extremely high values will cause erratic behaviour, default 1.0.&lt;br /&gt;
b_multiview;Controls enabling/disabling OSP&#039;s multiview. Multiview allows spectators to view multiple players at the same time, but clients who are using multiview consume slightly more bandwidth and CPU time than normal spectators, so not advisable unless you know your server can handle it, especially if a few specs are using it at the one time (lags server), default 1, enabled.&lt;br /&gt;
b_noskillupgrades;When set to 1, players may still score XP, but they will no longer gain skill or rank upgrades. This is especially useful in combination with b_defaultskills to even out game play when playing in non-campaign mode, default 0, disabled. See also b_defaultskills.&lt;br /&gt;
b_panzerlevelup;Determines the skill level at which the panzerfausts receive the &#039;Improved Projectile Resources&#039; upgrade. The mortar is unaffected. A value of 5 means that the panzerfaust will never be subject to this upgrade, default 1, valid values 1 – 5.&lt;br /&gt;
b_privatemessages;Determines the minimum number of allowable characters for name matching of private messages. A value of  &amp;quot;0&amp;quot; disables private messaging entirely, default 2, valid values 0 – 36.&lt;br /&gt;
b_pronedelay;Implements a delay in the client&#039;s proning action, default 0...... 0 = etmain normal behaviour, no spread change, players may not un-prone for 750ms, 1 = max spread for 1 second after proning, players may not un-prone for 1750ms.&lt;br /&gt;
b_realhead;Controls correcting the head hit box, when enabled, the head hit box is where the head is drawn on the client, instead of at the top-centre of the body-hit box, default 1, enabled. Settings other than 0/1 are for debugging.&lt;br /&gt;
b_riflegrenades;Controls whether to allow rifle grenades, default 1 enabled. See also team_maxriflegrenades.&lt;br /&gt;
b_semiAdminCmds;Defines what commands are available for each semiadmin level.&lt;br /&gt;
b_semiAdminLevels;Defines the number of semi admin levels. If undefined (&amp;quot;&amp;quot;) or 0, then the semi admin feature is disabled, default 0, disabled, valid values 0 – 99.&lt;br /&gt;
b_semiAdminPass;Defines the required password for clients to become a semi admin. A different password is required for each b_semiadminlevel.&lt;br /&gt;
b_shoutcastpassword;Defines the password required for special spectator class.&lt;br /&gt;
b_shove;Controls how strong shoves are, default 80, 0 to disable.&lt;br /&gt;
b_shove_noz;Controls vertical shoving, default 1, enabled. When enabled this prevents players shoving others over walls or up to unreachable places.&lt;br /&gt;
b_showClientCmds;Controls whether all commands clients send to the server are written to the log file, default 0, disabled.&lt;br /&gt;
b_shrug;Controls whether clients can use shrug, default 0, disabled.&lt;br /&gt;
b_spectatorNames;Controls whether spectators are allowed to see the player name popup when looking at another player, default 1. 0 = No names shown, disabled, 1 = Names shown to referees and semiadmins only, 2 = Names shown to all players.&lt;br /&gt;
b_statsaver;Controls whether client&#039;s xp and stats are restored if they exit, then return to the server. This is not XP save it’s only a stats saver, all stats will be reset whenever the game normally does a stats reset (e.g. when restarting a campaign or starting a new campaign), default 1, enabled.&lt;br /&gt;
b_stickycharge;When set to 1, per-class charge bars become &#039;sticky&#039;, players will only have their charge bar refilled on respawn if they were killed by an enemy player, default 1, valid values 0 – 2...... 0 = Full recharge, 1 = If killed by enemy, then full recharge, otherwise normal recharge, 2 = Normal recharge no matter how you died, Normal recharge = Gradually filling as if you weren’t killed.&lt;br /&gt;
b_sv_hitsounds;Controls whether clients are allowed use hit sounds, default 1, enabled.&lt;br /&gt;
b_watermark;Specifies the location of the watermark file, default &amp;quot;&amp;quot;, disabled. Automatically prepends &amp;quot;watermark/&amp;quot;. Links to more info at bottom of page.&lt;br /&gt;
b_watermarkFadeAfter;Determines how long the watermark will stay on the screen before fading away. A value of  -1 and the watermark will not fade off, default -1, valid values -1, 0, n, where n = the length of time in seconds before the watermark starts fading.&lt;br /&gt;
b_watermarkFadeTime;Determines the duration the watermark image takes to actually fade away, default 1.5, valid values: 0 - n, where n = the length of time in seconds before the watermark fades out.&lt;br /&gt;
b_wolfrof;Controls whether the SMG rate of fire is equal to that of RTCW&#039;s Thompson (much faster), default 0...... 0 = ET Standard SMG Rate of fire, 1 = RTCW Standard SMG Rate of fire.&lt;br /&gt;
b_xpstopwatch;Controls whether XP remains over stopwatch rounds, default 0, disabled. If set to 1 XP gained in the first round remains in the concluding round.&lt;br /&gt;
config;Used for loading an ETPro style config file (i.e. config clanwar, would load clanwar.config).&lt;br /&gt;
forcecvar;Used to force cvars to a specified value for all connected clients, (i.e. command &amp;quot;forcecvar r_drawfoliage 0&amp;quot;, commonly used for the map Radar). Link for more info at bottom of page.&lt;br /&gt;
lua_allowedmodules;If set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load, default &amp;quot;&amp;quot;, disabled.&lt;br /&gt;
lua_modules;Space separated list of lua modules for ETPro to load, modules will be run in the order listed, default &amp;quot;&amp;quot;, disabled. Links for more info on Lua&#039;s at bottom of page.&lt;br /&gt;
p;Replaces Players_Allies and Players_axis. Goto link at bottom of page for better explanation.&lt;br /&gt;
sv_cvar;Used for ETPro cvar restrictions. Goto Link at bottom of page for an explanation on how to use them.&lt;br /&gt;
team_maxCovertops;Determines the max number of covert ops allowed on each team, default –1, unlimited&lt;br /&gt;
team_maxEngineers;Determines the max number of engineers allowed on each team, default –1, unlimited.&lt;br /&gt;
team_maxFieldops;Determines the max number of field ops allowed on each team, default –1, unlimited.&lt;br /&gt;
team_maxFlamers;Determines the max number of flamers allowed for each team, default –1, unlimited.&lt;br /&gt;
team_maxMedics;Determines the max number of medics allowed on each team, default –1, unlimited.&lt;br /&gt;
team_maxMg42s;Determines the max number of mobile MG&#039;s allowed for each team, default –1, unlimited.&lt;br /&gt;
team_maxMines;Determines the max number of mines available for each team, default 10, -1 unlimited&lt;br /&gt;
team_maxMortars;Determines the max number of mortars allowed for each team, default –1, unlimited.&lt;br /&gt;
team_maxPanzers;Determines the max number of panzerfausts allowed for each team, default –1, unlimited.&lt;br /&gt;
team_maxplayers;Determines the max number of players that can join each team.&lt;br /&gt;
team_maxriflegrenades;Determines the max number of riflegrenades allowed for each team, default –1, unlimited. See also b_riflegrenades.&lt;br /&gt;
team_maxSoldiers;Determines the max number of soldiers allowed on each team, default -1, unlimited.&lt;br /&gt;
vote_allow_config;Specify config&#039;s that can be loaded by vote, default &amp;quot;&amp;quot;, disabled, &amp;quot;*&amp;quot; to allow all config&#039;s.&lt;br /&gt;
vote_allow_surrender;Controls whether teams can call a vote to surrender, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
*[[IAC]]&lt;br /&gt;
*[[AntiWarp]]&lt;br /&gt;
*[[Cursefilter]]&lt;br /&gt;
*[[ETPro_CVARS | Fixedphysics]]&lt;br /&gt;
*[[SemiAdmin]]&lt;br /&gt;
*[[Shoutcasting]]&lt;br /&gt;
*[http://bani.anime.net/etpro/adminguide.html Watermark]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=2033 Watermark]&lt;br /&gt;
*[[Forced_Cvars]]&lt;br /&gt;
*[[Lua_Mod_API | Lua Mod]]&lt;br /&gt;
*[[ETPro:Lua_Sample_Code | Lua Sample Code]]&lt;br /&gt;
*[[Cvar_Restrictions | sv_cvar Restrictions]]&lt;br /&gt;
*[[ETPro:Server_Configuration]]&lt;br /&gt;
*[[Extended_ASCII]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Talk:Client_cvar_list&amp;diff=2251</id>
		<title>Talk:Client cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Talk:Client_cvar_list&amp;diff=2251"/>
		<updated>2006-04-28T04:43:41Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks [[User:The Birdman|The Birdman]] for the work one the server and client cvar and command list. They are very helpful. However, it seems like there is a basic problem. The pitatable doesn&#039;t allow formatting and linking, and some of these things are complex enough to justify having their own page. Some command/cvars are related, and are described on a single page (e.g. [[Physics cvars]]).&lt;br /&gt;
&lt;br /&gt;
Putting each item on it&#039;s own page, and using a wiki catagory to generate a bare list of the names (as in [[:Category:ETPro:Client Cvars]]) isn&#039;t a complete solution either. When trying to find a command or cvar, without knowing exactly what it is, you want to look at a list with brief descriptions of each item, and a link to further information where it is available. Suggestions as to how to cleanly achieve this with wiki are requested.&lt;br /&gt;
&lt;br /&gt;
[[User:ReyalP|ReyalP]] 19:29, 20 March 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
I guess someone with too much time on his hands could convert the tables to wiki tables. Descriptions can be shortened immensely with linking. --[[User:Lagger|Lagger]] 21:01, 27 April 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
And of course that someone would be me. Anyways, as a test, I have converted the first table to a wiki table using [http://de.wikipedia.org/wiki/Wikipedia:Helferlein/EXCEL_Tabellenumwandlung]. The tradeoff is that it&#039;s basically a pain to insert new entries. If it doesn&#039;t work out just revert the changes. --[[User:Lagger|Lagger]] 21:43, 27 April 2006 (PDT)&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2250</id>
		<title>Client cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2250"/>
		<updated>2006-04-28T04:22:25Z</updated>

		<summary type="html">&lt;p&gt;Lagger: Tried converting the pitatable to a wikitable - allowing links to be put into the table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;ETPro Client cvars and commands&#039;&#039;&#039; ==&lt;br /&gt;
By The Birdman &amp;amp; =FF=im2good4u&lt;br /&gt;
&lt;br /&gt;
This list contains all ETPro client cvars and commands (hopefully).&lt;br /&gt;
&lt;br /&gt;
We have tried to include as much information in each description as possible, but some might require more explaining, so links to other pages here or the forums have been added.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
If there is any ETPro client cvars/commands that you think we have omitted or any that you think the description is wrong then pm me [http://bani.anime.net/banimod/forums/profile.php?mode=viewprofile&amp;amp;u=3475 here], if you don&#039;t know how to edit this page. Before pm’ing/editing are you sure it’s an ETPro cvar/command and not another mods or an ETmain one, if it is ETPro then either edit or let me know what cvar/command we’ve omitted, adding a short description of what it’s use is, if known to you. If you think a description is wrong, quote the cvar/command and it’s description adding your description of it or edit.&lt;br /&gt;
&lt;br /&gt;
Apologies for all the ..... to try create new lines or push things along to create a line so things look a bit better in some of the description sections, but i couldn&#039;t start new lines using the pitatable.&lt;br /&gt;
&lt;br /&gt;
=== Cvars ===&lt;br /&gt;
&lt;br /&gt;
Most of these cvars are either 0 (disabled) or 1 (enabled), those that differ I have included the values in the description. See [[Bitmask-cvar]] for more information on bit mask cvars.&lt;br /&gt;
&lt;br /&gt;
{|{{prettytable}}&lt;br /&gt;
|- style=&amp;quot;font-weight:bold&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| width=&amp;quot;153.75&amp;quot; Height=&amp;quot;12.75&amp;quot; | Cvar&lt;br /&gt;
| width=&amp;quot;1342.5&amp;quot; | Purpose&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_altHud&lt;br /&gt;
 | Controls which hud design you use, default 0 (normal hud), valid values 0, 1, 2 and 3. Three is custom mode where you can drag and drop the hud objects (i.e. compass, chargebar etc) where you would like them, but work was never finished on this.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_altHudFlags&lt;br /&gt;
 | Bitmask for controlling various hud settings if b_altHud = 1 or 2, default 0, valid values 0-7................... 1 = Move round timer, 2 = Don&#039;t display rank in hud, 3 = RTCW-ish message placement, 4 = Custom (drag and drop not working, coding was never finished)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_antilag&lt;br /&gt;
 | Controls whether shots are lag-compensated by the server, default 1, enabled, valid values 0,1,2........... 0 = Disabled, 1 = ETPro antilag enabled (best), 2 = ETmain antilag enabled&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_backupcvars&lt;br /&gt;
 | Controls whether backup files are made when ETPro cvar restrictions are applied, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_beginround&lt;br /&gt;
 | Assign commands to this and they will be automatically executed at the start of new a round/map. See also b_endround.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_centeredWeapons&lt;br /&gt;
 | Centers weapon models on entity origins, making weapon pickup more predictable. default 1 = enabled, 0 old ET way.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_chatAlpha&lt;br /&gt;
 | Defines the alpha of the chat text, default 0.33, valid values 0.0 – 1.0, (0.0 = 100% transparent).&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_chatFlags&lt;br /&gt;
 | Controls whether the team flag is drawn by each chat text, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_chatsounds&lt;br /&gt;
 | Controls playing a sound with chats, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_cmdwarnings&lt;br /&gt;
 | Controls notifications from the tjl_* commands, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_debugfakebmodel&lt;br /&gt;
 | Controls debugging EF_FAKEBMODEL brushes in map scripts, default 0, disabled, (cheat protected).&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_debuglocations&lt;br /&gt;
 | Bitmask to enable debugging/design aids for location names. Works with external dats as well as target_location ents, default 0, valid values: 0 - 31, (cheat protected).................................................. 1 = Draw a bubble sprite at each location marker. The nearest location is drawn in green, with all the others being drawn in red...... 2 = Add a dynamic light at each location marker. The nearest location is lit in red, with all the others being lit in green...... 4 = Draw floating text at each location marker containing the location&#039;s name. The nearest location is colored green instead of white...... 8 = Send updates to other players when a location is added, deleted, or renamed. This function is designed to allow several people to work on adding locations to a level simultaneously...... 16 = Accept updates to locations from other players who are using b_debuglocations 8.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_autotimescale&lt;br /&gt;
 | Controls the timescale to switch to when a weapon set in b_demo_autotimescaleweapons is fired, default 1.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_autotimescaleweapons&lt;br /&gt;
 | Bitmask to automatically change the timescale when a certain type of weapon is fired, default 0, disabled, valid values 0 – 31. 1 = Panzerfaust, 2 = Grenade, 4 = Dynamite, 8 = Mortar, 16 = Smoke grenades and airstrike markers&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_drawspectatormessages&lt;br /&gt;
 | Controls whether &amp;quot;spectator/weaponcam/shoutcaster/etc&amp;quot; overlay is drawn in demo playback, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_dynamitecam&lt;br /&gt;
 | Controls whether to attach the camera to dynamite during demo playback, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_dynamitecounter&lt;br /&gt;
 | Controls drawing a floating counter above armed dynamite during demo playback and when spectating as a shoutcaster, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_followxDistance&lt;br /&gt;
 | Controls camera offset when attached to a weapon, default 50.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_followyDistance&lt;br /&gt;
 | Controls camera offset when attached to a weapon, default 0.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_followzDistance&lt;br /&gt;
 | Controls camera offset when attached to a weapon, default 20.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_freecamspeed&lt;br /&gt;
 | Controls the freecam movement speed, default 800.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_grenadecam&lt;br /&gt;
 | Controls whether to attach the camera to these types of grenades during demo playback, default 0, valid values 0, 1, 2, 3.................. 0 = Disabled, 1 = Grenades (hand-thrown thrown and rifle grenades), 2 = Airstrike markers, smoke grenades, 3 = 1 and 2&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_lookat&lt;br /&gt;
 | Causes the freecam to lock its view on the specified player (i.e. /b_demo_lookat clientnum), default –1, disabled. To get client numbers in demos see b_demo_nametags for explanation.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_mortarcam&lt;br /&gt;
 | Controls whether to attach the camera to mortars during demo playback, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_nametags&lt;br /&gt;
 | Bitmask controlling how floating names above each player are drawn during demo playback and when spectating as a shoutcaster, default 0, valid values 0-15............ 0 = Disabled, 1 = Draw visible players, 2 = Draw all players, 4 = Draw the player&#039;s client number, 8 = Draw the player&#039;s class.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_nopitch&lt;br /&gt;
 | Controls whether the camera pitch’s while it&#039;s attached to weapons, default 1, enabled (no pitch).&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_panzercam&lt;br /&gt;
 | Controls whether to attach the camera to panzers during demo playback, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_pitchturnspeed&lt;br /&gt;
 | Defines the pitch turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_yawturnspeed&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_playersprites&lt;br /&gt;
 | Controls whether the floating sprites (e.g. voicechat, objective, invulnerability, fireteam, and connection markers) are drawn above players&#039; heads in demo playback, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_pvshint&lt;br /&gt;
 | Controls whether to draw a line from the freecam origin to the origin of the demo recorder, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_rollspeed&lt;br /&gt;
 | Defines the roll speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_pitchturnspeed and b_demo_yawturnspeed&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_teamonlymissilecam&lt;br /&gt;
 | Controls whether to attach the camera to weapons fired by demo recorders team only, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demo_yawturnspeed&lt;br /&gt;
 | Defines the yaw turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_pitchturnspeed&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_demorecord_statusline&lt;br /&gt;
 | Controls the y offset of the demo/tjl/tjg recording status line. Use -1 to disable these status lines completely, default: 470, valid values -1, 0 - 480.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_descriptiveTextscale&lt;br /&gt;
 | Controls the limbo hud text size, default 0.8.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_dinghy&lt;br /&gt;
 | Have no idea what this does, or maybe we do.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawclock&lt;br /&gt;
 | Controls whether to show a clock with your local time on the hud, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawPromotions&lt;br /&gt;
 | Controls whether the rank promotion messages are shown (and whether sounds played) when receiving a promotion, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawranks&lt;br /&gt;
 | Controls whether ranks of other players are drawn when using cg_crosshairnames, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawRewards&lt;br /&gt;
 | Controls whether skill level increases and reward messages are shown (and whether sounds played), default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawspectatoralpha&lt;br /&gt;
 | Defines the alpha of the &amp;quot;spectator&amp;quot;, &amp;quot;shoutcaster&amp;quot;, &amp;quot;freecam&amp;quot;, etc. notices (0 = 100% transparent), default 1, valid values 0.00 - 1.00&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawspectatorteamflags&lt;br /&gt;
 | Controls whether to draw a small team flag beside the player name when following players in spectator mode, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_drawspeed&lt;br /&gt;
 | Controls whether to draw a speedometer on the hud, default 0, valid values 0, 1, 2, 3, 4, 5................... 0 = Disabled..... 1, 5 = Draw a speedometer....... 2, 4 = Draw a speedometer and the maximum speed reached...... 3, 4, 5 = Draw a speed graph if the lagometer is not being drawn&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_endround&lt;br /&gt;
 | Assign commands to this and they will be automatically executed at round end. See also b_beginround.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_fireteamAlpha&lt;br /&gt;
 | Defines the alpha of the fireteam overlay, (0 = 100% transparent), default 1.0, valid values 0.00 – 1.00.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_fireteamLatchedClass&lt;br /&gt;
 | Controls showing latched player class instead of rank in fire team hud display, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_goatsound&lt;br /&gt;
 | Controls whether a sound is played on knife kills, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_hitsounds&lt;br /&gt;
 | Controls whether to enable hit sounds, default 0, valid values 0, 1, 2............ 0 = disabled, 1 = enabled, 2 = enabled for headshots only&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_hudYoffset&lt;br /&gt;
 | Moves the hud so it is out of the way of the demo status line. Set to 0 to move the hud flush with the edge of the screen, default 10.0, valid values 0 – 640.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_killshot_delay&lt;br /&gt;
 | Determines the time in milliseconds to take an automatic screenshot after a kill, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_lagometerAlpha&lt;br /&gt;
 | Defines the alpha of the lagometer, default 1.0, valid values 0.00 – 1.0 (0 = 100% transparent). Link at the bottom of page for more info about the lagometer.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_locationJustify&lt;br /&gt;
 | Controls justification of locations in fire team hud, default 0....................... -1 = left justify with padding, 0 = left justify no padding, 1 = right justify with padding&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_locationMaxChars&lt;br /&gt;
 | Controls the number of characters of location names in the Fireteam hud, default 25, valid values 0-76.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_locationMode&lt;br /&gt;
 | Bitmask to control how locations are displayed in the fireteam hud, default 0, valid values 0-31............ 0 = Default, currently equivalent to &#039;1&#039;...... 1 = Show location names...... 2 = Show location coordinates, 4 = Do not check whether locations are in your PVS when searching for a location name. Applies to b_debuglocations and add/del/etc., too...... 8 = Don’t fall back to location coordinates when no location name was found, instead, show &amp;quot;unknown&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_logbanners&lt;br /&gt;
 | Controls whether server banners are logged in your console, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_mapconfigdirectory&lt;br /&gt;
 | Defines the folder name to look for map-specific cfg/config files.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_mapzoom&lt;br /&gt;
 | Controls the zoom level for the map shown in the compass, default 5.159, valid values 1.0 - 7.43.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_muzzleflash&lt;br /&gt;
 | Controls whether first-person muzzle flash is drawn, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_noactivatelean&lt;br /&gt;
 | Controls whether to enable/disable leaning behaviour when strafing with +activate, default 0.................. 0 = +activate and +moveleft/+moveright causes the player to lean left/right........ 1 = leaning behaviour is disabled&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_numPopups&lt;br /&gt;
 | Controls the number of popup messages on the hud, default –1...... -1 = Use ETmain cg_drawSmallPopupIcons setting, (if cg var = 0) 5 popups, (if cg var = 1) 8 popups...... 0 = Disable popup messages entirely...... 1 = Use ETmain cg_drawSmallPopupIcons 1, 8 popups...... &#039;number&#039; = Limit the number of popup messages on the hud to the number of your choice&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_optimizePrediction&lt;br /&gt;
 | Controls whether to attempt to use previously calculated prediction results when possible to increase performance or not, default 1, enabled. Link at bottom of page for more info on this.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_panzerhack&lt;br /&gt;
 | Controls whether the secondary MP40/Thompson (for a soldier with level 4 heavy weapons) is moved to weaponbank 2, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_placebo&lt;br /&gt;
 | When this cvar is enabled, anything is possible. Link at bottom of page which explains this better.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_popupFadeTime&lt;br /&gt;
 | Defines the time in milliseconds that popups take to fade out, default 2500.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_popupStayTime&lt;br /&gt;
 | Defines the time in milliseconds that popups will stay before fading, default 2000.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_popupTime&lt;br /&gt;
 | Defines the time in milliseconds between popups, default 1000.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_predefineddemokeys&lt;br /&gt;
 | Controls whether demo playback uses hard-coded key bindings, which cannot be overridden, default 1, enabled...... 0 = Lets you use your own key bindings in demo playback, at the loss of the predefined key actions...... 1 = Hard-coded key bindings, which cannot be overridden.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_shovesounds&lt;br /&gt;
 | Controls whether you hear shove sounds, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_simpleItems&lt;br /&gt;
 | Controls whether to draw sprites instead of models for items, for a slight performance/visibility increase, default 0, disabled.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_spectatorteamflags&lt;br /&gt;
 | default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_speedinterval&lt;br /&gt;
 | Defines the time in milliseconds between two speedometer updates, default 100.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_speedunit&lt;br /&gt;
 | Controls the speed unit used for the ups meter, default 0, valid values 0, 1, 2...... 0 = (ups), 1 = (mph), 2 = (km/h)&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_textcolorfilter&lt;br /&gt;
 | Strips certain colour characters from names and most text messages, default &amp;quot;&amp;quot;, use &amp;quot;*&amp;quot; to filter all.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_tracers&lt;br /&gt;
 | Controls bullet tracers, default 1, valid values 0, 1, 2...... 0 = Disabled, 1 = Show all tracers, 2 = Don&#039;t show own tracers&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_votetextscale&lt;br /&gt;
 | Defines the scaling for the vote text, default 0.8.&lt;br /&gt;
&lt;br /&gt;
|-   valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_watermarkAlpha&lt;br /&gt;
 | Defines the alpha of a watermark (if server has one), default 1, valid values 0.00 – 1.0 (0 = 100% transparent).&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background-color:#C0C0C0&amp;quot;  valign=&amp;quot;bottom&amp;quot;&lt;br /&gt;
| Height=&amp;quot;12.75&amp;quot; | b_weapaltReloads&lt;br /&gt;
 | Controls whether weapalt doubles as reload for weapons lacking an alternate fire mode, default 1, enabled.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
Clients can use to either bind, get info in the console or use with rcon, ref and semiadmin.&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
guids;Displays a list of players and their ETPro guid’s in the console.&lt;br /&gt;
b_cvarlist;Displays a list of ETPro cvar limits of the server you are in, (only shows if the server has cvar limits set).&lt;br /&gt;
b_cvarempty;Resets all ETPro cvars to their defaults.&lt;br /&gt;
Bp;Sends text to all clients to be displayed in the banner area.&lt;br /&gt;
camera;Used to run scripted cameras, whatever.camera files. 2 Links at bottom of page which helps explain this better.&lt;br /&gt;
cancelvote;Cancels any vote in progress.&lt;br /&gt;
cheaters;Lists all clients in console, with info on whether they are cheating.To check on just one particular client use /cheaters client slot, this will return the IAC info of only that chosen client. Link at bottom of page, for better explanation.&lt;br /&gt;
class;Class allows you to script the selection of team and class, (syntax: class class weapon {secondary weapon}, e.g. cs_mg42 &amp;quot;class s 2 3). Link at bottom of page for better explanation.&lt;br /&gt;
classmenu;Command for opening the class selection menu. Link at bottom of page for better explanation.&lt;br /&gt;
clearlines;Empties out the debug line queue (e.g. if a bunch of railtrail lines with a huge cg_railtrailtime are in the buffer.)&lt;br /&gt;
Cp;Sends text to all clients to be displayed in the centerprint area.&lt;br /&gt;
etpro_alliedmapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_axismapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_lastmapname;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_session;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
exec_at_time;Allows scripts to be executed exactly at a specified frame number (demo playback only).&lt;br /&gt;
follow;For specifying which player to spectate (i.e. /follow &amp;lt;client slot&amp;gt;).&lt;br /&gt;
follownext;Spectate the next guy (normally bound to your fire button (mouse1) when spectating).&lt;br /&gt;
followprev;Spectate the previous guy.&lt;br /&gt;
freecam;Allows for you to switch in and out of freecam in demo playback.&lt;br /&gt;
freecamgetpos;Retrieves the position of the camera.&lt;br /&gt;
freecamsetpos;Sets the position of the camera. (mainly for use with scripted cameras)&lt;br /&gt;
inviteall;Used with fireteam to invite all teammates into fireteam, if they aren’t already in one (i.e. /fireteam inviteall).&lt;br /&gt;
kill;ETPro change: /kill now counts as a death.&lt;br /&gt;
Listcs;Dumps all of the current configstrings to the server console, (mostly useful as a debugging or map making tool).&lt;br /&gt;
loc_add;For adding location names. Link at bottom of page for better explanation of loc_* vars.&lt;br /&gt;
loc_del;For deleting location names, (doesn’t have to be the exact name, it will delete the closest one).&lt;br /&gt;
loc_load;Load the specified location-name file, (i.e. loc_load filename).&lt;br /&gt;
loc_rename;For renaming location names, (doesn’t have to be the exact name, it will rename the closest one to what was specified).&lt;br /&gt;
loc_save;Saves location names to the specified file, (i.e. loc_save filename).&lt;br /&gt;
loc_show;Shows location name of an imperfectly specified location.&lt;br /&gt;
m;Pretext for sending a private message (i.e. /m playername message), to send to all clan members in the server, instead of a playername use your clan tag (i.e. if your clan tag is -lol- then, /m -lol- hi guys, would send the message ‘hi guys’ to all players with -lol- in their name, naturally just your clan mates).&lt;br /&gt;
makesc, makeshoutcast, makeshoutcaster;Use to give a specified player shoutcaster status, (i.e. /makesc clientid).&lt;br /&gt;
msg;Same as /m, but broken on servers.&lt;br /&gt;
mt;Similar to m, but this pretext just sends private messages to players on your own team axis/allies (i.e. /mt playername message), if you try using this to send a private message to a player on the opposing team then he won’t receive it, it only search’s for players playername on your own team.&lt;br /&gt;
mv_sensitivity;MultiView : Note NEED MORE INFO ON MULTIVEIW CVARS, feel free to edit&lt;br /&gt;
mvactivate;Command to enter and exit Multiview mode, more info &amp;lt;a href=&amp;quot;http://bani.anime.net/etpro/playerguide.html&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&lt;br /&gt;
mvadd;MultiView&lt;br /&gt;
mvall;Command to view all players in multiview.&lt;br /&gt;
mvallies;Command to view all allied players in multiview.&lt;br /&gt;
mvaxis;Command to view all Axis players in multiview.&lt;br /&gt;
mvdel;MultiView&lt;br /&gt;
mvhide;MultiView&lt;br /&gt;
mvnew;MultiView&lt;br /&gt;
mvnone;MultiView&lt;br /&gt;
mvshow;MultiView&lt;br /&gt;
mvswap;MultiView&lt;br /&gt;
mvtoggle;MultiView&lt;br /&gt;
notice;Don’t know what this is used for but when you type it in the console (/notice) it returns with some lol statements, for example: “etpro comes with no warranties of any kind – if it breaks, you get to keep both pieces”, “heeey, sticklyman! WhaaAaAaAAaaAt are you doing?!” Etc&lt;br /&gt;
openTimerInput;For setting ETPro’s enemy spawn time. This opens a box to set the enemy&#039;s spawn time in. See also resetTimer and timerSet.&lt;br /&gt;
passvote;Passes any vote in progress.&lt;br /&gt;
pm;Same as /m, but broken on servers.&lt;br /&gt;
qsay;Sends text to all clients to be displayed in the chat area without the server: prefix.&lt;br /&gt;
ref;For logging in with a password for Ref status. Allows access to the referee commands from the server console/menu.&lt;br /&gt;
reflogout;For logging out from Ref status.&lt;br /&gt;
removesc, removeshoutcast, removeshoutcaster;Use to remove a specified player from shoutcaster status, (i.e. /removesc clientid).&lt;br /&gt;
resetmaxspeed;Clears/resets max speed.&lt;br /&gt;
resetTimer;Resets ETPro’s enemy spawntimer. See also openTimerInput and timerSet.&lt;br /&gt;
sa, semiAdmin;For use when logged in as a semiAdmin. This all depends on what commands the server admin has assigned to you for use. Semiadmins may also check their current level and available commands with /sa or /semiadmin by itself with no parameters. Example: If the server admin has assigned you the command map_restart, then when logged in as semiadmin to restart the current map you would type into the console /sa map_restart&lt;br /&gt;
sal, semiAdminLogin;For logging in with a password for SemiAdmin status, (i.e. /semiadminlogin password or /sal password)&lt;br /&gt;
say_buddy;Used to send chat messages to all in your fireteam or one particular fireteam mate (i.e. /say_buddy1 hi)&lt;br /&gt;
scLogin, shoutCastLogin;For logging in with a password for shoutcaster status.&lt;br /&gt;
scLogout, shoutCastLogout;For logging out of shoutcaster status.&lt;br /&gt;
setcs;Sets the value of configstring number num to value (i.e. setcs num value).&lt;br /&gt;
show_framecount;Shows the frame count in demo playback, default 0...... 0 = No frame counter, 1 = Show frame counter, 2 = Snapshot current frame number.&lt;br /&gt;
shrug;Allows for the use of shrug silliness if enabled on the server, (i.e. bind w &amp;quot;+forward; shrug&amp;quot;).&lt;br /&gt;
shuffleteamsxp_norestart;Command to shuffle teams by XP, without restarting the map.&lt;br /&gt;
skills;Lists in console what XP is required to reach each promotion level of each particular class (i.e. /skills). An easier option now is the menu &amp;quot;+stats&amp;quot; (normally bound to alt), this shows what you require as the class you are playing.&lt;br /&gt;
spechelp;Toggles spectator help in multiview.&lt;br /&gt;
teammenu;Command to open a v-chat style menu to select your class &amp;amp; weapon.&lt;br /&gt;
Time;Reports the game state and round time remaining.&lt;br /&gt;
timerSet;For setting ETPro’s enemy spawntimer. See also resetTimer and openTimerInput.&lt;br /&gt;
ui_browserShowETPro;Controls what type mod servers you see in your browser server list...... 0 = Show all...... 1 = Only show ETPro servers...... 2 = Don’t show ETPro servers.&lt;br /&gt;
weapons;Lists in the console what weapon you or your teammates have now and what they are going to spawn with next, but only if another respawn class choice is picked and only if the weapon has a max amount set.&lt;br /&gt;
vsay num;If a voicechat has multiple announcements you can specify which one to call, (i.e. /vsay num voicechat, /vsay 2 FTAttack)&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Cvars ===&lt;br /&gt;
Note: cheats must be enabled to use these. See the pages for [[TrickJumpLines]] (tjl) and [[TrickJumpGhosts]] (tjg)  for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_tjg_ghostfx;Controls special effects for trick jump ghosts to distinguish them from normal players, default 2, valid values 0 - 4... 0 = No effect, 1 = Flicker, 2 = Ghost, 3 = Flaming, 4 = Flame only&lt;br /&gt;
b_tjl_color;Sets the default trick jump line color default green, valid values: any hex RGB color values (e.g. 0x56789a), or a known color name (e.g. &amp;quot;red&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;green&amp;quot;, etc), -1 to disable.&lt;br /&gt;
b_tjl_draw;Controls whether trick jump lines will be drawn, default 1, enabled.&lt;br /&gt;
b_tjl_quickslot;Defines the slot used when specifying &amp;quot;quickslot&amp;quot; to tjl_startrecord, this is also the slot used by tjl_menu, default 0, disabled.&lt;br /&gt;
b_tjl_showmaxspeed;Controls whether the top speed reached will be drawn at the appropriate point on a trickjump line, default 0, disabled.&lt;br /&gt;
b_tjl_stepsize;Controls the minimum distance between any two points of the drawn trick jump line (increasing this may improve rendering performance for very long lines), default 0.5.&lt;br /&gt;
b_tjl_stoponnomove;Controls whether the trick jump line recording will automatically stop when the player being recorded stops moving, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Commands ===&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Command;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
tjg_info;This will give you detailed information about all the tjg command&#039;s and cvars.&lt;br /&gt;
tjg_load;Loads a recording from a file, (i.e. tjg_load filename).&lt;br /&gt;
tjg_menu;A convenient menu for the tjg tools.&lt;br /&gt;
tjg_pause;Pauses/resumes the ghost playback.&lt;br /&gt;
tjg_play;Plays back a recorded ghost.&lt;br /&gt;
tjg_record;Starts recording your movements.&lt;br /&gt;
tjg_save;Saves a recording to a file, (i.e. tjg_save filename).&lt;br /&gt;
tjg_stop;Stops playing or recording.&lt;br /&gt;
tjl_drawslot;Controls drawing for a given slot or changes a slot&#039;s color (i.e. /tjl_drawslot slot OR slot color), b_tjl_color must be set to  -1 in order to use this option.&lt;br /&gt;
tjl_info;This will give you detailed information about all the tjl command&#039;s and cvars.&lt;br /&gt;
tjl_load;Loads the current file into a slot (i.e. /tjl_load filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_menu;A convenient menu for the tjl tools.&lt;br /&gt;
tjl_save;Saves the current slot into a file (i.e. / tjl_save filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_startrecord;Starts recording you or a clients movements (i.e. tjl_startrecord clientnum slot OR slot OR no parameters records your own movements).&lt;br /&gt;
tjl_stoprecord;Stops recording movements.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
Links to more info about some of the above or other useful client pages here on WolfWiki.&lt;br /&gt;
&lt;br /&gt;
*[[Lagometer]]&lt;br /&gt;
*[[Physics cvars]]&lt;br /&gt;
*[[B_placebo]]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3332 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=6305 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3333 Cheaters]&lt;br /&gt;
*[[Player_Scripting | Class &amp;amp; Classmenu]]&lt;br /&gt;
*[[Target_location | Locations]]&lt;br /&gt;
*[http://bani.anime.net/etpro/playerguide.html Multiview]&lt;br /&gt;
*[[SemiAdmin]]&lt;br /&gt;
*[[Memory_cvars | Hunk, Zone and sound Megs]]&lt;br /&gt;
*[[DrawFPS]]&lt;br /&gt;
*[[Client Configuration]]&lt;br /&gt;
*[[EDV]]&lt;br /&gt;
*[[Extended ASCII]]&lt;br /&gt;
*[[ETTV:Server Configuration]]&lt;br /&gt;
*[[ETTV:Viewer&#039;s Guide]]&lt;br /&gt;
*[[Voicechat]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Talk:Client_cvar_list&amp;diff=2249</id>
		<title>Talk:Client cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Talk:Client_cvar_list&amp;diff=2249"/>
		<updated>2006-04-28T04:01:24Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Thanks [[User:The Birdman|The Birdman]] for the work one the server and client cvar and command list. They are very helpful. However, it seems like there is a basic problem. The pitatable doesn&#039;t allow formatting and linking, and some of these things are complex enough to justify having their own page. Some command/cvars are related, and are described on a single page (e.g. [[Physics cvars]]).&lt;br /&gt;
&lt;br /&gt;
Putting each item on it&#039;s own page, and using a wiki catagory to generate a bare list of the names (as in [[:Category:ETPro:Client Cvars]]) isn&#039;t a complete solution either. When trying to find a command or cvar, without knowing exactly what it is, you want to look at a list with brief descriptions of each item, and a link to further information where it is available. Suggestions as to how to cleanly achieve this with wiki are requested.&lt;br /&gt;
&lt;br /&gt;
[[User:ReyalP|ReyalP]] 19:29, 20 March 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
I guess someone with too much time on his hands could convert the tables to wiki tables. Descriptions can be shortened immensely with linking. --[[User:Lagger|Lagger]] 21:01, 27 April 2006 (PDT)&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Players&amp;diff=2248</id>
		<title>Players</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Players&amp;diff=2248"/>
		<updated>2006-04-28T03:25:51Z</updated>

		<summary type="html">&lt;p&gt;Lagger: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The serverinfo cvars &#039;&#039;Players_Axis&#039;&#039;,&#039;&#039;Players_Allies&#039;&#039; have been removed from etpro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reasons ==&lt;br /&gt;
The cvars could get very long, in some cases so long that they would overflow the serverinfo string and crash the server.&lt;br /&gt;
There was no way to associate spectator client ID#&#039;s with listed players, nor players who had not yet finished connecting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Solution ==&lt;br /&gt;
&lt;br /&gt;
ETPro introduces a new cvar which is shorter (so it doesn&#039;t overflow the serverinfo string and cause server crashes), easier to parse, and allows for associating player client ID&#039;s in all cases.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Format ==&lt;br /&gt;
&lt;br /&gt;
The new cvar is P, and probably the easiest way to show its usage is by example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;29 frags 30ms bani&lt;br /&gt;
106 frags 20ms rain&lt;br /&gt;
189 frags 50ms zinx&lt;br /&gt;
63 frags 32ms fretn&lt;br /&gt;
43 frags 96ms duke&#039;ku&lt;br /&gt;
0 frags 999ms ikkyo&lt;br /&gt;
100 frags 56ms majikthise&lt;br /&gt;
22 frags 108ms boco&lt;br /&gt;
31 frags 101ms vio&lt;br /&gt;
0 frags 44ms ohayden&lt;br /&gt;
&lt;br /&gt;
P=--------221120111-3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case the first 8 server slots are empty (client id 0-7), probably private server slots. bani and rain are client ids 8 and 9, both allies. zinx and fretn are client ids 10 and 11, both axis. duke&#039;ku is allied in client id 12. ikkyo is still connecting in client id 13 and has not been assigned a team yet. majikthise, boco and vio are all axis in slots 14-16. slot 17 is empty. slot 18 is ohayden as spectator.&lt;br /&gt;
[[Category:ETPro]][[Category:ETPro:Server_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2247</id>
		<title>Client cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2247"/>
		<updated>2006-04-28T03:21:38Z</updated>

		<summary type="html">&lt;p&gt;Lagger: categorized&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;ETPro Client cvars and commands&#039;&#039;&#039; ==&lt;br /&gt;
By The Birdman &amp;amp; =FF=im2good4u&lt;br /&gt;
&lt;br /&gt;
This list contains all ETPro client cvars and commands (hopefully).&lt;br /&gt;
&lt;br /&gt;
We have tried to include as much information in each description as possible, but some might require more explaining, so links to other pages here or the forums have been added.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
If there is any ETPro client cvars/commands that you think we have omitted or any that you think the description is wrong then pm me [http://bani.anime.net/banimod/forums/profile.php?mode=viewprofile&amp;amp;u=3475 here], if you don&#039;t know how to edit this page. Before pm’ing/editing are you sure it’s an ETPro cvar/command and not another mods or an ETmain one, if it is ETPro then either edit or let me know what cvar/command we’ve omitted, adding a short description of what it’s use is, if known to you. If you think a description is wrong, quote the cvar/command and it’s description adding your description of it or edit.&lt;br /&gt;
&lt;br /&gt;
Apologies for all the ..... to try create new lines or push things along to create a line so things look a bit better in some of the description sections, but i couldn&#039;t start new lines using the pitatable.&lt;br /&gt;
&lt;br /&gt;
=== Cvars ===&lt;br /&gt;
&lt;br /&gt;
Most of these cvars are either 0 (disabled) or 1 (enabled), those that differ I have included the values in the description. See [[Bitmask-cvar]] for more information on bit mask cvars.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_altHud;Controls which hud design you use, default 0 (normal hud), valid values 0, 1, 2 and 3. Three is custom mode where you can drag and drop the hud objects (i.e. compass, chargebar etc) where you would like them, but work was never finished on this.&lt;br /&gt;
b_altHudFlags;Bitmask for controlling various hud settings if b_altHud = 1 or 2, default 0, valid values 0-7................... 1 = Move round timer, 2 = Don&#039;t display rank in hud, 3 = RTCW-ish message placement, 4 = Custom (drag and drop not working, coding was never finished)&lt;br /&gt;
b_antilag;Controls whether shots are lag-compensated by the server, default 1, enabled, valid values 0,1,2........... 0 = Disabled, 1 = ETPro antilag enabled (best), 2 = ETmain antilag enabled&lt;br /&gt;
b_backupcvars;Controls whether backup files are made when ETPro cvar restrictions are applied, default 1, enabled.&lt;br /&gt;
b_beginround;Assign commands to this and they will be automatically executed at the start of new a round/map. See also b_endround.&lt;br /&gt;
b_centeredWeapons;Centers weapon models on entity origins, making weapon pickup more predictable. default 1 = enabled, 0 old ET way.&lt;br /&gt;
b_chatAlpha;Defines the alpha of the chat text, default 0.33, valid values 0.0 – 1.0, (0.0 = 100% transparent).&lt;br /&gt;
b_chatFlags;Controls whether the team flag is drawn by each chat text, default 1, enabled.&lt;br /&gt;
b_chatsounds;Controls playing a sound with chats, default 0, disabled.&lt;br /&gt;
b_cmdwarnings;Controls notifications from the tjl_* commands, default 1, enabled.&lt;br /&gt;
b_debugfakebmodel;Controls debugging EF_FAKEBMODEL brushes in map scripts, default 0, disabled, (cheat protected).&lt;br /&gt;
b_debuglocations;Bitmask to enable debugging/design aids for location names. Works with external dats as well as target_location ents, default 0, valid values: 0 - 31, (cheat protected).................................................. 1 = Draw a bubble sprite at each location marker. The nearest location is drawn in green, with all the others being drawn in red...... 2 = Add a dynamic light at each location marker. The nearest location is lit in red, with all the others being lit in green...... 4 = Draw floating text at each location marker containing the location&#039;s name. The nearest location is colored green instead of white...... 8 = Send updates to other players when a location is added, deleted, or renamed. This function is designed to allow several people to work on adding locations to a level simultaneously...... 16 = Accept updates to locations from other players who are using b_debuglocations 8.&lt;br /&gt;
b_demo_autotimescale;Controls the timescale to switch to when a weapon set in b_demo_autotimescaleweapons is fired, default 1.&lt;br /&gt;
b_demo_autotimescaleweapons;Bitmask to automatically change the timescale when a certain type of weapon is fired, default 0, disabled, valid values 0 – 31. 1 = Panzerfaust, 2 = Grenade, 4 = Dynamite, 8 = Mortar, 16 = Smoke grenades and airstrike markers&lt;br /&gt;
b_demo_drawspectatormessages;Controls whether &amp;quot;spectator/weaponcam/shoutcaster/etc&amp;quot; overlay is drawn in demo playback, default 1, enabled.&lt;br /&gt;
b_demo_dynamitecam;Controls whether to attach the camera to dynamite during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_dynamitecounter;Controls drawing a floating counter above armed dynamite during demo playback and when spectating as a shoutcaster, default 0, disabled.&lt;br /&gt;
b_demo_followxDistance;Controls camera offset when attached to a weapon, default 50.&lt;br /&gt;
b_demo_followyDistance;Controls camera offset when attached to a weapon, default 0.&lt;br /&gt;
b_demo_followzDistance;Controls camera offset when attached to a weapon, default 20.&lt;br /&gt;
b_demo_freecamspeed;Controls the freecam movement speed, default 800.&lt;br /&gt;
b_demo_grenadecam;Controls whether to attach the camera to these types of grenades during demo playback, default 0, valid values 0, 1, 2, 3.................. 0 = Disabled, 1 = Grenades (hand-thrown thrown and rifle grenades), 2 = Airstrike markers, smoke grenades, 3 = 1 and 2&lt;br /&gt;
b_demo_lookat;Causes the freecam to lock its view on the specified player (i.e. /b_demo_lookat clientnum), default –1, disabled. To get client numbers in demos see b_demo_nametags for explanation.&lt;br /&gt;
b_demo_mortarcam;Controls whether to attach the camera to mortars during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_nametags;Bitmask controlling how floating names above each player are drawn during demo playback and when spectating as a shoutcaster, default 0, valid values 0-15............ 0 = Disabled, 1 = Draw visible players, 2 = Draw all players, 4 = Draw the player&#039;s client number, 8 = Draw the player&#039;s class.&lt;br /&gt;
b_demo_nopitch;Controls whether the camera pitch’s while it&#039;s attached to weapons, default 1, enabled (no pitch).&lt;br /&gt;
b_demo_panzercam;Controls whether to attach the camera to panzers during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_pitchturnspeed;Defines the pitch turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_yawturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demo_playersprites;Controls whether the floating sprites (e.g. voicechat, objective, invulnerability, fireteam, and connection markers) are drawn above players&#039; heads in demo playback, default 1, enabled.&lt;br /&gt;
b_demo_pvshint;Controls whether to draw a line from the freecam origin to the origin of the demo recorder, default 0, disabled.&lt;br /&gt;
b_demo_rollspeed;Defines the roll speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_pitchturnspeed and b_demo_yawturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demo_teamonlymissilecam;Controls whether to attach the camera to weapons fired by demo recorders team only, default 0, disabled.&lt;br /&gt;
b_demo_yawturnspeed;Defines the yaw turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_pitchturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demorecord_statusline;Controls the y offset of the demo/tjl/tjg recording status line. Use -1 to disable these status lines completely, default: 470, valid values -1, 0 - 480.&lt;br /&gt;
b_descriptiveTextscale;Controls the limbo hud text size, default 0.8.&lt;br /&gt;
b_dinghy;Have no idea what this does, or maybe we do.&lt;br /&gt;
b_drawclock;Controls whether to show a clock with your local time on the hud, default 0, disabled.&lt;br /&gt;
b_drawPromotions;Controls whether the rank promotion messages are shown (and whether sounds played) when receiving a promotion, default 1, enabled.&lt;br /&gt;
b_drawranks;Controls whether ranks of other players are drawn when using cg_crosshairnames, default 1, enabled.&lt;br /&gt;
b_drawRewards;Controls whether skill level increases and reward messages are shown (and whether sounds played), default 1, enabled.&lt;br /&gt;
b_drawspectatoralpha;Defines the alpha of the &amp;quot;spectator&amp;quot;, &amp;quot;shoutcaster&amp;quot;, &amp;quot;freecam&amp;quot;, etc. notices (0 = 100% transparent), default 1, valid values 0.00 - 1.00&lt;br /&gt;
b_drawspectatorteamflags;Controls whether to draw a small team flag beside the player name when following players in spectator mode, default 1, enabled.&lt;br /&gt;
b_drawspeed;Controls whether to draw a speedometer on the hud, default 0, valid values 0, 1, 2, 3, 4, 5................... 0 = Disabled..... 1, 5 = Draw a speedometer....... 2, 4 = Draw a speedometer and the maximum speed reached...... 3, 4, 5 = Draw a speed graph if the lagometer is not being drawn&lt;br /&gt;
b_endround;Assign commands to this and they will be automatically executed at round end. See also b_beginround.&lt;br /&gt;
b_fireteamAlpha;Defines the alpha of the fireteam overlay, (0 = 100% transparent), default 1.0, valid values 0.00 – 1.00.&lt;br /&gt;
b_fireteamLatchedClass;Controls showing latched player class instead of rank in fire team hud display, default 1, enabled.&lt;br /&gt;
b_goatsound;Controls whether a sound is played on knife kills, default 1, enabled.&lt;br /&gt;
b_hitsounds;Controls whether to enable hit sounds, default 0, valid values 0, 1, 2............ 0 = disabled, 1 = enabled, 2 = enabled for headshots only&lt;br /&gt;
b_hudYoffset;Moves the hud so it is out of the way of the demo status line. Set to 0 to move the hud flush with the edge of the screen, default 10.0, valid values 0 – 640.&lt;br /&gt;
b_killshot_delay;Determines the time in milliseconds to take an automatic screenshot after a kill, default 0, disabled.&lt;br /&gt;
b_lagometerAlpha;Defines the alpha of the lagometer, default 1.0, valid values 0.00 – 1.0 (0 = 100% transparent). Link at the bottom of page for more info about the lagometer.&lt;br /&gt;
b_locationJustify;Controls justification of locations in fire team hud, default 0....................... -1 = left justify with padding, 0 = left justify no padding, 1 = right justify with padding&lt;br /&gt;
b_locationMaxChars;Controls the number of characters of location names in the Fireteam hud, default 25, valid values 0-76.&lt;br /&gt;
b_locationMode;Bitmask to control how locations are displayed in the fireteam hud, default 0, valid values 0-31............ 0 = Default, currently equivalent to &#039;1&#039;...... 1 = Show location names...... 2 = Show location coordinates, 4 = Do not check whether locations are in your PVS when searching for a location name. Applies to b_debuglocations and add/del/etc., too...... 8 = Don’t fall back to location coordinates when no location name was found, instead, show &amp;quot;unknown&amp;quot;&lt;br /&gt;
b_logbanners;Controls whether server banners are logged in your console, default 1, enabled.&lt;br /&gt;
b_mapconfigdirectory;Defines the folder name to look for map-specific cfg/config files.&lt;br /&gt;
b_mapzoom;Controls the zoom level for the map shown in the compass, default 5.159, valid values 1.0 - 7.43.&lt;br /&gt;
b_muzzleflash;Controls whether first-person muzzle flash is drawn, default 1, enabled.&lt;br /&gt;
b_noactivatelean;Controls whether to enable/disable leaning behaviour when strafing with +activate, default 0.................. 0 = +activate and +moveleft/+moveright causes the player to lean left/right........ 1 = leaning behaviour is disabled; player can use +activate while strafing.&lt;br /&gt;
b_numPopups;Controls the number of popup messages on the hud, default –1...... -1 = Use ETmain cg_drawSmallPopupIcons setting, (if cg var = 0) 5 popups, (if cg var = 1) 8 popups...... 0 = Disable popup messages entirely...... 1 = Use ETmain cg_drawSmallPopupIcons 1, 8 popups...... &#039;number&#039; = Limit the number of popup messages on the hud to the number of your choice&lt;br /&gt;
b_optimizePrediction;Controls whether to attempt to use previously calculated prediction results when possible to increase performance or not, default 1, enabled. Link at bottom of page for more info on this.&lt;br /&gt;
b_panzerhack;Controls whether the secondary MP40/Thompson (for a soldier with level 4 heavy weapons) is moved to weaponbank 2, default 1, enabled.&lt;br /&gt;
b_placebo;When this cvar is enabled, anything is possible. Link at bottom of page which explains this better.&lt;br /&gt;
b_popupFadeTime;Defines the time in milliseconds that popups take to fade out, default 2500.&lt;br /&gt;
b_popupStayTime;Defines the time in milliseconds that popups will stay before fading, default 2000.&lt;br /&gt;
b_popupTime;Defines the time in milliseconds between popups, default 1000.&lt;br /&gt;
b_predefineddemokeys;Controls whether demo playback uses hard-coded key bindings, which cannot be overridden, default 1, enabled...... 0 = Lets you use your own key bindings in demo playback, at the loss of the predefined key actions...... 1 = Hard-coded key bindings, which cannot be overridden.&lt;br /&gt;
b_shovesounds;Controls whether you hear shove sounds, default 1, enabled.&lt;br /&gt;
b_simpleItems;Controls whether to draw sprites instead of models for items, for a slight performance/visibility increase, default 0, disabled.&lt;br /&gt;
b_spectatorteamflags;default 1, enabled.&lt;br /&gt;
b_speedinterval;Defines the time in milliseconds between two speedometer updates, default 100.&lt;br /&gt;
b_speedunit;Controls the speed unit used for the ups meter, default 0, valid values 0, 1, 2...... 0 = (ups), 1 = (mph), 2 = (km/h)&lt;br /&gt;
b_textcolorfilter;Strips certain colour characters from names and most text messages, default &amp;quot;&amp;quot;, use &amp;quot;*&amp;quot; to filter all.&lt;br /&gt;
b_tracers;Controls bullet tracers, default 1, valid values 0, 1, 2...... 0 = Disabled, 1 = Show all tracers, 2 = Don&#039;t show own tracers&lt;br /&gt;
b_votetextscale;Defines the scaling for the vote text, default 0.8.&lt;br /&gt;
b_watermarkAlpha;Defines the alpha of a watermark (if server has one), default 1, valid values 0.00 – 1.0 (0 = 100% transparent).&lt;br /&gt;
b_weapaltReloads;Controls whether weapalt doubles as reload for weapons lacking an alternate fire mode, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
Clients can use to either bind, get info in the console or use with rcon, ref and semiadmin.&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
guids;Displays a list of players and their ETPro guid’s in the console.&lt;br /&gt;
b_cvarlist;Displays a list of ETPro cvar limits of the server you are in, (only shows if the server has cvar limits set).&lt;br /&gt;
b_cvarempty;Resets all ETPro cvars to their defaults.&lt;br /&gt;
Bp;Sends text to all clients to be displayed in the banner area.&lt;br /&gt;
camera;Used to run scripted cameras, whatever.camera files. 2 Links at bottom of page which helps explain this better.&lt;br /&gt;
cancelvote;Cancels any vote in progress.&lt;br /&gt;
cheaters;Lists all clients in console, with info on whether they are cheating.To check on just one particular client use /cheaters client slot, this will return the IAC info of only that chosen client. Link at bottom of page, for better explanation.&lt;br /&gt;
class;Class allows you to script the selection of team and class, (syntax: class class weapon {secondary weapon}, e.g. cs_mg42 &amp;quot;class s 2 3). Link at bottom of page for better explanation.&lt;br /&gt;
classmenu;Command for opening the class selection menu. Link at bottom of page for better explanation.&lt;br /&gt;
clearlines;Empties out the debug line queue (e.g. if a bunch of railtrail lines with a huge cg_railtrailtime are in the buffer.)&lt;br /&gt;
Cp;Sends text to all clients to be displayed in the centerprint area.&lt;br /&gt;
etpro_alliedmapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_axismapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_lastmapname;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_session;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
exec_at_time;Allows scripts to be executed exactly at a specified frame number (demo playback only).&lt;br /&gt;
follow;For specifying which player to spectate (i.e. /follow &amp;lt;client slot&amp;gt;).&lt;br /&gt;
follownext;Spectate the next guy (normally bound to your fire button (mouse1) when spectating).&lt;br /&gt;
followprev;Spectate the previous guy.&lt;br /&gt;
freecam;Allows for you to switch in and out of freecam in demo playback.&lt;br /&gt;
freecamgetpos;Retrieves the position of the camera.&lt;br /&gt;
freecamsetpos;Sets the position of the camera. (mainly for use with scripted cameras)&lt;br /&gt;
inviteall;Used with fireteam to invite all teammates into fireteam, if they aren’t already in one (i.e. /fireteam inviteall).&lt;br /&gt;
kill;ETPro change: /kill now counts as a death.&lt;br /&gt;
Listcs;Dumps all of the current configstrings to the server console, (mostly useful as a debugging or map making tool).&lt;br /&gt;
loc_add;For adding location names. Link at bottom of page for better explanation of loc_* vars.&lt;br /&gt;
loc_del;For deleting location names, (doesn’t have to be the exact name, it will delete the closest one).&lt;br /&gt;
loc_load;Load the specified location-name file, (i.e. loc_load filename).&lt;br /&gt;
loc_rename;For renaming location names, (doesn’t have to be the exact name, it will rename the closest one to what was specified).&lt;br /&gt;
loc_save;Saves location names to the specified file, (i.e. loc_save filename).&lt;br /&gt;
loc_show;Shows location name of an imperfectly specified location.&lt;br /&gt;
m;Pretext for sending a private message (i.e. /m playername message), to send to all clan members in the server, instead of a playername use your clan tag (i.e. if your clan tag is -lol- then, /m -lol- hi guys, would send the message ‘hi guys’ to all players with -lol- in their name, naturally just your clan mates).&lt;br /&gt;
makesc, makeshoutcast, makeshoutcaster;Use to give a specified player shoutcaster status, (i.e. /makesc clientid).&lt;br /&gt;
msg;Same as /m, but broken on servers.&lt;br /&gt;
mt;Similar to m, but this pretext just sends private messages to players on your own team axis/allies (i.e. /mt playername message), if you try using this to send a private message to a player on the opposing team then he won’t receive it, it only search’s for players playername on your own team.&lt;br /&gt;
mv_sensitivity;MultiView : Note NEED MORE INFO ON MULTIVEIW CVARS, feel free to edit&lt;br /&gt;
mvactivate;Command to enter and exit Multiview mode, more info &amp;lt;a href=&amp;quot;http://bani.anime.net/etpro/playerguide.html&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&lt;br /&gt;
mvadd;MultiView&lt;br /&gt;
mvall;Command to view all players in multiview.&lt;br /&gt;
mvallies;Command to view all allied players in multiview.&lt;br /&gt;
mvaxis;Command to view all Axis players in multiview.&lt;br /&gt;
mvdel;MultiView&lt;br /&gt;
mvhide;MultiView&lt;br /&gt;
mvnew;MultiView&lt;br /&gt;
mvnone;MultiView&lt;br /&gt;
mvshow;MultiView&lt;br /&gt;
mvswap;MultiView&lt;br /&gt;
mvtoggle;MultiView&lt;br /&gt;
notice;Don’t know what this is used for but when you type it in the console (/notice) it returns with some lol statements, for example: “etpro comes with no warranties of any kind – if it breaks, you get to keep both pieces”, “heeey, sticklyman! WhaaAaAaAAaaAt are you doing?!” Etc&lt;br /&gt;
openTimerInput;For setting ETPro’s enemy spawn time. This opens a box to set the enemy&#039;s spawn time in. See also resetTimer and timerSet.&lt;br /&gt;
passvote;Passes any vote in progress.&lt;br /&gt;
pm;Same as /m, but broken on servers.&lt;br /&gt;
qsay;Sends text to all clients to be displayed in the chat area without the server: prefix.&lt;br /&gt;
ref;For logging in with a password for Ref status. Allows access to the referee commands from the server console/menu.&lt;br /&gt;
reflogout;For logging out from Ref status.&lt;br /&gt;
removesc, removeshoutcast, removeshoutcaster;Use to remove a specified player from shoutcaster status, (i.e. /removesc clientid).&lt;br /&gt;
resetmaxspeed;Clears/resets max speed.&lt;br /&gt;
resetTimer;Resets ETPro’s enemy spawntimer. See also openTimerInput and timerSet.&lt;br /&gt;
sa, semiAdmin;For use when logged in as a semiAdmin. This all depends on what commands the server admin has assigned to you for use. Semiadmins may also check their current level and available commands with /sa or /semiadmin by itself with no parameters. Example: If the server admin has assigned you the command map_restart, then when logged in as semiadmin to restart the current map you would type into the console /sa map_restart&lt;br /&gt;
sal, semiAdminLogin;For logging in with a password for SemiAdmin status, (i.e. /semiadminlogin password or /sal password)&lt;br /&gt;
say_buddy;Used to send chat messages to all in your fireteam or one particular fireteam mate (i.e. /say_buddy1 hi)&lt;br /&gt;
scLogin, shoutCastLogin;For logging in with a password for shoutcaster status.&lt;br /&gt;
scLogout, shoutCastLogout;For logging out of shoutcaster status.&lt;br /&gt;
setcs;Sets the value of configstring number num to value (i.e. setcs num value).&lt;br /&gt;
show_framecount;Shows the frame count in demo playback, default 0...... 0 = No frame counter, 1 = Show frame counter, 2 = Snapshot current frame number.&lt;br /&gt;
shrug;Allows for the use of shrug silliness if enabled on the server, (i.e. bind w &amp;quot;+forward; shrug&amp;quot;).&lt;br /&gt;
shuffleteamsxp_norestart;Command to shuffle teams by XP, without restarting the map.&lt;br /&gt;
skills;Lists in console what XP is required to reach each promotion level of each particular class (i.e. /skills). An easier option now is the menu &amp;quot;+stats&amp;quot; (normally bound to alt), this shows what you require as the class you are playing.&lt;br /&gt;
spechelp;Toggles spectator help in multiview.&lt;br /&gt;
teammenu;Command to open a v-chat style menu to select your class &amp;amp; weapon.&lt;br /&gt;
Time;Reports the game state and round time remaining.&lt;br /&gt;
timerSet;For setting ETPro’s enemy spawntimer. See also resetTimer and openTimerInput.&lt;br /&gt;
ui_browserShowETPro;Controls what type mod servers you see in your browser server list...... 0 = Show all...... 1 = Only show ETPro servers...... 2 = Don’t show ETPro servers.&lt;br /&gt;
weapons;Lists in the console what weapon you or your teammates have now and what they are going to spawn with next, but only if another respawn class choice is picked and only if the weapon has a max amount set.&lt;br /&gt;
vsay num;If a voicechat has multiple announcements you can specify which one to call, (i.e. /vsay num voicechat, /vsay 2 FTAttack)&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Cvars ===&lt;br /&gt;
Note: cheats must be enabled to use these. See the pages for [[TrickJumpLines]] (tjl) and [[TrickJumpGhosts]] (tjg)  for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_tjg_ghostfx;Controls special effects for trick jump ghosts to distinguish them from normal players, default 2, valid values 0 - 4... 0 = No effect, 1 = Flicker, 2 = Ghost, 3 = Flaming, 4 = Flame only&lt;br /&gt;
b_tjl_color;Sets the default trick jump line color default green, valid values: any hex RGB color values (e.g. 0x56789a), or a known color name (e.g. &amp;quot;red&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;green&amp;quot;, etc), -1 to disable.&lt;br /&gt;
b_tjl_draw;Controls whether trick jump lines will be drawn, default 1, enabled.&lt;br /&gt;
b_tjl_quickslot;Defines the slot used when specifying &amp;quot;quickslot&amp;quot; to tjl_startrecord, this is also the slot used by tjl_menu, default 0, disabled.&lt;br /&gt;
b_tjl_showmaxspeed;Controls whether the top speed reached will be drawn at the appropriate point on a trickjump line, default 0, disabled.&lt;br /&gt;
b_tjl_stepsize;Controls the minimum distance between any two points of the drawn trick jump line (increasing this may improve rendering performance for very long lines), default 0.5.&lt;br /&gt;
b_tjl_stoponnomove;Controls whether the trick jump line recording will automatically stop when the player being recorded stops moving, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Commands ===&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Command;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
tjg_info;This will give you detailed information about all the tjg command&#039;s and cvars.&lt;br /&gt;
tjg_load;Loads a recording from a file, (i.e. tjg_load filename).&lt;br /&gt;
tjg_menu;A convenient menu for the tjg tools.&lt;br /&gt;
tjg_pause;Pauses/resumes the ghost playback.&lt;br /&gt;
tjg_play;Plays back a recorded ghost.&lt;br /&gt;
tjg_record;Starts recording your movements.&lt;br /&gt;
tjg_save;Saves a recording to a file, (i.e. tjg_save filename).&lt;br /&gt;
tjg_stop;Stops playing or recording.&lt;br /&gt;
tjl_drawslot;Controls drawing for a given slot or changes a slot&#039;s color (i.e. /tjl_drawslot slot OR slot color), b_tjl_color must be set to  -1 in order to use this option.&lt;br /&gt;
tjl_info;This will give you detailed information about all the tjl command&#039;s and cvars.&lt;br /&gt;
tjl_load;Loads the current file into a slot (i.e. /tjl_load filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_menu;A convenient menu for the tjl tools.&lt;br /&gt;
tjl_save;Saves the current slot into a file (i.e. / tjl_save filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_startrecord;Starts recording you or a clients movements (i.e. tjl_startrecord clientnum slot OR slot OR no parameters records your own movements).&lt;br /&gt;
tjl_stoprecord;Stops recording movements.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
Links to more info about some of the above or other useful client pages here on WolfWiki.&lt;br /&gt;
&lt;br /&gt;
*[[Lagometer]]&lt;br /&gt;
*[[Physics cvars]]&lt;br /&gt;
*[[B_placebo]]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3332 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=6305 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3333 Cheaters]&lt;br /&gt;
*[[Player_Scripting | Class &amp;amp; Classmenu]]&lt;br /&gt;
*[[Target_location | Locations]]&lt;br /&gt;
*[http://bani.anime.net/etpro/playerguide.html Multiview]&lt;br /&gt;
*[[SemiAdmin]]&lt;br /&gt;
*[[Memory_cvars | Hunk, Zone and sound Megs]]&lt;br /&gt;
*[[DrawFPS]]&lt;br /&gt;
*[[Client Configuration]]&lt;br /&gt;
*[[EDV]]&lt;br /&gt;
*[[Extended ASCII]]&lt;br /&gt;
*[[ETTV:Server Configuration]]&lt;br /&gt;
*[[ETTV:Viewer&#039;s Guide]]&lt;br /&gt;
*[[Voicechat]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Client_Configuration&amp;diff=2246</id>
		<title>Client Configuration</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Client_Configuration&amp;diff=2246"/>
		<updated>2006-04-28T03:12:54Z</updated>

		<summary type="html">&lt;p&gt;Lagger: link beautification (yes, i&amp;#039;m very bored)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Client Side Install==&lt;br /&gt;
;To play ETPro online&lt;br /&gt;
Simply connect to an ETPro server with downloads enabled on your client.&amp;lt;br&amp;gt;&lt;br /&gt;
;To host your own game&lt;br /&gt;
Download the desired ETPro .zip from the [http://etpro.anime.net/download.html ETPro download page] and unzip it into your ET directory, then start ET with fs_game set as described below.&amp;lt;br&amp;gt;&lt;br /&gt;
For additional information see the [http://wolfwiki.anime.net/index.php/ETPro:Server_Configuration Server Configuration page]&lt;br /&gt;
;To play demos&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the [http://bani.anime.net/etpro/download.html PK3] in a program that can handle &amp;lt;tt&amp;gt;zip&amp;lt;/tt&amp;gt; files. Extract the following files to the ETPro directory:&lt;br /&gt;
:cgame_mp_x86.dll&lt;br /&gt;
:ui_mp_x86.dll&lt;br /&gt;
&amp;lt;li&amp;gt;Start the client with the &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Command line: Append &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt; to the command line.&lt;br /&gt;
&amp;lt;li&amp;gt;Windows Shortcut: Append &amp;lt;tt&amp;gt;+set fs_game etpro&amp;lt;/tt&amp;gt; to the target box, usually after &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\Wolfenstein - Enemy Territory&amp;quot;&amp;lt;/tt&amp;gt;. Make sure to place it after the double-quote.&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Warnings==&lt;br /&gt;
While viewing a demo: &amp;lt;i&amp;gt;Client/Server game mismatch: &#039;Enemy Territory/ET pro&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While viewing a demo: &amp;lt;i&amp;gt;Unknown event: 131&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While viewing a demo: &amp;lt;i&amp;gt;BG_EvaluateTrajectory: unknown trType: 0&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
While viewing a demo: &amp;lt;i&amp;gt;BG_IndexForString: unknown token &#039;NOT&#039;&amp;lt;/i&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
:This happens when you use the wrong client to playback ETPro 3 demos.  The solution is to extract cgame_mp_x86.dll and ui_mp_x86.dll from the most recent [http://bani.anime.net/etpro/download.html ETPro PK3] and put it in your ETPro directory.&lt;br /&gt;
&lt;br /&gt;
==Related links==&lt;br /&gt;
*[http://rarlabs.com/download.htm WinRAR] - Can open PK3 files (Recommended).&lt;br /&gt;
*[http://www.winzip.com WinZip] - Can open PK3 files.&lt;br /&gt;
*[[:Category:ETPro:Client Cvars|Client cvars]].&lt;br /&gt;
*[[Client cvar list]].&lt;br /&gt;
*[[Server Configuration]].&lt;br /&gt;
*[[Performance Tuning]].&lt;br /&gt;
&lt;br /&gt;
==Additional troubleshooting==&lt;br /&gt;
Most problems with hosting games and playing demos, as well as some problems with playing online, are caused by having multiple versions of the etpro files present, or simply having too many files.&lt;br /&gt;
;For reliable demo playback and local hosting&lt;br /&gt;
* There should be only one etpro-X_Y_Z.pk3 in your etpro directory.&lt;br /&gt;
* Unless you have a specific reason to do otherwise, always use the most recent version. ETPro is backwards comatible with older demos, as well as demos from etmain.&lt;br /&gt;
* The ui and cgame .dll files in the etpro directory must match those in the etpro .pk3 file. Extract them as described above.&lt;br /&gt;
* Many servers force you to download additional skin packs, sound packs, other content. All of this will be present in demo playback or hosted games, unless your move the corresponding files to somewhere that outside of etpro or etmain, or delete them.&lt;br /&gt;
*In addition to the etpro .pk3 the following are required by ET.&lt;br /&gt;
** mp_bin.pk3&lt;br /&gt;
** pak0.pk3&lt;br /&gt;
** pak1.pk3&lt;br /&gt;
** pak2.pk3&lt;br /&gt;
To play back a demo, you must also have the .pk3 corresponding to the map it was recorded on.  All other .pk3 files may be safely deleted or moved to another directory.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=ETPro:Lua_Mod_API&amp;diff=2245</id>
		<title>ETPro:Lua Mod API</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=ETPro:Lua_Mod_API&amp;diff=2245"/>
		<updated>2006-04-28T03:00:30Z</updated>

		<summary type="html">&lt;p&gt;Lagger: move borked links to page, added redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lua Mod API]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Performance_Tuning&amp;diff=2244</id>
		<title>Performance Tuning</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Performance_Tuning&amp;diff=2244"/>
		<updated>2006-04-28T02:47:01Z</updated>

		<summary type="html">&lt;p&gt;Lagger: same broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Performance bottlenecks and workarounds==&lt;br /&gt;
The following describes general areas which can affect game performance, and possible workarounds. Network performance is not addressed here, except as it relates to CPU usage.&lt;br /&gt;
&lt;br /&gt;
Hardware mentioned is meant only as a general example.&lt;br /&gt;
&lt;br /&gt;
==CPU and system memory speed==&lt;br /&gt;
;As a general rule, ET likes lots of CPU and memory/cache/FSB bandwidth.&lt;br /&gt;
Anything less than an Athlon XP 2000 or Pentium 4 2GHZ. Systems with poor memory bandwidth (SDR or DDD266 RAM) or crippled cache (celeron, duron) will suffer.&lt;br /&gt;
===Improving performance on CPU limited systems===&lt;br /&gt;
*&#039;&#039;&#039;b_optimizeprediction 1&#039;&#039;&#039;&lt;br /&gt;
*Higher ping and packet loss put more load on the CPU&lt;br /&gt;
*Larger servers put more load on your system&lt;br /&gt;
&lt;br /&gt;
==Video card==&lt;br /&gt;
Anything less than a geforce4 (not MX) or radeon 9600 will be a serious handicap. Beware of manufacturers deceptive naming conventions, a FooBar 1000XTS might be the best available card while the FooBar 1000LE is utter crap. &lt;br /&gt;
===Improving performance on video card limited systems===&lt;br /&gt;
*&#039;&#039;&#039;lower resolution&#039;&#039;&#039;&lt;br /&gt;
:Choose a lower value for r_mode; use /modelist to see available modes&lt;br /&gt;
*&#039;&#039;&#039;Lower texture quality&#039;&#039;&#039;&lt;br /&gt;
**Set [[r_picmip]] to a higher value (up to 3).&lt;br /&gt;
**Set [[r_texturebits]] to 16&lt;br /&gt;
**Set [[r_texturemode]] to &amp;lt;tt&amp;gt;GL_NEAREST_MIPMAP_NEAREST&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;GL_LINEAR&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;GL_NEAREST&amp;lt;/tt&amp;gt;&lt;br /&gt;
**Set texture compression [[r_ext_compressed_textures]] to 1 (Note that this may have a positive or negative impact on performance, depending on your system)&lt;br /&gt;
*&#039;&#039;&#039;lower color depth&#039;&#039;&#039;&lt;br /&gt;
:Set [[r_colorbits]] to 16&lt;br /&gt;
*&#039;&#039;&#039;Other quality settings&#039;&#039;&#039;&lt;br /&gt;
:Set r_fastsky to 1&lt;br /&gt;
:Set curve settings (TODO)&lt;br /&gt;
&lt;br /&gt;
==Available Physical RAM==&lt;br /&gt;
256 megabytes or less of system RAM will impact level load times and cause hitching (momentary drops in FPS) in game. If levels take a long time to load, or your hard disk is frequently active during gameplay, you are most likely need more RAM.&lt;br /&gt;
===Settings for systems without much system RAM===&lt;br /&gt;
*r_picmip and r_texturebits, as above&lt;br /&gt;
*lower sound quality&lt;br /&gt;
*set com_hunkmegs to 56, or the lowest value that works with all the maps you want to play.&lt;br /&gt;
*other [[memory cvars]] should not be set too high above the default.&lt;br /&gt;
&lt;br /&gt;
==Integrated sound ==&lt;br /&gt;
Most integrated sound devices suck, and can cause noticeable FPS loss and stuttering. &lt;br /&gt;
&lt;br /&gt;
==External Programs==&lt;br /&gt;
In general, the less you run when you play ET, the better. However, some programs are known to have disproportionate performance impacts.&lt;br /&gt;
*&#039;&#039;&#039;x-fire&#039;&#039;&#039; in game integration features.&lt;br /&gt;
*&#039;&#039;&#039;p2p&#039;&#039;&#039; bittorrent, kazaa etc.&lt;br /&gt;
*&#039;&#039;&#039;malware&#039;&#039;&#039; viruses, spyware and addware can all cause serious performance problems.&lt;br /&gt;
*&#039;&#039;&#039;scheduled tasks&#039;&#039;&#039; such as windows update or antivirus updates&lt;br /&gt;
*&#039;&#039;&#039;software firewalls and antivirus&#039;&#039;&#039; some of these products have been reported to cause problems. (TODO more details)&lt;br /&gt;
&lt;br /&gt;
==Benchmarking and Testing==&lt;br /&gt;
To get the best performance out of your particular system, you should test each tweak to ensure it has the desired effect.&lt;br /&gt;
&lt;br /&gt;
You can use the &#039;&#039;&#039;timedemo&#039;&#039;&#039; cvar to benchmark demo playback. Do this by setting &amp;lt;tt&amp;gt;timedemo 1&amp;lt;/tt&amp;gt; in the console, and then playing back a demo. When the demo playback completes, the console contains an average framerate. If you have problems playing back demos, see [[Client_Configuration]]&lt;br /&gt;
&lt;br /&gt;
If you want to compare performance between mods, you can use an etmain (or any server only mod such as etpub or shrubet) demo and play it back both in etmain and etpro.&lt;br /&gt;
&lt;br /&gt;
It is important to remember that &#039;&#039;&#039;demo playback is not directly comparable to online play&#039;&#039;&#039;. In general, demo playback depends more on the video card than online play does. A tweak that shows a huge improvement in demo playback may have little effect in online play.&lt;br /&gt;
&lt;br /&gt;
To test performance in real play, you should use [[DrawFPS|cg_drawFPS]] and then pick a standard location. This will not give you exactly the same results every time, but will show major effects. Ideally, the test should be done on an otherwise empty dedicated server with a consistent ping. If you host the server on the same machine as the client you are testing, this will affect the results.&lt;br /&gt;
&lt;br /&gt;
TODO: it would be nice to have a standard timedemo demo, so people can compare results.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
This page is a draft. The following need to be added or expanded:&lt;br /&gt;
*examples of FPS for various typical systems/settings, so people can know if they are getting expected performance out of their hardware.&lt;br /&gt;
*more complete list of useful cvars.&lt;br /&gt;
*links to config sites.&lt;br /&gt;
*links to more detailed descriptions of settings.&lt;br /&gt;
*benchmarking&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2243</id>
		<title>Client cvar list</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Client_cvar_list&amp;diff=2243"/>
		<updated>2006-04-28T02:40:33Z</updated>

		<summary type="html">&lt;p&gt;Lagger: fixed broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;ETPro Client cvars and commands&#039;&#039;&#039; ==&lt;br /&gt;
By The Birdman &amp;amp; =FF=im2good4u&lt;br /&gt;
&lt;br /&gt;
This list contains all ETPro client cvars and commands (hopefully).&lt;br /&gt;
&lt;br /&gt;
We have tried to include as much information in each description as possible, but some might require more explaining, so links to other pages here or the forums have been added.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&lt;br /&gt;
If there is any ETPro client cvars/commands that you think we have omitted or any that you think the description is wrong then pm me [http://bani.anime.net/banimod/forums/profile.php?mode=viewprofile&amp;amp;u=3475 here], if you don&#039;t know how to edit this page. Before pm’ing/editing are you sure it’s an ETPro cvar/command and not another mods or an ETmain one, if it is ETPro then either edit or let me know what cvar/command we’ve omitted, adding a short description of what it’s use is, if known to you. If you think a description is wrong, quote the cvar/command and it’s description adding your description of it or edit.&lt;br /&gt;
&lt;br /&gt;
Apologies for all the ..... to try create new lines or push things along to create a line so things look a bit better in some of the description sections, but i couldn&#039;t start new lines using the pitatable.&lt;br /&gt;
&lt;br /&gt;
=== Cvars ===&lt;br /&gt;
&lt;br /&gt;
Most of these cvars are either 0 (disabled) or 1 (enabled), those that differ I have included the values in the description. See [[Bitmask-cvar]] for more information on bit mask cvars.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_altHud;Controls which hud design you use, default 0 (normal hud), valid values 0, 1, 2 and 3. Three is custom mode where you can drag and drop the hud objects (i.e. compass, chargebar etc) where you would like them, but work was never finished on this.&lt;br /&gt;
b_altHudFlags;Bitmask for controlling various hud settings if b_altHud = 1 or 2, default 0, valid values 0-7................... 1 = Move round timer, 2 = Don&#039;t display rank in hud, 3 = RTCW-ish message placement, 4 = Custom (drag and drop not working, coding was never finished)&lt;br /&gt;
b_antilag;Controls whether shots are lag-compensated by the server, default 1, enabled, valid values 0,1,2........... 0 = Disabled, 1 = ETPro antilag enabled (best), 2 = ETmain antilag enabled&lt;br /&gt;
b_backupcvars;Controls whether backup files are made when ETPro cvar restrictions are applied, default 1, enabled.&lt;br /&gt;
b_beginround;Assign commands to this and they will be automatically executed at the start of new a round/map. See also b_endround.&lt;br /&gt;
b_centeredWeapons;Centers weapon models on entity origins, making weapon pickup more predictable. default 1 = enabled, 0 old ET way.&lt;br /&gt;
b_chatAlpha;Defines the alpha of the chat text, default 0.33, valid values 0.0 – 1.0, (0.0 = 100% transparent).&lt;br /&gt;
b_chatFlags;Controls whether the team flag is drawn by each chat text, default 1, enabled.&lt;br /&gt;
b_chatsounds;Controls playing a sound with chats, default 0, disabled.&lt;br /&gt;
b_cmdwarnings;Controls notifications from the tjl_* commands, default 1, enabled.&lt;br /&gt;
b_debugfakebmodel;Controls debugging EF_FAKEBMODEL brushes in map scripts, default 0, disabled, (cheat protected).&lt;br /&gt;
b_debuglocations;Bitmask to enable debugging/design aids for location names. Works with external dats as well as target_location ents, default 0, valid values: 0 - 31, (cheat protected).................................................. 1 = Draw a bubble sprite at each location marker. The nearest location is drawn in green, with all the others being drawn in red...... 2 = Add a dynamic light at each location marker. The nearest location is lit in red, with all the others being lit in green...... 4 = Draw floating text at each location marker containing the location&#039;s name. The nearest location is colored green instead of white...... 8 = Send updates to other players when a location is added, deleted, or renamed. This function is designed to allow several people to work on adding locations to a level simultaneously...... 16 = Accept updates to locations from other players who are using b_debuglocations 8.&lt;br /&gt;
b_demo_autotimescale;Controls the timescale to switch to when a weapon set in b_demo_autotimescaleweapons is fired, default 1.&lt;br /&gt;
b_demo_autotimescaleweapons;Bitmask to automatically change the timescale when a certain type of weapon is fired, default 0, disabled, valid values 0 – 31. 1 = Panzerfaust, 2 = Grenade, 4 = Dynamite, 8 = Mortar, 16 = Smoke grenades and airstrike markers&lt;br /&gt;
b_demo_drawspectatormessages;Controls whether &amp;quot;spectator/weaponcam/shoutcaster/etc&amp;quot; overlay is drawn in demo playback, default 1, enabled.&lt;br /&gt;
b_demo_dynamitecam;Controls whether to attach the camera to dynamite during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_dynamitecounter;Controls drawing a floating counter above armed dynamite during demo playback and when spectating as a shoutcaster, default 0, disabled.&lt;br /&gt;
b_demo_followxDistance;Controls camera offset when attached to a weapon, default 50.&lt;br /&gt;
b_demo_followyDistance;Controls camera offset when attached to a weapon, default 0.&lt;br /&gt;
b_demo_followzDistance;Controls camera offset when attached to a weapon, default 20.&lt;br /&gt;
b_demo_freecamspeed;Controls the freecam movement speed, default 800.&lt;br /&gt;
b_demo_grenadecam;Controls whether to attach the camera to these types of grenades during demo playback, default 0, valid values 0, 1, 2, 3.................. 0 = Disabled, 1 = Grenades (hand-thrown thrown and rifle grenades), 2 = Airstrike markers, smoke grenades, 3 = 1 and 2&lt;br /&gt;
b_demo_lookat;Causes the freecam to lock its view on the specified player (i.e. /b_demo_lookat clientnum), default –1, disabled. To get client numbers in demos see b_demo_nametags for explanation.&lt;br /&gt;
b_demo_mortarcam;Controls whether to attach the camera to mortars during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_nametags;Bitmask controlling how floating names above each player are drawn during demo playback and when spectating as a shoutcaster, default 0, valid values 0-15............ 0 = Disabled, 1 = Draw visible players, 2 = Draw all players, 4 = Draw the player&#039;s client number, 8 = Draw the player&#039;s class.&lt;br /&gt;
b_demo_nopitch;Controls whether the camera pitch’s while it&#039;s attached to weapons, default 1, enabled (no pitch).&lt;br /&gt;
b_demo_panzercam;Controls whether to attach the camera to panzers during demo playback, default 0, disabled.&lt;br /&gt;
b_demo_pitchturnspeed;Defines the pitch turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_yawturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demo_playersprites;Controls whether the floating sprites (e.g. voicechat, objective, invulnerability, fireteam, and connection markers) are drawn above players&#039; heads in demo playback, default 1, enabled.&lt;br /&gt;
b_demo_pvshint;Controls whether to draw a line from the freecam origin to the origin of the demo recorder, default 0, disabled.&lt;br /&gt;
b_demo_rollspeed;Defines the roll speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_pitchturnspeed and b_demo_yawturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demo_teamonlymissilecam;Controls whether to attach the camera to weapons fired by demo recorders team only, default 0, disabled.&lt;br /&gt;
b_demo_yawturnspeed;Defines the yaw turn speed while using the +freecam_* commands (demo playback only), default 140, see also b_demo_rollspeed and b_demo_pitchturnspeed; the units are degrees/second, as with cl_pitchspeed and cl_yawspeed. &lt;br /&gt;
b_demorecord_statusline;Controls the y offset of the demo/tjl/tjg recording status line. Use -1 to disable these status lines completely, default: 470, valid values -1, 0 - 480.&lt;br /&gt;
b_descriptiveTextscale;Controls the limbo hud text size, default 0.8.&lt;br /&gt;
b_dinghy;Have no idea what this does, or maybe we do.&lt;br /&gt;
b_drawclock;Controls whether to show a clock with your local time on the hud, default 0, disabled.&lt;br /&gt;
b_drawPromotions;Controls whether the rank promotion messages are shown (and whether sounds played) when receiving a promotion, default 1, enabled.&lt;br /&gt;
b_drawranks;Controls whether ranks of other players are drawn when using cg_crosshairnames, default 1, enabled.&lt;br /&gt;
b_drawRewards;Controls whether skill level increases and reward messages are shown (and whether sounds played), default 1, enabled.&lt;br /&gt;
b_drawspectatoralpha;Defines the alpha of the &amp;quot;spectator&amp;quot;, &amp;quot;shoutcaster&amp;quot;, &amp;quot;freecam&amp;quot;, etc. notices (0 = 100% transparent), default 1, valid values 0.00 - 1.00&lt;br /&gt;
b_drawspectatorteamflags;Controls whether to draw a small team flag beside the player name when following players in spectator mode, default 1, enabled.&lt;br /&gt;
b_drawspeed;Controls whether to draw a speedometer on the hud, default 0, valid values 0, 1, 2, 3, 4, 5................... 0 = Disabled..... 1, 5 = Draw a speedometer....... 2, 4 = Draw a speedometer and the maximum speed reached...... 3, 4, 5 = Draw a speed graph if the lagometer is not being drawn&lt;br /&gt;
b_endround;Assign commands to this and they will be automatically executed at round end. See also b_beginround.&lt;br /&gt;
b_fireteamAlpha;Defines the alpha of the fireteam overlay, (0 = 100% transparent), default 1.0, valid values 0.00 – 1.00.&lt;br /&gt;
b_fireteamLatchedClass;Controls showing latched player class instead of rank in fire team hud display, default 1, enabled.&lt;br /&gt;
b_goatsound;Controls whether a sound is played on knife kills, default 1, enabled.&lt;br /&gt;
b_hitsounds;Controls whether to enable hit sounds, default 0, valid values 0, 1, 2............ 0 = disabled, 1 = enabled, 2 = enabled for headshots only&lt;br /&gt;
b_hudYoffset;Moves the hud so it is out of the way of the demo status line. Set to 0 to move the hud flush with the edge of the screen, default 10.0, valid values 0 – 640.&lt;br /&gt;
b_killshot_delay;Determines the time in milliseconds to take an automatic screenshot after a kill, default 0, disabled.&lt;br /&gt;
b_lagometerAlpha;Defines the alpha of the lagometer, default 1.0, valid values 0.00 – 1.0 (0 = 100% transparent). Link at the bottom of page for more info about the lagometer.&lt;br /&gt;
b_locationJustify;Controls justification of locations in fire team hud, default 0....................... -1 = left justify with padding, 0 = left justify no padding, 1 = right justify with padding&lt;br /&gt;
b_locationMaxChars;Controls the number of characters of location names in the Fireteam hud, default 25, valid values 0-76.&lt;br /&gt;
b_locationMode;Bitmask to control how locations are displayed in the fireteam hud, default 0, valid values 0-31............ 0 = Default, currently equivalent to &#039;1&#039;...... 1 = Show location names...... 2 = Show location coordinates, 4 = Do not check whether locations are in your PVS when searching for a location name. Applies to b_debuglocations and add/del/etc., too...... 8 = Don’t fall back to location coordinates when no location name was found, instead, show &amp;quot;unknown&amp;quot;&lt;br /&gt;
b_logbanners;Controls whether server banners are logged in your console, default 1, enabled.&lt;br /&gt;
b_mapconfigdirectory;Defines the folder name to look for map-specific cfg/config files.&lt;br /&gt;
b_mapzoom;Controls the zoom level for the map shown in the compass, default 5.159, valid values 1.0 - 7.43.&lt;br /&gt;
b_muzzleflash;Controls whether first-person muzzle flash is drawn, default 1, enabled.&lt;br /&gt;
b_noactivatelean;Controls whether to enable/disable leaning behaviour when strafing with +activate, default 0.................. 0 = +activate and +moveleft/+moveright causes the player to lean left/right........ 1 = leaning behaviour is disabled; player can use +activate while strafing.&lt;br /&gt;
b_numPopups;Controls the number of popup messages on the hud, default –1...... -1 = Use ETmain cg_drawSmallPopupIcons setting, (if cg var = 0) 5 popups, (if cg var = 1) 8 popups...... 0 = Disable popup messages entirely...... 1 = Use ETmain cg_drawSmallPopupIcons 1, 8 popups...... &#039;number&#039; = Limit the number of popup messages on the hud to the number of your choice&lt;br /&gt;
b_optimizePrediction;Controls whether to attempt to use previously calculated prediction results when possible to increase performance or not, default 1, enabled. Link at bottom of page for more info on this.&lt;br /&gt;
b_panzerhack;Controls whether the secondary MP40/Thompson (for a soldier with level 4 heavy weapons) is moved to weaponbank 2, default 1, enabled.&lt;br /&gt;
b_placebo;When this cvar is enabled, anything is possible. Link at bottom of page which explains this better.&lt;br /&gt;
b_popupFadeTime;Defines the time in milliseconds that popups take to fade out, default 2500.&lt;br /&gt;
b_popupStayTime;Defines the time in milliseconds that popups will stay before fading, default 2000.&lt;br /&gt;
b_popupTime;Defines the time in milliseconds between popups, default 1000.&lt;br /&gt;
b_predefineddemokeys;Controls whether demo playback uses hard-coded key bindings, which cannot be overridden, default 1, enabled...... 0 = Lets you use your own key bindings in demo playback, at the loss of the predefined key actions...... 1 = Hard-coded key bindings, which cannot be overridden.&lt;br /&gt;
b_shovesounds;Controls whether you hear shove sounds, default 1, enabled.&lt;br /&gt;
b_simpleItems;Controls whether to draw sprites instead of models for items, for a slight performance/visibility increase, default 0, disabled.&lt;br /&gt;
b_spectatorteamflags;default 1, enabled.&lt;br /&gt;
b_speedinterval;Defines the time in milliseconds between two speedometer updates, default 100.&lt;br /&gt;
b_speedunit;Controls the speed unit used for the ups meter, default 0, valid values 0, 1, 2...... 0 = (ups), 1 = (mph), 2 = (km/h)&lt;br /&gt;
b_textcolorfilter;Strips certain colour characters from names and most text messages, default &amp;quot;&amp;quot;, use &amp;quot;*&amp;quot; to filter all.&lt;br /&gt;
b_tracers;Controls bullet tracers, default 1, valid values 0, 1, 2...... 0 = Disabled, 1 = Show all tracers, 2 = Don&#039;t show own tracers&lt;br /&gt;
b_votetextscale;Defines the scaling for the vote text, default 0.8.&lt;br /&gt;
b_watermarkAlpha;Defines the alpha of a watermark (if server has one), default 1, valid values 0.00 – 1.0 (0 = 100% transparent).&lt;br /&gt;
b_weapaltReloads;Controls whether weapalt doubles as reload for weapons lacking an alternate fire mode, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
Clients can use to either bind, get info in the console or use with rcon, ref and semiadmin.&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
guids;Displays a list of players and their ETPro guid’s in the console.&lt;br /&gt;
b_cvarlist;Displays a list of ETPro cvar limits of the server you are in, (only shows if the server has cvar limits set).&lt;br /&gt;
b_cvarempty;Resets all ETPro cvars to their defaults.&lt;br /&gt;
Bp;Sends text to all clients to be displayed in the banner area.&lt;br /&gt;
camera;Used to run scripted cameras, whatever.camera files. 2 Links at bottom of page which helps explain this better.&lt;br /&gt;
cancelvote;Cancels any vote in progress.&lt;br /&gt;
cheaters;Lists all clients in console, with info on whether they are cheating.To check on just one particular client use /cheaters client slot, this will return the IAC info of only that chosen client. Link at bottom of page, for better explanation.&lt;br /&gt;
class;Class allows you to script the selection of team and class, (syntax: class class weapon {secondary weapon}, e.g. cs_mg42 &amp;quot;class s 2 3). Link at bottom of page for better explanation.&lt;br /&gt;
classmenu;Command for opening the class selection menu. Link at bottom of page for better explanation.&lt;br /&gt;
clearlines;Empties out the debug line queue (e.g. if a bunch of railtrail lines with a huge cg_railtrailtime are in the buffer.)&lt;br /&gt;
Cp;Sends text to all clients to be displayed in the centerprint area.&lt;br /&gt;
etpro_alliedmapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_axismapxp;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_lastmapname;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
etpro_session;Non-user, write-protected cvar for internal use in ETPro.&lt;br /&gt;
exec_at_time;Allows scripts to be executed exactly at a specified frame number (demo playback only).&lt;br /&gt;
follow;For specifying which player to spectate (i.e. /follow &amp;lt;client slot&amp;gt;).&lt;br /&gt;
follownext;Spectate the next guy (normally bound to your fire button (mouse1) when spectating).&lt;br /&gt;
followprev;Spectate the previous guy.&lt;br /&gt;
freecam;Allows for you to switch in and out of freecam in demo playback.&lt;br /&gt;
freecamgetpos;Retrieves the position of the camera.&lt;br /&gt;
freecamsetpos;Sets the position of the camera. (mainly for use with scripted cameras)&lt;br /&gt;
inviteall;Used with fireteam to invite all teammates into fireteam, if they aren’t already in one (i.e. /fireteam inviteall).&lt;br /&gt;
kill;ETPro change: /kill now counts as a death.&lt;br /&gt;
Listcs;Dumps all of the current configstrings to the server console, (mostly useful as a debugging or map making tool).&lt;br /&gt;
loc_add;For adding location names. Link at bottom of page for better explanation of loc_* vars.&lt;br /&gt;
loc_del;For deleting location names, (doesn’t have to be the exact name, it will delete the closest one).&lt;br /&gt;
loc_load;Load the specified location-name file, (i.e. loc_load filename).&lt;br /&gt;
loc_rename;For renaming location names, (doesn’t have to be the exact name, it will rename the closest one to what was specified).&lt;br /&gt;
loc_save;Saves location names to the specified file, (i.e. loc_save filename).&lt;br /&gt;
loc_show;Shows location name of an imperfectly specified location.&lt;br /&gt;
m;Pretext for sending a private message (i.e. /m playername message), to send to all clan members in the server, instead of a playername use your clan tag (i.e. if your clan tag is -lol- then, /m -lol- hi guys, would send the message ‘hi guys’ to all players with -lol- in their name, naturally just your clan mates).&lt;br /&gt;
makesc, makeshoutcast, makeshoutcaster;Use to give a specified player shoutcaster status, (i.e. /makesc clientid).&lt;br /&gt;
msg;Same as /m, but broken on servers.&lt;br /&gt;
mt;Similar to m, but this pretext just sends private messages to players on your own team axis/allies (i.e. /mt playername message), if you try using this to send a private message to a player on the opposing team then he won’t receive it, it only search’s for players playername on your own team.&lt;br /&gt;
mv_sensitivity;MultiView : Note NEED MORE INFO ON MULTIVEIW CVARS, feel free to edit&lt;br /&gt;
mvactivate;Command to enter and exit Multiview mode, more info &amp;lt;a href=&amp;quot;http://bani.anime.net/etpro/playerguide.html&amp;quot;&amp;gt;here&amp;lt;/a&amp;gt;.&lt;br /&gt;
mvadd;MultiView&lt;br /&gt;
mvall;Command to view all players in multiview.&lt;br /&gt;
mvallies;Command to view all allied players in multiview.&lt;br /&gt;
mvaxis;Command to view all Axis players in multiview.&lt;br /&gt;
mvdel;MultiView&lt;br /&gt;
mvhide;MultiView&lt;br /&gt;
mvnew;MultiView&lt;br /&gt;
mvnone;MultiView&lt;br /&gt;
mvshow;MultiView&lt;br /&gt;
mvswap;MultiView&lt;br /&gt;
mvtoggle;MultiView&lt;br /&gt;
notice;Don’t know what this is used for but when you type it in the console (/notice) it returns with some lol statements, for example: “etpro comes with no warranties of any kind – if it breaks, you get to keep both pieces”, “heeey, sticklyman! WhaaAaAaAAaaAt are you doing?!” Etc&lt;br /&gt;
openTimerInput;For setting ETPro’s enemy spawn time. This opens a box to set the enemy&#039;s spawn time in. See also resetTimer and timerSet.&lt;br /&gt;
passvote;Passes any vote in progress.&lt;br /&gt;
pm;Same as /m, but broken on servers.&lt;br /&gt;
qsay;Sends text to all clients to be displayed in the chat area without the server: prefix.&lt;br /&gt;
ref;For logging in with a password for Ref status. Allows access to the referee commands from the server console/menu.&lt;br /&gt;
reflogout;For logging out from Ref status.&lt;br /&gt;
removesc, removeshoutcast, removeshoutcaster;Use to remove a specified player from shoutcaster status, (i.e. /removesc clientid).&lt;br /&gt;
resetmaxspeed;Clears/resets max speed.&lt;br /&gt;
resetTimer;Resets ETPro’s enemy spawntimer. See also openTimerInput and timerSet.&lt;br /&gt;
sa, semiAdmin;For use when logged in as a semiAdmin. This all depends on what commands the server admin has assigned to you for use. Semiadmins may also check their current level and available commands with /sa or /semiadmin by itself with no parameters. Example: If the server admin has assigned you the command map_restart, then when logged in as semiadmin to restart the current map you would type into the console /sa map_restart&lt;br /&gt;
sal, semiAdminLogin;For logging in with a password for SemiAdmin status, (i.e. /semiadminlogin password or /sal password)&lt;br /&gt;
say_buddy;Used to send chat messages to all in your fireteam or one particular fireteam mate (i.e. /say_buddy1 hi)&lt;br /&gt;
scLogin, shoutCastLogin;For logging in with a password for shoutcaster status.&lt;br /&gt;
scLogout, shoutCastLogout;For logging out of shoutcaster status.&lt;br /&gt;
setcs;Sets the value of configstring number num to value (i.e. setcs num value).&lt;br /&gt;
show_framecount;Shows the frame count in demo playback, default 0...... 0 = No frame counter, 1 = Show frame counter, 2 = Snapshot current frame number.&lt;br /&gt;
shrug;Allows for the use of shrug silliness if enabled on the server, (i.e. bind w &amp;quot;+forward; shrug&amp;quot;).&lt;br /&gt;
shuffleteamsxp_norestart;Command to shuffle teams by XP, without restarting the map.&lt;br /&gt;
skills;Lists in console what XP is required to reach each promotion level of each particular class (i.e. /skills). An easier option now is the menu &amp;quot;+stats&amp;quot; (normally bound to alt), this shows what you require as the class you are playing.&lt;br /&gt;
spechelp;Toggles spectator help in multiview.&lt;br /&gt;
teammenu;Command to open a v-chat style menu to select your class &amp;amp; weapon.&lt;br /&gt;
Time;Reports the game state and round time remaining.&lt;br /&gt;
timerSet;For setting ETPro’s enemy spawntimer. See also resetTimer and openTimerInput.&lt;br /&gt;
ui_browserShowETPro;Controls what type mod servers you see in your browser server list...... 0 = Show all...... 1 = Only show ETPro servers...... 2 = Don’t show ETPro servers.&lt;br /&gt;
weapons;Lists in the console what weapon you or your teammates have now and what they are going to spawn with next, but only if another respawn class choice is picked and only if the weapon has a max amount set.&lt;br /&gt;
vsay num;If a voicechat has multiple announcements you can specify which one to call, (i.e. /vsay num voicechat, /vsay 2 FTAttack)&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Cvars ===&lt;br /&gt;
Note: cheats must be enabled to use these. See the pages for [[TrickJumpLines]] (tjl) and [[TrickJumpGhosts]] (tjg)  for more information.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Cvar;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
b_tjg_ghostfx;Controls special effects for trick jump ghosts to distinguish them from normal players, default 2, valid values 0 - 4... 0 = No effect, 1 = Flicker, 2 = Ghost, 3 = Flaming, 4 = Flame only&lt;br /&gt;
b_tjl_color;Sets the default trick jump line color default green, valid values: any hex RGB color values (e.g. 0x56789a), or a known color name (e.g. &amp;quot;red&amp;quot;, &amp;quot;white&amp;quot;, &amp;quot;green&amp;quot;, etc), -1 to disable.&lt;br /&gt;
b_tjl_draw;Controls whether trick jump lines will be drawn, default 1, enabled.&lt;br /&gt;
b_tjl_quickslot;Defines the slot used when specifying &amp;quot;quickslot&amp;quot; to tjl_startrecord, this is also the slot used by tjl_menu, default 0, disabled.&lt;br /&gt;
b_tjl_showmaxspeed;Controls whether the top speed reached will be drawn at the appropriate point on a trickjump line, default 0, disabled.&lt;br /&gt;
b_tjl_stepsize;Controls the minimum distance between any two points of the drawn trick jump line (increasing this may improve rendering performance for very long lines), default 0.5.&lt;br /&gt;
b_tjl_stoponnomove;Controls whether the trick jump line recording will automatically stop when the player being recorded stops moving, default 1, enabled.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Trickjump Commands ===&lt;br /&gt;
&amp;lt;pitatable columns=2 headlines=&amp;quot;Command;Description&amp;quot; headerbgcolor=&amp;quot;0b53b4&amp;quot; headerfontcolor=&amp;quot;#FFFFFF&amp;quot; border1=2 border2=1 aligns=&amp;quot;left;left&amp;quot;&amp;gt;&lt;br /&gt;
tjg_info;This will give you detailed information about all the tjg command&#039;s and cvars.&lt;br /&gt;
tjg_load;Loads a recording from a file, (i.e. tjg_load filename).&lt;br /&gt;
tjg_menu;A convenient menu for the tjg tools.&lt;br /&gt;
tjg_pause;Pauses/resumes the ghost playback.&lt;br /&gt;
tjg_play;Plays back a recorded ghost.&lt;br /&gt;
tjg_record;Starts recording your movements.&lt;br /&gt;
tjg_save;Saves a recording to a file, (i.e. tjg_save filename).&lt;br /&gt;
tjg_stop;Stops playing or recording.&lt;br /&gt;
tjl_drawslot;Controls drawing for a given slot or changes a slot&#039;s color (i.e. /tjl_drawslot slot OR slot color), b_tjl_color must be set to  -1 in order to use this option.&lt;br /&gt;
tjl_info;This will give you detailed information about all the tjl command&#039;s and cvars.&lt;br /&gt;
tjl_load;Loads the current file into a slot (i.e. /tjl_load filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_menu;A convenient menu for the tjl tools.&lt;br /&gt;
tjl_save;Saves the current slot into a file (i.e. / tjl_save filename slot), (file extension = .tjl_1.dat (1 = version #)).&lt;br /&gt;
tjl_startrecord;Starts recording you or a clients movements (i.e. tjl_startrecord clientnum slot OR slot OR no parameters records your own movements).&lt;br /&gt;
tjl_stoprecord;Stops recording movements.&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== links ===&lt;br /&gt;
Links to more info about some of the above or other useful client pages here on WolfWiki.&lt;br /&gt;
&lt;br /&gt;
*[[Lagometer]]&lt;br /&gt;
*[[Physics cvars]]&lt;br /&gt;
*[[B_placebo]]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3332 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=6305 Camera]&lt;br /&gt;
*[http://bani.anime.net/banimod/forums/viewtopic.php?t=3333 Cheaters]&lt;br /&gt;
*[[Player_Scripting | Class &amp;amp; Classmenu]]&lt;br /&gt;
*[[Target_location | Locations]]&lt;br /&gt;
*[http://bani.anime.net/etpro/playerguide.html Multiview]&lt;br /&gt;
*[[SemiAdmin]]&lt;br /&gt;
*[[Memory_cvars | Hunk, Zone and sound Megs]]&lt;br /&gt;
*[[DrawFPS]]&lt;br /&gt;
*[[Client Configuration]]&lt;br /&gt;
*[[EDV]]&lt;br /&gt;
*[[Extended ASCII]]&lt;br /&gt;
*[[ETTV:Server Configuration]]&lt;br /&gt;
*[[ETTV:Viewer&#039;s Guide]]&lt;br /&gt;
*[[Voicechat]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=AutoExec&amp;diff=2242</id>
		<title>AutoExec</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=AutoExec&amp;diff=2242"/>
		<updated>2006-04-28T02:32:53Z</updated>

		<summary type="html">&lt;p&gt;Lagger: corrected autoexec launch mixup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Default AutoExec ==&lt;br /&gt;
&lt;br /&gt;
When connecting to any server, the client will look for the file &#039;&#039;AutoExec.cfg&#039;&#039; in the base folder of whatever mod the &#039;&#039;&#039;client&#039;&#039;&#039; is running, in ETPro&#039;s case this would be &#039;&#039;\Wolfenstein - Enemy Territory\etpro\&#039;&#039; and if found that file will be launched. It is advised that you start up the client with the mod of the server you are connecting to. This is especially true if you have a different config for each mod.&lt;br /&gt;
&lt;br /&gt;
This is often used to store important settings that would normally be in your &#039;&#039;ETConfig.cfg&#039;&#039; file, as if the server forces a cvar to a value that does not match what you set the cvar&#039;s value to in your ETConfig.cfg file then that value will then be changed in your config file.&lt;br /&gt;
&lt;br /&gt;
However if you store the cvar setting in your AutoExec.cfg file, then even if a server changes the cvar value, the next time you connect to a server the original setting you chose will be used again.&lt;br /&gt;
&lt;br /&gt;
== Client Auto Map Scripts ==&lt;br /&gt;
&lt;br /&gt;
When a map loads or restarts, the client will look for the following scripts and run them if found:&lt;br /&gt;
&lt;br /&gt;
* autoexec_&#039;&#039;mapname&#039;&#039;.cfg&lt;br /&gt;
* autoexec_default.cfg&lt;br /&gt;
&lt;br /&gt;
For example if the map rotates to battery, the client would look for autoexec_battery.cfg and run it. If autoexec_battery.cfg is not found, it would try to run autoexec_default.cfg instead.&lt;br /&gt;
&lt;br /&gt;
== Client Auto Team/Class Scripts ==&lt;br /&gt;
&lt;br /&gt;
When players spawn with a changed team or class, the client will look for the following scripts and run them if found:&lt;br /&gt;
&lt;br /&gt;
* autoexec_axis.cfg&lt;br /&gt;
* autoexec_allies.cfg&lt;br /&gt;
* autoexec_spectator.cfg&lt;br /&gt;
&lt;br /&gt;
* autoexec_soldier.cfg&lt;br /&gt;
* autoexec_medic.cfg&lt;br /&gt;
* autoexec_engineer.cfg&lt;br /&gt;
* autoexec_fieldops.cfg&lt;br /&gt;
* autoexec_covertops.cfg&lt;br /&gt;
&lt;br /&gt;
These are only run when the team or class changes, they are not run on every spawn.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Lua_Tutorials&amp;diff=2221</id>
		<title>Lua Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Lua_Tutorials&amp;diff=2221"/>
		<updated>2006-04-27T02:11:18Z</updated>

		<summary type="html">&lt;p&gt;Lagger: spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
This page isn&#039;t finished but its supposed to make you understand [[ETPro]] [http://www.lua.org/ lua] functions.&lt;br /&gt;
&lt;br /&gt;
Before you start on this tutorial its assumed you do know basic [http://www.lua.org/ lua] scripting ,if not then i suggest you take a look at the online edition of the book [http://www.lua.org/pil/ Programming in Lua] or the [http://lua-users.org/wiki/ lua-users wiki].&lt;br /&gt;
You can also take a look at someone else his code, a list of [[ETPro]] mods can be found [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
===Loading a Script===&lt;br /&gt;
:Scripts are loaded by their file name out of the /etpro sub directory of your Enemy Territory installation, so don&#039;t forget to save them in the right folder.&amp;lt;br&amp;gt;&lt;br /&gt;
:if you want to load HelloWorld.lua you would have to set the server cvar &#039;&#039;&#039;lua_modules&#039;&#039;&#039; to &#039;&#039;&amp;quot;HelloWorld.lua&amp;quot;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
:If you want to load more mods you can add them to the same variables separated by a space like &#039;&#039;&amp;quot;HelloWorld.lua lol.lua pingpong.lua&amp;quot;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;NOTE&#039;&#039;&#039;: if u modify this cvar all currently loaded [http://www.lua.org/ lua] modules will be unloaded.&lt;br /&gt;
&lt;br /&gt;
:After editing your script you save it and then reload it in [[ETPro]] to make your chances take effect, this can simply be done by &#039;&#039;&#039;reset_match&#039;&#039;&#039; server command.&lt;br /&gt;
&lt;br /&gt;
===Development Environment===&lt;br /&gt;
:While scripting you will see your code gets hard to read, its much easier to read whit syntax highlighting. this can be done be scripting inside an [http://www.lua.org/ lua] development environment.&lt;br /&gt;
&lt;br /&gt;
:At [http://lua-users.org/wiki/LuaAddons this page] under &#039;&#039;[http://lua-users.org/wiki/LuaAddons development environments]&#039;&#039; you will find a list of [[http://lua-users.org/wiki/LuaAddons development environments].&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
:&#039;&#039;&#039;NOTE&#039;&#039;&#039;: Lines written in &#039;&#039;&#039;Bold&#039;&#039;&#039; are the actual lines we gonna write to our script.&lt;br /&gt;
===Hello World===&lt;br /&gt;
:here we will show an simple hello world example for the server console&lt;br /&gt;
:just follow the steps and read the comments.&lt;br /&gt;
&lt;br /&gt;
:1. First we need a new file so, create a new file and name it HelloWorld.lua.&lt;br /&gt;
&lt;br /&gt;
::Now we need a [[ETPro]] [http://www.lua.org/ lua] function that will automagicly called by [[ETPro]] when we want it. Therefor we will use &#039;&#039;et_InitGame(levelTime,randomSeed,restart)&#039;&#039; that function is called ones every round at the beginning. its a good function to do some initial settings. We don&#039;t have to worry about those parameters (levelTime,randomSeed,restart) in this example.&lt;br /&gt;
&lt;br /&gt;
:2. inside our file at line &#039;&#039;1&#039;&#039; we will write &#039;&#039;&#039;function et_InitGame(levelTime,randomSeed,restart) --called at beginning of a gameround&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::Now we got a part of our script that is called at the beginning of a round so, now we can add our code to it. we are going to print &#039;&#039;&amp;quot;hello world&amp;quot;&#039;&#039; in the server console therefor we will use &#039;&#039;et.G_Print(&amp;quot;message&amp;quot;)&#039;&#039; that function will simply print the &#039;&#039;&amp;quot;message&amp;quot;&#039;&#039; in the server console&lt;br /&gt;
&lt;br /&gt;
:3. now at line &#039;&#039;2&#039;&#039; we will write &#039;&#039;&#039;    et.G_Print(&amp;quot;Hello World!!!\n&amp;quot;) --printout our text to the console&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::and as last we need to end out function at line &#039;&#039;1&#039;&#039; whit a simple &#039;&#039;end&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:4. at line &#039;&#039;3&#039;&#039; place &#039;&#039;&#039;end --close et_InitGame()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::now if you did it right you should have something like [http://home.zonnet.nl/westhof99/lua/HelloWorld.lua this]:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;function&amp;lt;/font&amp;gt; et_InitGame(levelTime,randomSeed,restart) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--called at beginning of a gameround&amp;lt;/font&amp;gt;&lt;br /&gt;
     et.G_Print(&amp;lt;font color=&amp;quot;darkblue&amp;quot;&amp;gt;&amp;quot;Hello World!!!\n&amp;quot;&amp;lt;/font&amp;gt;) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--printout our text to the console&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;end&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--close et_InitGame()&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::now save and load your script and you will see Hello World!!! in the server console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===Hello Spam===&lt;br /&gt;
:here we will show an simple Spammy hello world example for the server console&lt;br /&gt;
:just follow the steps and read the comments.&lt;br /&gt;
&lt;br /&gt;
:1. First we need a new file so, create a new file and name it &#039;&#039;&#039;HelloSpam.lua&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
::Now we need a [[ETPro]] [http://www.lua.org/ lua] function that will automagicly called by [[ETPro]] many times to make it spammy. Therefor we will use &#039;&#039;et_RunFrame(levelTime)&#039;&#039; that function is called every server frame. its a good function for stuff u need to constantly check but u should not put to much code in here. We don&#039;t have to worry about those parameter (levelTime) in this example.&lt;br /&gt;
&lt;br /&gt;
:2. inside our file at line &#039;&#039;1&#039;&#039; we will write &#039;&#039;&#039;function et_RunFrame(levelTime) --called every serverframe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::Now we got a part of our script that is called at the beginning of a round so, now we can add our code to it. we are going to print &#039;&#039;&amp;quot;hello world&amp;quot;&#039;&#039; in the server console therefor we will use &#039;&#039;et.G_Print(&amp;quot;message&amp;quot;)&#039;&#039; that function will simply print the &#039;&#039;&amp;quot;message&amp;quot;&#039;&#039; in the server console&lt;br /&gt;
&lt;br /&gt;
:3. now at line &#039;&#039;2&#039;&#039; we will write &#039;&#039;&#039;    et.G_Print(&amp;quot;Hello Spam!!!\n&amp;quot;) --printout our text to the console&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::and as last we need to end our function at line &#039;&#039;1&#039;&#039; whit a simple at line &#039;&#039;3&#039;&#039; &#039;&#039;end&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:4. at line &#039;&#039;3&#039;&#039; place &#039;&#039;&#039;end --close et_RunFrame()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::now if u did it right u should have something like [http://home.zonnet.nl/westhof99/lua/HelloSpam.lua this]:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;function&amp;lt;/font&amp;gt; et_RunFrame(levelTime) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--called every serverframe&amp;lt;/font&amp;gt;&lt;br /&gt;
     et.G_Print(&amp;lt;font color=&amp;quot;darkblue&amp;quot;&amp;gt;&amp;quot;Hello Spam!!!\n&amp;quot;&amp;lt;/font&amp;gt;) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--printout our text to the console&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;end&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--close et_RunFrame()&amp;lt;/font&amp;gt;&lt;br /&gt;
::now save and load your script and u will see Hello Spam!!! in the server console.&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
===Hello Client===&lt;br /&gt;
:here we will show a simple hello world example for the client console&lt;br /&gt;
:just follow the steps and read the comments.&lt;br /&gt;
&lt;br /&gt;
:1. First we need a new file so, create a new file and name it HelloClient.lua.&lt;br /&gt;
&lt;br /&gt;
::Now we need a [[ETPro]] [http://www.lua.org/ lua] function that will automagicly called by [[ETPro]] when we want it. Therefor we will use &#039;&#039;et_InitGame(levelTime,randomSeed,restart)&#039;&#039; as shown in the &#039;&#039;Hello World&#039;&#039; example.&lt;br /&gt;
&lt;br /&gt;
:2. inside our file at line &#039;&#039;1&#039;&#039; we will write &#039;&#039;&#039;function et_InitGame(levelTime,randomSeed,restart) --called at beginning of a gameround&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::Now we need a function to print a message to the client his console therefor we will use et.trap_SendServerCommand(-1,&amp;quot;print \&amp;quot;message\n\&amp;quot;&amp;quot;)&#039;&#039; that function will simply print the &#039;&#039;&amp;quot;message&amp;quot;&#039;&#039; in the client console console.&lt;br /&gt;
::The first parameter is client slot to send to if is -1 it will send to all clients. the 2nd parameters looks confusing and it is. First u got the main command witch is &amp;quot;print  ..&amp;quot; then, at the place of the dots comes the data to send whit the print in our case its &amp;quot;message\n&amp;quot;&amp;quot;&lt;br /&gt;
::The \n will send a newline command to the console so the next message written to the console is on the next line. The \&amp;quot; are just &amp;quot; but since they are already inside a string u need to prefix them whit a \&lt;br /&gt;
&lt;br /&gt;
:3. so just write this at line &#039;&#039;2&#039;&#039; &#039;&#039;&#039;    et.trap_SendServerCommand(-1,&amp;quot;print \&amp;quot;Hello Client\n\&amp;quot;&amp;quot;) --printout our text to the console&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::and as last we need to end out function at line &#039;&#039;1&#039;&#039; with a simple &#039;&#039;end&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:4. at line &#039;&#039;3&#039;&#039; place &#039;&#039;&#039;end --close et_InitGame()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
::now if you did it right you should have something like [http://home.zonnet.nl/westhof99/lua/HelloClient.lua this]:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;function&amp;lt;/font&amp;gt; et_InitGame(levelTime,randomSeed,restart) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--called at beginning of a gameround&amp;lt;/font&amp;gt;&lt;br /&gt;
     et.trap_SendServerCommand(-&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;1&amp;lt;/font&amp;gt;,&amp;lt;font color=&amp;quot;darkblue&amp;quot;&amp;gt;&amp;quot;print \&amp;quot;Hello Client\n\&amp;quot;&amp;quot;&amp;lt;/font&amp;gt;) &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--printout our text to the console&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;end&amp;lt;/font&amp;gt; &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;--close et_InitGame()&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::now save and load your script and you will see Hello World!!! in the client console at the begin of a round.&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
[[Category:ETPro]]&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;br /&gt;
[[Category:ETPro:LUA]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2220</id>
		<title>Lua Mod API</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Lua_Mod_API&amp;diff=2220"/>
		<updated>2006-04-27T02:08:07Z</updated>

		<summary type="html">&lt;p&gt;Lagger: the spelling bee strikes again&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
ETPro now supports server side mods via the [http://www.lua.org/ lua] scripting language. For more information about lua, visit the [http://www.lua.org/manual/5.0/ Reference manual], the online edition of the book [http://www.lua.org/pil/ Programming in Lua] or the [http://lua-users.org/wiki/ lua-users wiki].&lt;br /&gt;
&lt;br /&gt;
ETPro has an embedded lua 5.0.2 interpreter, and if present will load user-defined scripts from the etpro directory. ETPro also provides an &amp;quot;et&amp;quot; library of function calls for lua to access the server engine, and provides callbacks so a server side mod may trigger on specific server events.&lt;br /&gt;
&lt;br /&gt;
The following standard lua libraries are initialized by default and available to ETPro lua scripts:&lt;br /&gt;
[http://www.lua.org/manual/5.0/manual.html#5.1 basic], [http://www.lua.org/manual/5.0/manual.html#5.4 table], [http://www.lua.org/manual/5.0/manual.html#5.6 i/o], [http://www.lua.org/manual/5.0/manual.html#5.3 string], [http://www.lua.org/manual/5.0/manual.html#5.5 math].&lt;br /&gt;
&lt;br /&gt;
A list of [[ETPro]] mods can be found [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
A Tutorial about [[ETPro]] [http://www.lua.org/ lua] scripting for nubs can be found [[Lua Tutorials|here]].&lt;br /&gt;
&lt;br /&gt;
API Requests can be discussed [http://wolfwiki.anime.net/index.php/Talk:ETPro:Lua_Mod_API here].&lt;br /&gt;
&lt;br /&gt;
==client commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
:&#039;&#039;lua mods cannot override this client command.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==server commands==&lt;br /&gt;
===lua_status===&lt;br /&gt;
:lists all currently loaded lua modules.&lt;br /&gt;
&lt;br /&gt;
==cvars==&lt;br /&gt;
===lua_modules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:space separated list of lua modules for ETPro to load. modules will be run in the order listed.&lt;br /&gt;
&lt;br /&gt;
===lua_allowedmodules===&lt;br /&gt;
:(default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
:if set, only lua modules with the matching sha1 signatures listed in this cvar will be allowed to load.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:changing either cvar will cause all currently loaded modules to :quit and be unloaded until the next map_restart.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==et library calls==&lt;br /&gt;
&lt;br /&gt;
===modules===&lt;br /&gt;
et.RegisterModname( &#039;&#039;&#039;modname&#039;&#039;&#039; )&lt;br /&gt;
:Registers a descriptive string &#039;&#039;&#039;modname&#039;&#039;&#039; for this mod.&lt;br /&gt;
&#039;&#039;&#039;vmnumber&#039;&#039;&#039; = et.FindSelf()&lt;br /&gt;
:Returns a number indicating the VM slot the current mod is loaded into.&lt;br /&gt;
&#039;&#039;&#039;modname&#039;&#039;&#039;, &#039;&#039;&#039;signature&#039;&#039;&#039; = et.FindMod( &#039;&#039;&#039;vmnumber&#039;&#039;&#039; )&lt;br /&gt;
:Returns the &#039;&#039;&#039;modname&#039;&#039;&#039; and sha1 &#039;&#039;&#039;signature&#039;&#039;&#039; for the mod loaded in the VM slot &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. Returns nil, nil if the VM slot is invalid.&lt;br /&gt;
&#039;&#039;&#039;success&#039;&#039;&#039; = et.IPCSend( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Sends the string &#039;&#039;&#039;message&#039;&#039;&#039; to the mod in the VM slot indicated by &#039;&#039;&#039;vmnumber&#039;&#039;&#039;. The mod receiving &#039;&#039;&#039;message&#039;&#039;&#039; must have an &#039;&#039;et_IPCReceive()&#039;&#039; callback. If the message is successfully sent, &#039;&#039;&#039;success&#039;&#039;&#039; will be 1. On failure it will be 0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===printing===&lt;br /&gt;
et.G_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console.&lt;br /&gt;
et.G_LogPrint( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Prints the string &#039;&#039;&#039;text&#039;&#039;&#039; to the server console and writes it to the server log.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===argument handling===&lt;br /&gt;
These functions are to be used within the [[#commands|command callback functions]].&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;args&#039;&#039;&#039; = et.ConcatArgs( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns all arguments beginning from &#039;&#039;&#039;index&#039;&#039;&#039; concatenated into a single string &#039;&#039;&#039;args&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;argcount&#039;&#039;&#039; = et.trap_Argc()&lt;br /&gt;
:Returns a number indicating the number of command line arguments in the command buffer.&lt;br /&gt;
&#039;&#039;&#039;arg&#039;&#039;&#039; = et.trap_Argv( &#039;&#039;&#039;argnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the command line argument &#039;&#039;&#039;argnum&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===cvars===&lt;br /&gt;
&#039;&#039;&#039;cvarvalue&#039;&#039;&#039; = et.trap_Cvar_Get( &#039;&#039;&#039;cvarname&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; as a string. If there is no cvar named &#039;&#039;&#039;cvarname&#039;&#039;&#039;, returns a zero length string. &lt;br /&gt;
et.trap_Cvar_Set( &#039;&#039;&#039;cvarname&#039;&#039;&#039;, &#039;&#039;&#039;cvarvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the cvar &#039;&#039;&#039;cvarname&#039;&#039;&#039; to &#039;&#039;&#039;cvarvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===configstrings===&lt;br /&gt;
&#039;&#039;&#039;configstringvalue&#039;&#039;&#039; = et.trap_GetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039; )&lt;br /&gt;
:Returns the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; containing the contents of the configstring &#039;&#039;&#039;index&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetConfigstring( &#039;&#039;&#039;index&#039;&#039;&#039;, &#039;&#039;&#039;configstringvalue&#039;&#039;&#039; )&lt;br /&gt;
:Sets the configstring &#039;&#039;&#039;index&#039;&#039;&#039; to the string &#039;&#039;&#039;configstringvalue&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===server===&lt;br /&gt;
et.trap_SendConsoleCommand( &#039;&#039;&#039;when&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;command&#039;&#039;&#039; to the server console, to be executed &#039;&#039;&#039;when&#039;&#039;&#039; (see et.EXEC_* constants)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===clients===&lt;br /&gt;
et.trap_DropClient( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;reason&#039;&#039;&#039;, &#039;&#039;&#039;ban_time&#039;&#039;&#039; )&lt;br /&gt;
:Disconnects &#039;&#039;&#039;clientnum&#039;&#039;&#039; from the server, with descriptive string &#039;&#039;&#039;reason&#039;&#039;&#039; reported to clients. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is the time in seconds to ban the client from the server. &#039;&#039;&#039;ban_time&#039;&#039;&#039; is optional and may be entirely omitted, in which case the ban time defaults to the cvar &#039;&#039;b_defaultbantime&#039;&#039;&lt;br /&gt;
et.trap_SendServerCommand( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; )&lt;br /&gt;
:Sends the command &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; to the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;. If &#039;&#039;&#039;clientnum&#039;&#039;&#039; is -1, the &#039;&#039;&#039;[[SendServerCommand|command]]&#039;&#039;&#039; is broadcast to all connected clients.&lt;br /&gt;
et.G_Say( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039;, &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Sends a chat command on behalf of client &#039;&#039;&#039;clientNum&#039;&#039;&#039; with the mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.SAY_* constants) and chat text &#039;&#039;&#039;text&#039;&#039;&#039;.&lt;br /&gt;
et.ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Loads the new Userinfo of &#039;&#039;&#039;clientNum&#039;&#039;&#039; and stores it in the configstring and client variables&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===userinfo===&lt;br /&gt;
&#039;&#039;&#039;userinfo&#039;&#039;&#039; = et.trap_GetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039; )&lt;br /&gt;
:Returns the contents of the userinfo string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_SetUserinfo( &#039;&#039;&#039;clientnum&#039;&#039;&#039;, &#039;&#039;&#039;userinfo&#039;&#039;&#039; )&lt;br /&gt;
:Sets the userinfo string for the client &#039;&#039;&#039;clientnum&#039;&#039;&#039; to &#039;&#039;&#039;userinfo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===string utility functions===&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_RemoveKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Removes key &#039;&#039;&#039;key&#039;&#039;&#039; from infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; and returns the modified infostring.&lt;br /&gt;
&#039;&#039;&#039;infostring&#039;&#039;&#039; = et.Info_SetValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; and returns the modified infostring. If &#039;&#039;&#039;value&#039;&#039;&#039; is an empty string, &#039;&#039;&#039;key&#039;&#039;&#039; is removed from the string. &lt;br /&gt;
&#039;&#039;&#039;keyvalue&#039;&#039;&#039; = et.Info_ValueForKey( &#039;&#039;&#039;infostring&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of the key &#039;&#039;&#039;key&#039;&#039;&#039; in the infostring &#039;&#039;&#039;infostring&#039;&#039;&#039;. If &#039;&#039;&#039;key&#039;&#039;&#039; is not present in the string, an empty string is returned.&lt;br /&gt;
&#039;&#039;&#039;cleanstring&#039;&#039;&#039; = et.Q_CleanStr( &#039;&#039;&#039;string&#039;&#039;&#039; )&lt;br /&gt;
:Returns &#039;&#039;&#039;string&#039;&#039;&#039; stripped of all color codes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ET filesystem===&lt;br /&gt;
&#039;&#039;&#039;fd&#039;&#039;&#039;, &#039;&#039;&#039;len&#039;&#039;&#039; = et.trap_FS_FOpenFile( &#039;&#039;&#039;filename&#039;&#039;&#039;, &#039;&#039;&#039;mode&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to open the file &#039;&#039;&#039;filename&#039;&#039;&#039; with the access mode &#039;&#039;&#039;mode&#039;&#039;&#039; (see et.FS_ constants). Returns the filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039; and file length &#039;&#039;&#039;len&#039;&#039;&#039;. On error, &#039;&#039;&#039;len&#039;&#039;&#039; returns -1.&lt;br /&gt;
&#039;&#039;&#039;filedata&#039;&#039;&#039; = et.trap_FS_Read( fd, count )&lt;br /&gt;
:Reads &#039;&#039;&#039;count&#039;&#039;&#039; bytes from filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;count&#039;&#039;&#039; = et.trap_FS_Write( &#039;&#039;&#039;filedata&#039;&#039;&#039;, &#039;&#039;&#039;count&#039;&#039;&#039;, &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Attempts to write &#039;&#039;&#039;count&#039;&#039;&#039; bytes of &#039;&#039;&#039;filedata&#039;&#039;&#039; to filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;. Returns number of bytes successfully written.&lt;br /&gt;
et.trap_FS_Rename( &#039;&#039;&#039;oldname&#039;&#039;&#039;, &#039;&#039;&#039;newname&#039;&#039;&#039; )&lt;br /&gt;
:Renames file &#039;&#039;&#039;oldname&#039;&#039;&#039; to &#039;&#039;&#039;newname&#039;&#039;&#039;.&lt;br /&gt;
et.trap_FS_FCloseFile( &#039;&#039;&#039;fd&#039;&#039;&#039; )&lt;br /&gt;
:Closes filedescriptor &#039;&#039;&#039;fd&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===indexes===&lt;br /&gt;
&#039;&#039;&#039;soundindex&#039;&#039;&#039; = et.G_SoundIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the soundfile indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;modelindex&#039;&#039;&#039; = et.G_ModelIndex( &#039;&#039;&#039;filename&#039;&#039;&#039; )&lt;br /&gt;
:Returns an index to the model indicated by &#039;&#039;&#039;filename&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sound===&lt;br /&gt;
et.G_globalSound( &#039;&#039;&#039;sound&#039;&#039;&#039; )&lt;br /&gt;
:Plays the global sound indicated by the filename &#039;&#039;&#039;sound&#039;&#039;&#039;.&lt;br /&gt;
et.G_Sound( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;soundindex&#039;&#039;&#039; )&lt;br /&gt;
:Plays the sound &#039;&#039;&#039;soundindex&#039;&#039;&#039; at the location of entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
&#039;&#039;&#039;milliseconds&#039;&#039;&#039; = et.trap_Milliseconds()&lt;br /&gt;
:Returns a number indicating the current server time in milliseconds.&lt;br /&gt;
et.G_Damage( &#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039;, &#039;&#039;&#039;damage&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039;, &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; )&lt;br /&gt;
:Does &#039;&#039;&#039;damage&#039;&#039;&#039; amount of damage on &#039;&#039;&#039;target&#039;&#039;&#039; inflicted by &#039;&#039;&#039;inflictor&#039;&#039;&#039; and cased by &#039;&#039;&#039;attacker&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;&#039;target&#039;&#039;&#039;, &#039;&#039;&#039;inflictor&#039;&#039;&#039;, &#039;&#039;&#039;attacker&#039;&#039;&#039; are entity numbers&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; is a [[Bitmask-cvar|bitflag]] number to decide how the damage is inflickted, see &#039;&#039;&#039;[[etdamage|dflags]]&#039;&#039;&#039; [[etdamage|flaglist]]&lt;br /&gt;
:&#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; is a number from 0 up to 64 o set the type of damage, see &#039;&#039;&#039;[[etdamage|mod]]&#039;&#039;&#039; [[etdamage|list]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===entities===&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_Spawn()&lt;br /&gt;
:Spawns a new entity and returns the new entity number.&lt;br /&gt;
&#039;&#039;&#039;entnum&#039;&#039;&#039; = et.G_TempEntity( &#039;&#039;&#039;origin&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039; )&lt;br /&gt;
:Spawns a new TempEntity of event type &#039;&#039;&#039;event&#039;&#039;&#039; and places it at &#039;&#039;&#039;origin&#039;&#039;&#039; in the world.&lt;br /&gt;
:&#039;&#039;&#039;Warning:&#039;&#039;&#039; up to and including ETPro 3.2.4 the signature of the method is broken and expects four instead of two parameters. To successfully call it, you need to prepend the parameter list with two dummy parameters like et.G_TempEntity( 0, 0, origin, event ). Use this method with care, because in future ETPro versions it will probably be corrected to the one stated above and might break your script.&lt;br /&gt;
et.G_FreeEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Frees the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;spawnval&#039;&#039;&#039; = et.G_GetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039; )&lt;br /&gt;
:Returns the value of spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.G_SetSpawnVar( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;key&#039;&#039;&#039;, &#039;&#039;&#039;value&#039;&#039;&#039; )&lt;br /&gt;
:Sets the spawnvar &#039;&#039;&#039;key&#039;&#039;&#039; to &#039;&#039;&#039;value&#039;&#039;&#039; for entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;integer entnum&#039;&#039;&#039; = et.G_SpawnGEntityFromSpawnVars( string spawnvar, string spawnvalue, ... )&lt;br /&gt;
:This function can only be called inside the &#039;&#039;&#039;et_InitGame&#039;&#039;&#039; callback&lt;br /&gt;
et.trap_LinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Links the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
et.trap_UnlinkEntity( &#039;&#039;&#039;entnum&#039;&#039;&#039; )&lt;br /&gt;
:Unlinks the entity &#039;&#039;&#039;entnum&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;(variable)&#039;&#039;&#039; = et.gentity_get ( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; &#039;&#039;,arrayindex&#039;&#039; )&lt;br /&gt;
:Gets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; out of the g_entity struct. For NULL entities or clients, &#039;&#039;nil&#039;&#039; is returned.&amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to get. It is required when accessing array type fields. Entity field array indexes start at 0.&lt;br /&gt;
et.gentity_set( &#039;&#039;&#039;entnum&#039;&#039;&#039;, &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039;, &#039;&#039;arrayindex,&#039;&#039; &#039;&#039;&#039;(value)&#039;&#039;&#039; )&lt;br /&gt;
:Sets the value of &#039;&#039;&#039;[[Fieldname]]&#039;&#039;&#039; from entity &#039;&#039;&#039;entnum&#039;&#039;&#039; in the g_entity struct to &#039;&#039;&#039;(value)&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;arrayindex&#039;&#039; is used to specify which element of an array entity field to set.&lt;br /&gt;
et.G_AddEvent( &#039;&#039;&#039;ent&#039;&#039;&#039;, &#039;&#039;&#039;event&#039;&#039;&#039;, &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; )&lt;br /&gt;
:Adds event &#039;&#039;&#039;event&#039;&#039;&#039; whit eventparameter &#039;&#039;&#039;eventparm&#039;&#039;&#039;&#039; to entity &#039;&#039;&#039;ent&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==callbacks==&lt;br /&gt;
&lt;br /&gt;
===qagame execution===&lt;br /&gt;
et_InitGame( &#039;&#039;&#039;levelTime&#039;&#039;&#039;, &#039;&#039;&#039;randomSeed&#039;&#039;&#039;, &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame initializes. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds. &#039;&#039;&#039;randomSeed&#039;&#039;&#039; is a number that can be used to seed random number generators. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if et_InitGame() is being called due to a map restart (1) or not (0).&lt;br /&gt;
et_ShutdownGame( &#039;&#039;&#039;restart&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame shuts down. &#039;&#039;&#039;restart&#039;&#039;&#039; indicates if the shutdown is being called due to a map_restart (1) or not (0).&lt;br /&gt;
et_RunFrame( &#039;&#039;&#039;levelTime&#039;&#039;&#039; )&lt;br /&gt;
:Called when qagame runs a server frame. &#039;&#039;&#039;levelTime&#039;&#039;&#039; is the current level time in milliseconds.&lt;br /&gt;
et_Quit()&lt;br /&gt;
:Called when ETPro unloads the mod. The mod should close all open filedescriptors and perform all cleanup.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===client management===&lt;br /&gt;
&#039;&#039;&#039;rejectreason&#039;&#039;&#039; = et_ClientConnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;firstTime&#039;&#039;&#039;, &#039;&#039;&#039;isBot&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client attempts to connect to the server. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id, &#039;&#039;&#039;firstTime&#039;&#039;&#039; indicates if this is a new connection (1) or a reconnection (0). &#039;&#039;&#039;isBot&#039;&#039;&#039; indicates if the client is a bot (1) or not (0). If the mod accepts the connection, it should return nil. Otherwise, the mod should return a string describing the reason the client connection was rejected.&lt;br /&gt;
et_ClientDisconnect( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client disconnects. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientBegin( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client begins (becomes active, and enters the gameworld). &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientUserinfoChanged( &#039;&#039;&#039;clientNum&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client&#039;s Userinfo string has changed. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id.&lt;br /&gt;
et_ClientSpawn( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;revived&#039;&#039;&#039; )&lt;br /&gt;
:Called when a client is spawned. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;revived&#039;&#039;&#039; is 1 if the client was spawned by beeying revived.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===commands===&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ClientCommand( &#039;&#039;&#039;clientNum&#039;&#039;&#039;, &#039;&#039;&#039;command&#039;&#039;&#039; )&lt;br /&gt;
:Called when a command is received from a client. &#039;&#039;&#039;clientNum&#039;&#039;&#039; is the client slot id. &#039;&#039;&#039;command&#039;&#039;&#039; is the command. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&#039;&#039;&#039;intercepted&#039;&#039;&#039; = et_ConsoleCommand()&lt;br /&gt;
:Called when a command is entered on the server console. The mod should return 1 if the command was intercepted by the mod, and 0 if the command was ignored by the mod and should be passed through to the server (and other mods in the chain).&lt;br /&gt;
:The actual command can be accessed through the [[#argument_handling|argument handling]] functions, as seen in the [[ETPro:Lua Sample Code]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===xp===&lt;br /&gt;
et_UpgradeSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when client on slot &#039;&#039;&#039;cno&#039;&#039;&#039; gets a skill upgrade on skill &#039;&#039;&#039;skill&#039;&#039;&#039;, return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot; callback may modify skills (or do anything else it wants) during passthrough. &lt;br /&gt;
et_UpgradeSkill( &#039;&#039;&#039;cno&#039;&#039;&#039;, &#039;&#039;&#039;skill&#039;&#039;&#039; )&lt;br /&gt;
:Called when client &#039;&#039;&#039;cno&#039;&#039;&#039; his skill level of &#039;&#039;&#039;skill&#039;&#039;&#039; is set, return -1 to override (abort) the qagame function, anything else to &amp;quot;passthrough&amp;quot; callback may modify skills (or do anything else it wants) during passthrough.&lt;br /&gt;
&lt;br /&gt;
===miscellaneous===&lt;br /&gt;
et_IPCReceive( &#039;&#039;&#039;vmnumber&#039;&#039;&#039;, &#039;&#039;&#039;message&#039;&#039;&#039; )&lt;br /&gt;
:Called when another mod sends an et.IPCSend() message to this mod. &#039;&#039;&#039;vmnumber&#039;&#039;&#039; is the VM slot number of the sender, and &#039;&#039;&#039;message&#039;&#039;&#039; is the message.&lt;br /&gt;
et_Print( &#039;&#039;&#039;text&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever the server or qagame prints a string to the console.&lt;br /&gt;
et_Obituary( &#039;&#039;&#039;victim&#039;&#039;&#039;, &#039;&#039;&#039;killer&#039;&#039;&#039;, &#039;&#039;&#039;meansOfDeath&#039;&#039;&#039; )&lt;br /&gt;
:Called whenever a player is killed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==predefined constants==&lt;br /&gt;
et.EXEC_NOW&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_INSERT&amp;lt;br&amp;gt;&lt;br /&gt;
et.EXEC_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_READ&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_WRITE&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND&amp;lt;br&amp;gt;&lt;br /&gt;
et.FS_APPEND_SYNC&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_ALL&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAM&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_BUDDY&amp;lt;br&amp;gt;&lt;br /&gt;
et.SAY_TEAMNL&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
et.HOSTARCH&lt;br /&gt;
:set to WIN32 or UNIX depending on the host architecture qagame is running on.&lt;br /&gt;
LUA_PATH&lt;br /&gt;
:set to fs_homepath/fs_game/?.lua in order to ease use of the [http://www.lua.org/pil/8.1.html require] function.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==configs==&lt;br /&gt;
If a config is loaded, all modules are shutdown and reloaded. If a &#039;&#039;certified&#039;&#039; config is loaded, all modules are shutdown and reloaded, and additionally the following functions are disabled: &#039;&#039;&#039;require()&#039;&#039;&#039;, &#039;&#039;&#039;loadfile()&#039;&#039;&#039;, &#039;&#039;&#039;loadlib()&#039;&#039;&#039;, &#039;&#039;&#039;loadstring()&#039;&#039;&#039;, &#039;&#039;&#039;dofile()&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==caveats==&lt;br /&gt;
Like qagame, lua modules are unloaded and reloaded on map_restart and map changes. This means that all global variables and other information is lost. Mods may choose to store persistent data in cvars or external files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
Q: OMG I hate the libary prefix et.* on everything!!11!1oneone&amp;lt;br&amp;gt;&lt;br /&gt;
A: table.foreach(et, function (func, value) _G[func] = value; end)&lt;br /&gt;
&lt;br /&gt;
Q: How do a re-load my lua file without restarting the whole server ?&amp;lt;br&amp;gt;&lt;br /&gt;
A: change maps or map_restart&lt;br /&gt;
&lt;br /&gt;
Q: Can I see some sample code?&amp;lt;br&amp;gt;&lt;br /&gt;
A: [[ETPro:Lua Sample Code]]&lt;br /&gt;
&lt;br /&gt;
Q: Is there a list of [[ETPro]] mods?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Yes, [[:Category:ETPro:Mods|here]].&lt;br /&gt;
&lt;br /&gt;
Q: OMG my mod doesn&#039;t work!&amp;lt;br&amp;gt;&lt;br /&gt;
A: Make sure you added your mod&#039;s filename to the lua_modules cvar (e.g. set lua_modules mymod.lua).&lt;br /&gt;
&lt;br /&gt;
Q: OMG why has et_ClientSay been removed?&amp;lt;br&amp;gt;&lt;br /&gt;
A: Thats a secret but, to keep the function as it was, just add the following code to your et_ClientCommand() function&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;	-- et_ClientSay had to be removed in order to intercept all commands &lt;br /&gt;
	-- so here&#039;s a wrapper for that&lt;br /&gt;
		arg0 = et.trap_Argv(0) -- get the main command&lt;br /&gt;
		&lt;br /&gt;
		if arg0 == &amp;quot;say&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_ALL, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_team&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAM, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_buddy&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_BUDDY, et.ConcatArgs(1))&lt;br /&gt;
		elseif arg0 == &amp;quot;say_teamnl&amp;quot; then&lt;br /&gt;
			return et_ClientSay( clientNum, et.SAY_TEAMNL, et.ConcatArgs(1))&lt;br /&gt;
		end&lt;br /&gt;
	-- et_ClientSay wrapper end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;br /&gt;
[[Category:ETPro:Mods]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Category:ETPro:Server_Cvars&amp;diff=2058</id>
		<title>Category:ETPro:Server Cvars</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Category:ETPro:Server_Cvars&amp;diff=2058"/>
		<updated>2006-01-22T13:21:55Z</updated>

		<summary type="html">&lt;p&gt;Lagger: now with table goodness&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains all articles with references to server-side cvars.&lt;br /&gt;
== List of server cvars without an article (very incomplete) ==&lt;br /&gt;
&amp;lt;pitatable columns=3 headlines=&amp;quot;Cvar;Default;Description&amp;quot; aligns=&amp;quot;left;center;left&amp;quot;&amp;gt;&lt;br /&gt;
b_chargetransfer;1;0 = Disallow use of mines to transfer charge between players or &#039;store charge&#039;. 1 = Default etmain behavior, allow charge transfer and storage.;&lt;br /&gt;
b_defaultbantime;300;Time in seconds for bans without explicitly defined ban time.;&lt;br /&gt;
b_distancefalloff; 1; 0 = Disable distance damage falloff for bullet weapons. 1 = Enable distance damage falloff for bullet weapons.;&lt;br /&gt;
b_emptyscript;&amp;quot;&amp;quot;;Name of a script to execute when the last player leaves the server.;&lt;br /&gt;
b_flushitems; 0;Enables/disables ground-oriented items (medpacks, ammopacks).;&lt;br /&gt;
b_helmetprotection; 1;Allows server to enable/disable helmet damage reduction.;&lt;br /&gt;
b_maxmortarpitch; 0;Allows server to limit effective range of ground slope angles for mortar deployment. If set to eg 20, then a mortar deployed on a slope greater than 20 degrees (eg 30 or 40) would behave as if it were deployed on a slope of 20 degrees.;&lt;br /&gt;
b_shrug; 0;0 = Disable /shrug. 1 = Enable /shrug.;&lt;br /&gt;
b_sv_hitsounds; 1;0 = Server globally disables hitsounds. 1 = Server allows clients to use hitsounds.;&lt;br /&gt;
b_wolfrof; 0;0 = ET Standard SMG Rate of fire. 1 = RTCW Standard SMG Rate of fire.;&lt;br /&gt;
vote_allow_surrender;1;Enables/disables surrender callvoting.;&lt;br /&gt;
&amp;lt;/pitatable&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Category:ETPro:Server_Cvars&amp;diff=2057</id>
		<title>Category:ETPro:Server Cvars</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Category:ETPro:Server_Cvars&amp;diff=2057"/>
		<updated>2006-01-22T12:57:15Z</updated>

		<summary type="html">&lt;p&gt;Lagger: added a few cvars not described in articles (blatant c/p from 3.2.0 changelog)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains all articles with references to server-side cvars.&lt;br /&gt;
== List of server cvars without an article (very incomplete) ==&lt;br /&gt;
&#039;&#039;&#039;vote_allow_surrender&#039;&#039;&#039; (default 1, enabled)&lt;br /&gt;
Enables/disables surrender callvoting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_flushitems&#039;&#039;&#039; (default 0, disabled)&lt;br /&gt;
Enables/disables ground-oriented items (medpacks, ammopacks).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_helmetprotection&#039;&#039;&#039; (default 1, enable)&lt;br /&gt;
Allows server to enable/disable helmet damage reduction.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_maxmortarpitch&#039;&#039;&#039; (default 0, disable)&lt;br /&gt;
Allows server to limit effective range of ground slope angles for mortar deployment. If set to eg 20, then a mortar deployed on a slope greater than 20 degrees (eg 30 or 40) would behave as if it were deployed on a slope of 20 degrees.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_chargetransfer&#039;&#039;&#039; (default 1, enable)&lt;br /&gt;
0 = Disallow use of mines to transfer charge between players or &#039;store charge&#039;&lt;br /&gt;
1 = Default etmain behavior, allow charge transfer and storage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_sv_hitsounds&#039;&#039;&#039; (default 1, enable)&lt;br /&gt;
0 = Server globally disables hitsounds.&lt;br /&gt;
1 = Server allows clients to use hitsounds.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_emptyscript&#039;&#039;&#039; (default &amp;quot;&amp;quot;, disabled)&lt;br /&gt;
Name of a script to execute when the last player leaves the server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_defaultbantime&#039;&#039;&#039; (default 300)&lt;br /&gt;
Time in seconds for bans without explicitly defined ban time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_wolfrof&#039;&#039;&#039; (default 0)&lt;br /&gt;
0 = ET Standard SMG Rate of fire.&lt;br /&gt;
1 = RTCW Standard SMG Rate of fire.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_shrug&#039;&#039;&#039; (default 0)&lt;br /&gt;
0 = Disable /shrug.&lt;br /&gt;
1 = Enable /shrug.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_distancefalloff&#039;&#039;&#039; (default 1)&lt;br /&gt;
0 = Disable distance damage falloff for bullet weapons.&lt;br /&gt;
1 = Enable distance damage falloff for bullet weapons.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Shoutcasting&amp;diff=1975</id>
		<title>Shoutcasting</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Shoutcasting&amp;diff=1975"/>
		<updated>2005-12-19T09:59:12Z</updated>

		<summary type="html">&lt;p&gt;Lagger: cleaned up fusen&amp;#039;s mess, then made it worse&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A shoutcaster is a spectating player with enhanced spectating abilities. &lt;br /&gt;
&lt;br /&gt;
Shoutcasters see:&lt;br /&gt;
* Floating player names&lt;br /&gt;
* Dynamite counter&lt;br /&gt;
* Truck/tank health&lt;br /&gt;
* Unspotted/spotted mines&lt;br /&gt;
&lt;br /&gt;
Shoutcasters are:&lt;br /&gt;
* Not affected by speclock.&lt;br /&gt;
* Marked with &amp;quot;shoutcaster&amp;quot; in the scoreboard.&lt;br /&gt;
* Unable to join a team.&lt;br /&gt;
&lt;br /&gt;
== Becoming a shoutcaster ==&lt;br /&gt;
To become a shoutcaster, login with &#039;&#039;sclogin&#039;&#039; &amp;lt;pass&amp;gt; or &#039;&#039;shoutcastlogin&#039;&#039; &amp;lt;pass&amp;gt;, using the password provided by the server admin. Use &#039;&#039;sclogout&#039;&#039; or &#039;&#039;shoutcastlogout&#039;&#039; to log out.&lt;br /&gt;
&lt;br /&gt;
To promote spectators to shoutcasters, referees and admins with rcon access can use these commands:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;makeshoutcaster&#039;&#039;&#039;&#039;&#039;|&#039;&#039;&#039;&#039;&#039;makeshoutcast&#039;&#039;&#039;&#039;&#039;|&#039;&#039;&#039;&#039;&#039;makesc&#039;&#039; &amp;lt;clientid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;removeshoutcaster&#039;&#039;&#039;&#039;&#039;|&#039;&#039;&#039;&#039;&#039;removeshoutcast&#039;&#039;&#039;&#039;&#039;|&#039;&#039;&#039;&#039;&#039;removesc&#039;&#039; &amp;lt;clientid&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Admins ==&lt;br /&gt;
Enable shoutcasting by setting a non-empty shoutcast password in the cvar &#039;&#039;b_shoutcastpassword&#039;&#039;. Disable shoutcasting by using an empty string.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Server_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Headshot_Mode&amp;diff=1974</id>
		<title>Headshot Mode</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Headshot_Mode&amp;diff=1974"/>
		<updated>2005-12-19T09:05:54Z</updated>

		<summary type="html">&lt;p&gt;Lagger: category, bitmask link added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A headshot mode is included in ETPro, controlled by the [[bitmask-cvar|bitmask cvar]] &#039;&#039;b_headshot&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 = disabled&lt;br /&gt;
1 = only headshots do damage&lt;br /&gt;
2 = instagib headshots : hit = kill&lt;br /&gt;
4 = only clients can be damaged, not world entities (e.g. barrels)&lt;br /&gt;
8 = you can only receive damage from other clients, you can&#039;t receive damage from the world, e.g. from an exploding barrel&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The instagib damage is controlled by the cvar &#039;&#039;b_instagibdamage&#039;&#039;, 400 is the default value.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Server_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=User_talk:Infty&amp;diff=1929</id>
		<title>User talk:Infty</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=User_talk:Infty&amp;diff=1929"/>
		<updated>2005-11-28T22:01:47Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;\o/ --[[User:Deus|Deus]] 11:06, 28 November 2005 (PST)&lt;br /&gt;
&lt;br /&gt;
/me slaps Infty with the preview whip --[[User:Lagger|Lagger]] 14:01, 28 November 2005 (PST)&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Category_talk:ETPro:Mods&amp;diff=1753</id>
		<title>Category talk:ETPro:Mods</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Category_talk:ETPro:Mods&amp;diff=1753"/>
		<updated>2005-11-15T18:23:13Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;can my name be added here ? i dont seem tobe able to edit this page (=FF=im2good4u)&lt;br /&gt;
&lt;br /&gt;
use the &amp;lt;nowiki&amp;gt;[[Category:ETPro:Mods]]&amp;lt;/nowiki&amp;gt; tag in your article like the others did --[[User:Lagger|Lagger]] 10:23, 15 November 2005 (PST)&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Physics_cvars&amp;diff=1671</id>
		<title>Physics cvars</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Physics_cvars&amp;diff=1671"/>
		<updated>2005-11-12T00:56:25Z</updated>

		<summary type="html">&lt;p&gt;Lagger: categories added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Since Quake 3, the function that&#039;s responsible for game physics &#039;&#039;(amongst other things)&#039;&#039; is named Pmove(). Normally, this function is run once every client frame, and this is where framerate-dependant physics (most notably jump heights) come from. pmove_fixed is an attempt to level the playing field by running this function at a fixed rate &#039;&#039;(every pmove_msec milliseconds.)&#039;&#039; The default pmove_msec of 8 is equivalent to normal physics at 1000 / 8 = 125 frames/second.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;pmove_fixed&#039;&#039;&#039; can be set on either the client or the server--the client will default to the value on the server &#039;&#039;(And, on non-ETPro servers, it will be reset to the value of the server quite frequently due to some silliness in the code.)&#039;&#039; pmove_msec can only be set on the server side.&lt;br /&gt;
:&#039;&#039;note&#039;&#039;: setting pmove_fixed on etpro can still have some undesired side effects. In particular, there is still a bug when using weapons that recoil which makes it very hard to hit. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;b_fixedphysics&#039;&#039;&#039; is a server-side setting with similar goals to pmove_fixed. b_fixedphysics 1 avoids rounding the velocity at all &#039;&#039;(Removing the framerate-dependent behavior in movement)&#039;&#039;; however, it offers b_fixedphysicsfps to adjust the jump velocity to emulate the old framerate-dependent behavior. This is the best of both worlds—no movement speed problems &#039;&#039;(as several people observed at 333fps)&#039;&#039; nor any of the problems that pmove_fixed brings with it &#039;&#039;(some parts of the game behave poorly at high fps, most notably mounted MG42 and mortar aiming)&#039;&#039;, but the same jump heights trickjumpers would kill us for taking away. b_fixedphysics 2 is a cross between normal behavior and fixed behavior, which effectively just caps the maximum framerate-dependent behavior to 166fps.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;b_optimizedprediction&#039;&#039;&#039; is a client-side setting that &#039;&#039;(theoretically)&#039;&#039; has no effect other than increasing performance. Basically, etmain &#039;&#039;(and RTCW, and Q3)&#039;&#039; will re-do all the physics computations for up to the previous 64 frames in order to figure out where you should be for the current one. b_optimizedprediction will store the result of the previous computations and reuse them &#039;&#039;(Only if the results look acceptable based on the latest data the client has from the server)&#039;&#039; instead of doing all the math again. This provides a rather dramatic performance boost, especially if you have a high ping.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro]][[Category:ETPro:Server_Cvars]][[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Player_Scripting&amp;diff=1649</id>
		<title>Player Scripting</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Player_Scripting&amp;diff=1649"/>
		<updated>2005-11-09T23:27:53Z</updated>

		<summary type="html">&lt;p&gt;Lagger: client side scripting: i might expand it later with autoexec_whatever usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Team and class selection ==&lt;br /&gt;
&lt;br /&gt;
Players no longer have to use the &#039;&#039;limbo menu&#039;&#039; or the complex &#039;&#039;team&#039;&#039; command to select team and class.&lt;br /&gt;
&lt;br /&gt;
=== Class command ===&lt;br /&gt;
&lt;br /&gt;
the command &#039;&#039;class&#039;&#039; allows you to script the selection of team and class.&lt;br /&gt;
&lt;br /&gt;
syntax: &#039;&#039;&#039;class&#039;&#039;&#039; &#039;&#039;class weapon {secondary weapon}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Class:&lt;br /&gt;
* s: soldier&lt;br /&gt;
* m: medic&lt;br /&gt;
* f: field-op&lt;br /&gt;
* e: engineer&lt;br /&gt;
* c: covert-op&lt;br /&gt;
&lt;br /&gt;
Weapon:&lt;br /&gt;
use the weapon numbers from the class menu below:&lt;br /&gt;
&lt;br /&gt;
Secondary Weapon (optional):&lt;br /&gt;
# pistol&lt;br /&gt;
# akimbo-pistol&lt;br /&gt;
# smg (for soldiers with level 4 heavy weapons)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a template for making your own class binds:&lt;br /&gt;
 bind KP_END &amp;quot;vstr cs_medic&amp;quot;&lt;br /&gt;
 bind KP_DOWNARROW &amp;quot;vstr cs_fieldop&amp;quot;&lt;br /&gt;
 bind KP_PGDN &amp;quot;vstr cs_engi_smg&amp;quot;&lt;br /&gt;
 bind KP_LEFTARROW &amp;quot;vstr cs_covert_sniper&amp;quot;&lt;br /&gt;
 bind KP_5 &amp;quot;vstr cs_panz&amp;quot;&lt;br /&gt;
 &amp;lt;br /&amp;gt;// class vstr&#039;s&lt;br /&gt;
 set cs_mg42 &amp;quot;class s 2 3;echo spawning as: soldier w/mg42&amp;quot;&lt;br /&gt;
 set cs_flamer &amp;quot;class s 3 3;echo spawning as: soldier w/flamethrower&amp;quot;&lt;br /&gt;
 set cs_panz &amp;quot;class s 4 3;echo spawning as: soldier w/panzerfaust&amp;quot;&lt;br /&gt;
 set cs_mortar &amp;quot;class s 5 3;echo spawning as: soldier w/mortar&amp;quot;&lt;br /&gt;
 set cs_medic &amp;quot;class m 1 2;echo spawning as: medic&amp;quot;&lt;br /&gt;
 set cs_fieldop &amp;quot;class f 1 2;echo spawning as: field-ops&amp;quot;&lt;br /&gt;
 set cs_engi_smg &amp;quot;class e 1 2;echo spawning as: engineer w/smg&amp;quot;&lt;br /&gt;
 set cs_engi_rifle &amp;quot;class e 2 2;echo spawning as: engineer w/rifle&amp;quot;&lt;br /&gt;
 set cs_covert_sniper &amp;quot;class c 3 2;echo spawning as: covert-ops w/sniper rifle&amp;quot;&lt;br /&gt;
 set cs_covert_fg42 &amp;quot;class c 2 2;echo spawning as: covert-ops w/fg42&amp;quot;&lt;br /&gt;
 set cs_covert_sten &amp;quot;class c 1 2;echo spawning as: covert-ops w/sten&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Class menu ===&lt;br /&gt;
&lt;br /&gt;
using the command &#039;&#039;classmenu&#039;&#039; allows the player to select class and weapon:&lt;br /&gt;
&lt;br /&gt;
 bind x &amp;quot;classmenu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# soldier&lt;br /&gt;
## smg&lt;br /&gt;
## mg42&lt;br /&gt;
## flamethrower&lt;br /&gt;
## panzerfaust&lt;br /&gt;
## mortar&lt;br /&gt;
# medic&lt;br /&gt;
# field-op&lt;br /&gt;
# engineer&lt;br /&gt;
## smg&lt;br /&gt;
## garand/k43&lt;br /&gt;
# covert-op&lt;br /&gt;
## sten&lt;br /&gt;
## fg42&lt;br /&gt;
## scoped garand/k43&lt;br /&gt;
&lt;br /&gt;
=== Team menu ===&lt;br /&gt;
&lt;br /&gt;
the command &#039;&#039;teammenu&#039;&#039; allows the player to select a team before selecting class and weapon:&lt;br /&gt;
&lt;br /&gt;
 bind x &amp;quot;teammenu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# axis --&amp;gt; class menu&lt;br /&gt;
# allies --&amp;gt; class menu&lt;br /&gt;
# spectator&lt;br /&gt;
&lt;br /&gt;
[[category:ETPro]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Talk:Physics_cvars&amp;diff=1626</id>
		<title>Talk:Physics cvars</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Talk:Physics_cvars&amp;diff=1626"/>
		<updated>2005-11-08T01:04:43Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;worst. headline. ever.&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=DrawFPS&amp;diff=1502</id>
		<title>DrawFPS</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=DrawFPS&amp;diff=1502"/>
		<updated>2005-11-05T17:08:49Z</updated>

		<summary type="html">&lt;p&gt;Lagger: category client cvars&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The FPS counter in ETPro is been extended from the default setting.&lt;br /&gt;
&lt;br /&gt;
There are now three different settings you can use to show more detailed information about your frames per second.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cg_DrawFPS 2&#039;&#039;&#039;&lt;br /&gt;
 Draws a more accurate fps meter, it updates every second&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cg_DrawFPS 3&#039;&#039;&#039;&lt;br /&gt;
 Draws the time needed to render a frame in milliseconds&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cg_DrawFPS &amp;gt;3&#039;&#039;&#039;&lt;br /&gt;
 The same as 2 but here you can you specify the time in milliseconds between two updates&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Hitsounds&amp;diff=1500</id>
		<title>Hitsounds</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Hitsounds&amp;diff=1500"/>
		<updated>2005-11-05T16:44:08Z</updated>

		<summary type="html">&lt;p&gt;Lagger: added category: client cvars&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ETPro uses hitsounds like those used in Quake 3 Arena, hitsounds are sounds that are played when you hit another player, there are three different instances when a sound will play:&lt;br /&gt;
&lt;br /&gt;
* When you shoot an enemy&lt;br /&gt;
* When you shoot an enemy in the head hitbox&lt;br /&gt;
* When you shoot a teammate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using Hitsounds ==&lt;br /&gt;
&lt;br /&gt;
The hitsounds are controlled by the cvar &#039;&#039;&#039;b_hitsounds&#039;&#039;&#039;&lt;br /&gt;
There are three different settings that can be used with this cvar;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;1 = On,  All sounds are used&lt;br /&gt;
0 = Off, No sounds are used&lt;br /&gt;
2 = A sound occurs only when you get a headshot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=AntiWarp&amp;diff=1499</id>
		<title>AntiWarp</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=AntiWarp&amp;diff=1499"/>
		<updated>2005-11-05T16:43:15Z</updated>

		<summary type="html">&lt;p&gt;Lagger: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ET Pro implements an antiwarp system to keep players from &amp;quot;warping&amp;quot; or &amp;quot;teleporting&amp;quot; around, accidentally or intentionally.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Controlling the antiwarp system ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;b_antiwarp&#039;&#039;&#039; controls the antiwarp system. The possible settings are:&lt;br /&gt;
&amp;lt;pre&amp;gt;0 - disabled. ET Pro does no antiwarp at all.&lt;br /&gt;
1 - enabled (default). ET Pro keeps players from &amp;quot;warping&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== What is &amp;quot;warping&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Warping&amp;quot; occurs when the server recieves several new commands for a player in a very short period of time. This happens because packets from the player were lost or never sent. The player will appear to cross a great distance in a very short period of time, making them hard to hit and possibly allowing them to avoid landmine damage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How the antiwarp system keeps players from warping ==&lt;br /&gt;
&lt;br /&gt;
The antiwarp system in ET Pro delays commands when they are recieved too quickly. Thus, when a player sends 700ms worth of commands in 50ms, the commands will be spread out over 700ms, causing the player to move smoothly to other players. This affects the player who sent the commands too quickly only by increasing their ping, and will not keep increasing ping endlessly - at maximum, the added ping is the highest ping the player is actually getting. If temporary network issues cause ping to increase beyond a sensible number, the player can stand still for a moment and their ping will normalize.&lt;br /&gt;
&lt;br /&gt;
[[Category:ETPro:Client_Cvars]]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=Category:ETPro:Client_Cvars&amp;diff=1498</id>
		<title>Category:ETPro:Client Cvars</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=Category:ETPro:Client_Cvars&amp;diff=1498"/>
		<updated>2005-11-05T16:42:22Z</updated>

		<summary type="html">&lt;p&gt;Lagger: good way to index cvar descriptions, and tell server and client cvars apart&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of articles describing the console variables available to the player.&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
	<entry>
		<id>https://wolfwiki.anime.net/index.php?title=WolfWiki:Community_Portal&amp;diff=1419</id>
		<title>WolfWiki:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://wolfwiki.anime.net/index.php?title=WolfWiki:Community_Portal&amp;diff=1419"/>
		<updated>2005-11-04T08:36:24Z</updated>

		<summary type="html">&lt;p&gt;Lagger: /* Leagues / Competitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== News Sites ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.et-center.com/ ET-Center]&lt;br /&gt;
* [http://www.xfire.be/ Xfire.be]&lt;br /&gt;
* [http://www.gamestv.org/ GAMESTV.ORG]&lt;br /&gt;
* [http://www.swertcw.com/ sweRTCW]&lt;br /&gt;
* [http://www.planetwolfenstein.com/ Planet Wolfenstein]&lt;br /&gt;
* [http://www.etnation.co.uk/ ETNation.co.uk]&lt;br /&gt;
* [http://www.splashdamage.com/ SplashDamage.com]&lt;br /&gt;
* [http://www.planetwolfenstein.de/ PlanetWolfenstein.de]&lt;br /&gt;
* [http://www.rtcw.co.uk/ rtcw.co.uk]&lt;br /&gt;
&lt;br /&gt;
== Leagues / Competitions ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.clanbase.com/ Clanbase]&lt;br /&gt;
* [http://www.teamwarfare.com/ TeamWarfare League]&lt;br /&gt;
* [http://www.sta-league.org/ Stronger Than All]&lt;br /&gt;
* [http://www.et-cup.net/ ET-Cup]&lt;br /&gt;
* [http://www.warleagues.com/ Warleagues]&lt;br /&gt;
&lt;br /&gt;
== Mods ==&lt;br /&gt;
&lt;br /&gt;
* [http://stealthy.foolishgames.net/ FalckonET]&lt;br /&gt;
* [http://www.truecombat.com/intro.php TC:Elite]&lt;br /&gt;
* [http://www.omni-bot.com/ Omni-Bot]&lt;br /&gt;
* [http://www.priceofpeace.net/ The Price of Peace]&lt;br /&gt;
* [http://www.etpub.org/news.php ETPub]&lt;br /&gt;
* [http://jaymod.clanfu.org/ Jaymod]&lt;/div&gt;</summary>
		<author><name>Lagger</name></author>
	</entry>
</feed>