<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane</id>
	<title>AlliedModders Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alliedmods.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shane"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/Special:Contributions/Shane"/>
	<updated>2026-05-28T18:49:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=SQL_Admins_(SourceMod)&amp;diff=5031</id>
		<title>SQL Admins (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=SQL_Admins_(SourceMod)&amp;diff=5031"/>
		<updated>2007-08-14T12:45:29Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Management Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SourceMod has support for loading and managing admins via SQL, using any of the supported SQL drivers provided (currently, MySQL and SQLite).  This can be very advantageous if you have a large number of admins, you wish to manage your admins via external tools, or you wish to share admins across servers.  &lt;br /&gt;
&lt;br /&gt;
This article will explain how to set up your server to use admins through SQL.  No knowledge of SQL is required for basic administration; however, by using this feature you should realize that SourceMod does not provide easy functionality for full SQL control.  You will need to use a third party tool or learn SQL yourself if you need greater functionality.&lt;br /&gt;
&lt;br /&gt;
However, it is assumed that you:&lt;br /&gt;
*Have access to an SQL database;&lt;br /&gt;
*Know how to access the SQL database;&lt;br /&gt;
*Know how to execute commands or scripts on the SQL database.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Database Setup=&lt;br /&gt;
==MySQL==&lt;br /&gt;
If you have not already created a database on your MySQL server, do so.  &lt;br /&gt;
&lt;br /&gt;
Find the script &amp;lt;tt&amp;gt;configs/sql-init-scripts/admins-mysql.sql&amp;lt;/tt&amp;gt; in the SourceMod distribution.  Then, using either the command line or a tool such as [http://www.phpmyadmin.net/ phpMyAdmin], run its contents.  This will create the necessary tables.&lt;br /&gt;
&lt;br /&gt;
Next, open &amp;lt;tt&amp;gt;configs/databases.cfg&amp;lt;/tt&amp;gt; on your server.  You should see a section called &amp;lt;tt&amp;gt;&amp;quot;default&amp;quot;&amp;lt;/tt&amp;gt;.  You can either use this section, or create a new one called &amp;lt;tt&amp;gt;&amp;quot;admins&amp;quot;&amp;lt;/tt&amp;gt; if you wish to separate your connections.  You must fill out the &amp;lt;tt&amp;gt;driver&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;host&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;database&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;user&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;pass&amp;lt;/tt&amp;gt; fields.  If you do not need a field, use empty quotation marks as the value (&amp;lt;tt&amp;gt;&amp;quot;&amp;quot;&amp;lt;/tt&amp;gt;).  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;quot;default&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;driver&amp;quot;			&amp;quot;mysql&amp;quot;&lt;br /&gt;
		&amp;quot;host&amp;quot;				&amp;quot;localhost&amp;quot;&lt;br /&gt;
		&amp;quot;database&amp;quot;			&amp;quot;sourcemod&amp;quot;&lt;br /&gt;
		&amp;quot;user&amp;quot;				&amp;quot;myaccount&amp;quot;&lt;br /&gt;
		&amp;quot;pass&amp;quot;				&amp;quot;mypassword&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SQLite==&lt;br /&gt;
SourceMod distributes a pre-made SQLite database file with all of the admin tables created.  If you with to manually create a database or add tables to a pre-existing database, use the contents of the &amp;lt;tt&amp;gt;configs/sql-init-scripts/admins-sqlite.sql&amp;lt;/tt&amp;gt; script.&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;lt;tt&amp;gt;configs/sql-init-scripts/admins-sqlite.sq3&amp;lt;/tt&amp;gt; binary from the SourceMod distribution into your server's &amp;lt;tt&amp;gt;data/sqlite&amp;lt;/tt&amp;gt; folder.  Then, add a section to your server's &amp;lt;tt&amp;gt;configs/databases.cfg&amp;lt;/tt&amp;gt; file as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
	&amp;quot;admins&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;driver&amp;quot;			&amp;quot;sqlite&amp;quot;&lt;br /&gt;
		&amp;quot;database&amp;quot;			&amp;quot;admins-sqlite&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may choose to rename the database file, or to use the file as your default database instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Enabling Plugins=&lt;br /&gt;
By default, all of the SQL plugins are located in the &amp;lt;tt&amp;gt;plugins/disabled&amp;lt;/tt&amp;gt; folder on your server -- they are not loaded by default.  To enable plugins, move them from the &amp;lt;tt&amp;gt;plugins/disabled&amp;lt;/tt&amp;gt; folder and into &amp;lt;tt&amp;gt;plugins&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You will usually want to enable &amp;lt;tt&amp;gt;sql-admin-manager.smx&amp;lt;/tt&amp;gt;.  This plugin adds some helpful console commands for very basic admin management.  However, you should only enable '''ONE''' of the other two SQL plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;admin-sql-prefetch.smx&amp;lt;/tt&amp;gt;: This plugin is ideal for small to medium sized databases without much connection lag.  It loads the entire database admin contents at map load (or whenever a refresh is requested).  If you have serious database delay or want to be able to add/delete/edit admins without refreshing the per-map cache on each server,  this isn't the plugin for you.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;PROS:&amp;lt;/b&amp;gt; Very simple plugin with no extra complexity.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;*&amp;lt;b&amp;gt;CONS:&amp;lt;/b&amp;gt; Gameserver will stall whenever the cache is refreshed (mapload or when using &amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt;).  If you add, remove, or edit admins, the changes are not reflected until the cache is refreshed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;admin-sql-threaded.smx&amp;lt;/tt&amp;gt;: This plugin is completely threaded.  This makes it much more complex, and thus it is currently &amp;quot;experimental&amp;quot; (although it has been tested to work fine).  It pre-caches all group and override information.  Admin-lookup is done completely dynamically.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;PROS:&amp;lt;/b&amp;gt; A faulty/slow database connection will never halt the server.  If you add/remove/edit admins, the changes will be reflected as soon as the player connects to the server.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;CONS:&amp;lt;/b&amp;gt; It is very complex and thus not trivial to edit for custom changes.  It also may have unexpected functionality (for example, &amp;lt;tt&amp;gt;sm_reloadadmins&amp;lt;/tt&amp;gt; will have a slight delayed reaction because the plugin is multi-threaded).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have enabled the manager, and enabled &amp;lt;b&amp;gt;ONE&amp;lt;/b&amp;gt; of the &amp;lt;tt&amp;gt;admin-sql&amp;lt;/tt&amp;gt; plugins, you are ready to go!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Management Commands=&lt;br /&gt;
As a convenience, SourceMod provides a few basic SQL admin management commands via the &amp;lt;tt&amp;gt;sql-admin-manager.smx&amp;lt;/tt&amp;gt; plugin.  All of the commands require the &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; admin flag.&lt;br /&gt;
&lt;br /&gt;
The following conventions are used:&lt;br /&gt;
*When &amp;amp;lt;authtype&amp;amp;gt; is requested, it means one of the following three values: &amp;lt;tt&amp;gt;steam&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;ip&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;.&lt;br /&gt;
*When &amp;amp;lt;identity&amp;amp;gt; is requested, it should be the unique string to be paired with the &amp;lt;tt&amp;gt;authtype&amp;lt;/tt&amp;gt;.  For example, a &amp;lt;tt&amp;gt;steam&amp;lt;/tt&amp;gt; identity would be a Steam ID.  An &amp;lt;tt&amp;gt;ip&amp;lt;/tt&amp;gt; identity would be an IP address, and a &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt; identity would be a Half-Life 2 player name.&lt;br /&gt;
*When [immunity] is requested, it means one of the following three values: &amp;lt;tt&amp;gt;none&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;default&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;global&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: if a string has spaces, it must be in quotes!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note: A colon is a break character and Steam IDs must be in quotes!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Command&lt;br /&gt;
| Format&lt;br /&gt;
| Description&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| sm_sql_addadmin&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;alias&amp;gt; &amp;lt;authtype&amp;gt; &amp;lt;identity&amp;gt; &amp;lt;flags&amp;gt; [password]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Adds a new entry to the &amp;lt;tt&amp;gt;sm_admins&amp;lt;/tt&amp;gt; table.  The &amp;lt;tt&amp;gt;alias&amp;lt;/tt&amp;gt; can be any value and is usually used to assign a readable name to an IP/SteamID.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| sm_sql_deladmin&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;authtype&amp;gt; &amp;lt;identity&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Removes an admin.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| sm_sql_addgroup&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;name&amp;gt; &amp;lt;flags&amp;gt; [immunity]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Adds a new group with the specified flags and immunity&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| sm_sql_delgroup&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Removes the specified group.  Quotation marks are optional if the name has odd characters.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot; &lt;br /&gt;
| sm_sql_setadmingroups&lt;br /&gt;
| &amp;lt;nowiki&amp;gt;&amp;lt;authtype&amp;gt; &amp;lt;identity&amp;gt; [group1] ... [group N]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| Sets an admin's group list.  The inheritance order is the order the groups are specified in.  This sets, and does not add; thus specifying no groups removes the user from all groups.  Example:&lt;br /&gt;
&amp;lt;tt&amp;gt;sm_sql_setadmingroups steam &amp;quot;STEAM_0:1:16&amp;quot; &amp;quot;Full Admins&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Frequently Asked Questions=&lt;br /&gt;
&amp;lt;b&amp;gt;Q:&amp;lt;/b&amp;gt; Can I use &amp;lt;tt&amp;gt;admin-sql&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;admin-flatfile&amp;lt;/tt&amp;gt; at the same time?&lt;br /&gt;
&amp;lt;b&amp;gt;A:&amp;lt;/b&amp;gt; Yes.  The data will be merged together in SourceMod's cache.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Q:&amp;lt;/b&amp;gt; Can I use both the &amp;lt;tt&amp;gt;threaded&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;prefetch&amp;lt;/tt&amp;gt; SQL plugins at the same time?&lt;br /&gt;
&amp;lt;b&amp;gt;A:&amp;lt;/b&amp;gt; No.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Q:&amp;lt;/b&amp;gt; Can duplicate groups/admins be in the flat files and the SQL database?&lt;br /&gt;
&amp;lt;b&amp;gt;A:&amp;lt;/b&amp;gt; Yup.  They will be merged safely.&lt;br /&gt;
&lt;br /&gt;
=Schemas=&lt;br /&gt;
This section documents the required portions of the admin table schema.  You do not need to read or learn this unless you plan to use SQL directly.&lt;br /&gt;
&lt;br /&gt;
The exact schemas for each driver are located in &amp;lt;tt&amp;gt;configs/sql-init-scripts&amp;lt;/tt&amp;gt;.  The purpose of this document is to explain the fields rather than list the exact structures.&lt;br /&gt;
&lt;br /&gt;
==sm_admins==&lt;br /&gt;
This table is used to store administrators.  Although the primary key is &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;, applications should enforce that &amp;lt;tt&amp;gt;authtype&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;identity&amp;lt;/tt&amp;gt; have no combined duplicates.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; (auto increments).&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| id&lt;br /&gt;
| integer&lt;br /&gt;
| Unique integer identifying the row.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| authtype&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
Constrained to 'steam', 'name', or 'ip'&lt;br /&gt;
| Authentication type the identity is against.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| identity&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Steam ID, name, or IP address.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| password&lt;br /&gt;
| string&lt;br /&gt;
| Password, if any, the admin must use.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| flags&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Permission flag string.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| name&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Alias used for external tools (all but ignored in SourceMod).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==sm_groups==&lt;br /&gt;
This table is used to store all groups entries.  Although the primary key is &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt;, applications should enforce that the &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt; field stays unique.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;id&amp;lt;/tt&amp;gt; (auto increments).&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| id&lt;br /&gt;
| integer&lt;br /&gt;
| Unique integer identifying the row.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| immunity&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
Constrained to 'none', 'global', or 'default'&lt;br /&gt;
| Immunity level the group gets.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| flags&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Permissions flag string.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| name&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Unique name of the group.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==sm_admins_groups==&lt;br /&gt;
This table is used to map admins to the groups they will inherit.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;admin_id&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;group_id&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| admin_id &lt;br /&gt;
| integer&lt;br /&gt;
| Reference to the &amp;lt;tt&amp;gt;sm_admins.id&amp;lt;/tt&amp;gt; field.  Specifies the admin inheriting the group.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| group_id&lt;br /&gt;
| integer&lt;br /&gt;
| Reference to the &amp;lt;tt&amp;gt;sm_groups.id&amp;lt;/tt&amp;gt; field.  Specifies the group the admin is inheriting.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| inherit_order&lt;br /&gt;
| integer NOT NULL&lt;br /&gt;
| Order of inheritance for the given admin.  Lower means earlier inheritance.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==sm_group_immunity==&lt;br /&gt;
This table is used to map which groups are immune from other groups.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;group_id&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;other_id&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| group_id&lt;br /&gt;
| integer&lt;br /&gt;
| Reference to the &amp;lt;tt&amp;gt;sm_groups.id&amp;lt;/tt&amp;gt; field.  Specifies the group gaining immunity.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| other_id&lt;br /&gt;
| integer&lt;br /&gt;
| Reference to the &amp;lt;tt&amp;gt;sm_groups.id&amp;lt;/tt&amp;gt; field.  Specifies who &amp;lt;tt&amp;gt;group_id&amp;lt;/tt&amp;gt; is becoming immune from.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==sm_group_overrides==&lt;br /&gt;
This table is used to specify group-based command overrides.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;group_id&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| group_id&lt;br /&gt;
| integer&lt;br /&gt;
| Reference to the &amp;lt;tt&amp;gt;sm_groups.id&amp;lt;/tt&amp;gt; field.  Specifies the group the override is for.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| type&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
Constrained to 'command' or 'group'.&lt;br /&gt;
| Specifies whether the override is a command or a command group.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| name&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Command name.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| access&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
Constrained to 'allow' or 'deny'.&lt;br /&gt;
| Whether the command is allowed or denied to this group.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==sm_overrides==&lt;br /&gt;
This table is used to specify global command overrides.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Primary key:&amp;lt;/b&amp;gt; &amp;lt;tt&amp;gt;type&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{|&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Field&lt;br /&gt;
| Type&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| type&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
Constrained to 'command' or 'group'.&lt;br /&gt;
| Specifies whether the override is a command or a command group.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| name&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Command name.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| flags&lt;br /&gt;
| string NOT NULL&lt;br /&gt;
| Permissions flag string.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4998</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4998"/>
		<updated>2007-07-30T05:53:59Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
new bool:plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrelay = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrelay_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed and/or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4997</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4997"/>
		<updated>2007-07-30T02:29:06Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
new bool:plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed and/or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4996</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4996"/>
		<updated>2007-07-30T02:28:34Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
new bool:plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=4995</id>
		<title>Adding Admins (SourceMod)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Adding_Admins_(SourceMod)&amp;diff=4995"/>
		<updated>2007-07-30T02:24:43Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Simple Admins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__FORCETOC__&lt;br /&gt;
SourceMod has as very detailed and flexible administration system, and it can be quite daunting to users.  To simplify things, there are a number of &amp;quot;flags&amp;quot; which specify generic permissions administrators can have.&lt;br /&gt;
&lt;br /&gt;
Aside from that, there are (currently) two provided ways of storing admins.  One via a simplified flat file, and another via a more complex tree-based file.&lt;br /&gt;
&lt;br /&gt;
SourceMod provides three methods of authentication by default:&lt;br /&gt;
*''Steam ID'' (unique to a Steam account)&lt;br /&gt;
*''IP Address'' (semi-unique to a given computer, better for LANs)&lt;br /&gt;
*''Name'' (requires a password)&lt;br /&gt;
&lt;br /&gt;
=Levels=&lt;br /&gt;
First, let's quickly run down the provided levels:&lt;br /&gt;
:{| cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|- class=&amp;quot;t2th&amp;quot;&lt;br /&gt;
| Name&lt;br /&gt;
| Flag&lt;br /&gt;
| Purpose&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| reservation&lt;br /&gt;
| a&lt;br /&gt;
| Reserved slot access.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| generic&lt;br /&gt;
| b&lt;br /&gt;
| Generic admin; required for admins.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| kick&lt;br /&gt;
| c&lt;br /&gt;
| Kick other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| ban&lt;br /&gt;
| d&lt;br /&gt;
| Ban other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| unban&lt;br /&gt;
| e&lt;br /&gt;
| Remove bans.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| slay&lt;br /&gt;
| f&lt;br /&gt;
| Slay/harm other players.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| map&lt;br /&gt;
| g&lt;br /&gt;
| Change the map or major gameplay features.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cvar&lt;br /&gt;
| h&lt;br /&gt;
| Change most cvars.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| config&lt;br /&gt;
| i&lt;br /&gt;
| Execute config files.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| chat&lt;br /&gt;
| j&lt;br /&gt;
| Special chat privileges.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| vote&lt;br /&gt;
| k&lt;br /&gt;
| Start or create votes.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| password&lt;br /&gt;
| l&lt;br /&gt;
| Set a password on the server.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| rcon&lt;br /&gt;
| m&lt;br /&gt;
| Use RCON commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| cheats&lt;br /&gt;
| m&lt;br /&gt;
| Change sv_cheats or use cheating commands.&lt;br /&gt;
|- class=&amp;quot;t2td&amp;quot;&lt;br /&gt;
| root&lt;br /&gt;
| z&lt;br /&gt;
| Magically enables all flags.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Immunity=&lt;br /&gt;
There is no immunity flag.  Instead, there are three types of immunity:&lt;br /&gt;
*''Default'' immunity; immunity from admins who do not have default immunity.&lt;br /&gt;
*''Global'' immunity; immunity from admins who do not have global or default immunity.&lt;br /&gt;
*''Specific'' immunity; immunity from a specific group (see advanced section).&lt;br /&gt;
&lt;br /&gt;
=Simple Admins=&lt;br /&gt;
The easiest way to add administrators is through &amp;lt;tt&amp;gt;configs/admins_simple.ini&amp;lt;/tt&amp;gt;.  This is a flat file which requires two parameters per line: authentication info, and flags.  &lt;br /&gt;
&lt;br /&gt;
Three examples are provided:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;STEAM_0:1:16&amp;quot;		&amp;quot;bce&amp;quot;			//kick, ban, slay for this steam ID&lt;br /&gt;
&amp;quot;!127.0.0.1&amp;quot;		&amp;quot;z&amp;quot;			//all permissions for this ip&lt;br /&gt;
&amp;quot;BAILOPAN&amp;quot;		&amp;quot;abc&amp;quot;	&amp;quot;Gab3n&amp;quot;		//name BAILOPAN, password &amp;quot;Gab3n&amp;quot;: gets reservation, kick, ban&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Passwords=&lt;br /&gt;
For passwords to work, the server administrator must change the &amp;quot;PassInfoVar&amp;quot; line in &amp;lt;tt&amp;gt;addons/sourcemod/configs/core.cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;PassInfoVar&amp;quot;			&amp;quot;_sm1337&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, if an admin has a password, he or she must set the password via the ''setinfo'' command in the client console.   For example, using the examples above, &amp;lt;tt&amp;gt;BAILOPAN&amp;lt;/tt&amp;gt; would need to type:&lt;br /&gt;
&amp;lt;pre&amp;gt;setinfo &amp;quot;_sm1337&amp;quot; &amp;quot;Gab3n&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To automate this upon connecting to a server, you can create an &amp;quot;autoexec.cfg&amp;quot; file in your client &amp;lt;tt&amp;gt;cstrike&amp;lt;/tt&amp;gt; folder.  This will be located under &amp;lt;tt&amp;gt;SteamApps\ACCOUNT\Counter-Strike Source\cstrike\cfg&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
*&amp;lt;tt&amp;gt;C:\program files\steam\steamapps\bailopan\counter-strike source\cstrike\cfg&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also set the password upon connecting.  For steam and IP authentication, your admin privileges will be automatically assigned if the password is correct.  For name based authentication, your password must be correct before you change your name, or else you will be kicked from the server.&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Documentation]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4968</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4968"/>
		<updated>2007-07-24T20:01:40Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4967</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4967"/>
		<updated>2007-07-24T03:11:45Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4966</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4966"/>
		<updated>2007-07-24T03:11:36Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4965</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4965"/>
		<updated>2007-07-24T03:07:00Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Creating a Dependency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;myfile&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4964</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4964"/>
		<updated>2007-07-24T03:06:02Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Creating a Dependency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public OnPluginStart() &lt;br /&gt;
{&lt;br /&gt;
	//... code here ...&lt;br /&gt;
	RegPluginLibrary(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4963</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4963"/>
		<updated>2007-07-24T02:52:47Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Creating a Dependency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
You also must register the library name with SourceMod -- again this should be the unique string. This is should be done inside the &amp;lt;code&amp;gt;OnPluginStart&amp;lt;/code&amp;gt; function.&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4941</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4941"/>
		<updated>2007-07-16T19:55:21Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Full Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
= Full Example =&lt;br /&gt;
;''Bounty: bounty.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''Bounty: bounty.config.sp''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
plugin_IrcRelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
if ((BountyIRC) &amp;amp;&amp;amp; (plugin_IrcRelay))&lt;br /&gt;
{&lt;br /&gt;
	RegisterIrcCommand(&amp;quot;!bounty&amp;quot;, &amp;quot;x&amp;quot;, Irc_ViewBounty);&lt;br /&gt;
	IrcMessage(CHAN_MASTER, &amp;quot;IRC Bounty Running!&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
	if ((BountyIRC) &amp;amp;&amp;amp; (!plugin_IrcRelay))&lt;br /&gt;
	{&lt;br /&gt;
		BountyConsole_Debug(&amp;quot;%t&amp;quot;, &amp;quot;Bounty IRC Relay failed&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
;''IRC Relay: ircrelay.inc''&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
public SharedPlugin:__pl_ircrealy = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;ircrelay&amp;quot;,&lt;br /&gt;
	file = &amp;quot;ircrelay.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
public __pl_ircrealy_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcMessage&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;RegisterIrcCommand&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgc&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;IrcGetCmdArgv&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; value is what will be checked when you run &amp;lt;code&amp;gt;LibraryExists&amp;lt;/code&amp;gt;. This allows the bounty script to fully work, even if the IRC relay plugin is not installed or running correctly on your server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4940</id>
		<title>Optional Requirements (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Optional_Requirements_(SourceMod_Scripting)&amp;diff=4940"/>
		<updated>2007-07-16T19:49:06Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Creating a Dependency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally, if you use natives from an extension or another plugin, your plugin will not load unless those natives exist.  However, it is possible to make your dependencies &amp;quot;optional.&amp;quot;  This article details how.&lt;br /&gt;
&lt;br /&gt;
=Disabling Requirements=&lt;br /&gt;
==Extensions==&lt;br /&gt;
To disable an extension being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_EXTENSIONS&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any extensions included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_EXTENSIONS&lt;br /&gt;
#include &amp;lt;sdktools&amp;gt;&lt;br /&gt;
#define REQUIRE_EXTENSIONS&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
To disable an plugin being marked as &amp;quot;required,&amp;quot; remove the &amp;lt;tt&amp;gt;REQUIRE_PLUGIN&amp;lt;/tt&amp;gt; define.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that any plugins included after the &amp;lt;tt&amp;gt;#undef&amp;lt;/tt&amp;gt; will also be marked as required.  Thus, you may need to move the include down, or do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;#include &amp;lt;sourcemod&amp;gt;&lt;br /&gt;
#undef REQUIRE_PLUGIN&lt;br /&gt;
#include &amp;lt;ircrelay&amp;gt;&lt;br /&gt;
#define REQUIRE_PLUGIN&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Optional Natives==&lt;br /&gt;
To mark a native as optional, use &amp;lt;tt&amp;gt;MarkNativeAsOptional&amp;lt;/tt&amp;gt;.  It should be called in &amp;lt;tt&amp;gt;AskPluginLoad&amp;lt;/tt&amp;gt;.  For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public bool:AskPluginLoad(Handle:myself, bool:late, String:error[], err_max)&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;SDKCall&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Checking Optional Dependencies=&lt;br /&gt;
If you use a plugin or extension as an optional dependency, you may need to check whether it exists.  For example, let's say we're relying on a plugin with the library name of &amp;quot;ircrelay.&amp;quot;  The way to always know whether ircrelay is loaded (and working) is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;new bool:ircrelay = false;&lt;br /&gt;
&lt;br /&gt;
public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	ircrelay = LibraryExists(&amp;quot;ircrelay&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryRemoved(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = false;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public OnLibraryAdded(const String:name[])&lt;br /&gt;
{&lt;br /&gt;
	if (StrEqual(name, &amp;quot;ircrelay&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		ircrelay = true;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Creating a Dependency=&lt;br /&gt;
Allowing other plugins to use your plugin as a library requires making an include file with two structures (the second of which is optional).  The first structure must look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public SharedPlugin:__pl_myfile = &lt;br /&gt;
{&lt;br /&gt;
	name = &amp;quot;myfile&amp;quot;,&lt;br /&gt;
	file = &amp;quot;myfile.smx&amp;quot;,&lt;br /&gt;
#if defined REQUIRE_PLUGIN&lt;br /&gt;
	required = 1,&lt;br /&gt;
#else&lt;br /&gt;
	required = 0,&lt;br /&gt;
#endif&lt;br /&gt;
};&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The basic format is:&lt;br /&gt;
*The variable name MUST start with &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and must end with a unique string.&lt;br /&gt;
*The &amp;quot;name&amp;quot; portion is treated as the library name and must be unique.&lt;br /&gt;
*The filename must match the filename of the plugin implementing the library.&lt;br /&gt;
*The requirement portion should remain unchanged in order to maintain standards.&lt;br /&gt;
&lt;br /&gt;
Additionally, you should expose a function which marks all of your natives as optional.  You can do this by:&lt;br /&gt;
&amp;lt;pawn&amp;gt;public __pl_myfile_SetNTVOptional()&lt;br /&gt;
{&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native1&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native2&amp;quot;);&lt;br /&gt;
	MarkNativeAsOptional(&amp;quot;native3&amp;quot;);&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This function will be secretly called before the plugin loads (if and only if the requirement is optional), thus allowing seamless optional usage by third party developers.  Note that the &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;_SetNTVOptional&amp;lt;/tt&amp;gt; portions &amp;lt;b&amp;gt;must&amp;lt;/b&amp;gt; be present, and that everything in between must match the ending of &amp;lt;tt&amp;gt;__pl_&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;SharedPlugin&amp;lt;/tt&amp;gt; structure.&lt;br /&gt;
&lt;br /&gt;
== Full Example ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Events_(SourceMod_Scripting)&amp;diff=4812</id>
		<title>Events (SourceMod Scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Events_(SourceMod_Scripting)&amp;diff=4812"/>
		<updated>2007-06-27T07:10:49Z</updated>

		<summary type="html">&lt;p&gt;Shane: + link to Game Events (Source)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''To view all the events, click [[Game Events (Source)|here]].''&lt;br /&gt;
&lt;br /&gt;
Events are short, named messages sent by the server.  Although they are used for internal message passing, they are also networked to clients.&lt;br /&gt;
&lt;br /&gt;
All event natives are found in &amp;lt;tt&amp;gt;plugins/include/events.inc&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Events are documented in &amp;lt;tt&amp;gt;.res&amp;lt;/tt&amp;gt; files under a mod's &amp;lt;tt&amp;gt;resource&amp;lt;/tt&amp;gt; folder.  The &amp;quot;default&amp;quot; events are located in &amp;lt;tt&amp;gt;hl2/resource/gameevents.res&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;hl2/resource/serverevents.res&amp;lt;/tt&amp;gt;.  Mods can extend these events with their own.  &lt;br /&gt;
&lt;br /&gt;
For example, let's look at &amp;lt;tt&amp;gt;player_death&amp;lt;/tt&amp;gt; from &amp;lt;tt&amp;gt;hl2/resource/gameevents.res&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;	&amp;quot;player_death&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;userid&amp;quot;	&amp;quot;short&amp;quot;   	// user ID who died				&lt;br /&gt;
		&amp;quot;attacker&amp;quot;	&amp;quot;short&amp;quot;	 	// user ID who killed&lt;br /&gt;
	}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Counter-Strike:Source extends this definition in &amp;lt;tt&amp;gt;cstrike/resource/modevents.res&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;	&amp;quot;player_death&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;userid&amp;quot;	&amp;quot;short&amp;quot;   	// user ID who died				&lt;br /&gt;
		&amp;quot;attacker&amp;quot;	&amp;quot;short&amp;quot;	 	// user ID who killed&lt;br /&gt;
		&amp;quot;weapon&amp;quot;	&amp;quot;string&amp;quot; 	// weapon name killer used &lt;br /&gt;
		&amp;quot;headshot&amp;quot;	&amp;quot;bool&amp;quot;		// singals a headshot&lt;br /&gt;
	}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the event is structured in the following format:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;quot;name&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;key1&amp;quot;	&amp;quot;valueType1&amp;quot;&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sending Events=&lt;br /&gt;
Events are very easy to send.  For example, let's say we want to send a death message using the &amp;lt;tt&amp;gt;player_death&amp;lt;/tt&amp;gt; event from above.  For Counter-Strike:Source, this would look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;SendDeathMessage(attacker, victim, const String:weapon[], bool:headshot)&lt;br /&gt;
{&lt;br /&gt;
	new Handle:event = CreateEvent(&amp;quot;player_death&amp;quot;)&lt;br /&gt;
	if (event == INVALID_HANDLE)&lt;br /&gt;
	{&lt;br /&gt;
		return&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	SetEventInt(event, &amp;quot;userid&amp;quot;, GetClientUserId(victim))&lt;br /&gt;
	SetEventInt(event, &amp;quot;attacker&amp;quot;, GetClientUserId(attacker))&lt;br /&gt;
	SetEventString(event, &amp;quot;weapon&amp;quot;, weapon)&lt;br /&gt;
	SetEventBool(event, &amp;quot;headshot&amp;quot;, headshot)&lt;br /&gt;
	FireEvent(event)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
*You don't need to call &amp;lt;tt&amp;gt;CloseHandle()&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;FireEvent()&amp;lt;/tt&amp;gt; does this for us.&lt;br /&gt;
*Even though &amp;quot;userid&amp;quot; and &amp;quot;attacker&amp;quot; are shorts, we set them as ints.  The term &amp;quot;short&amp;quot; is only used to tell the engine how many bytes of the integer are needed to be networked.&lt;br /&gt;
*It is possible for event creation to fail; this can happen if the event does not exist, or nothing is hooking the event.  Thus, you should always make sure &amp;lt;tt&amp;gt;CreateEvent&amp;lt;/tt&amp;gt; calls return a valid Handle.&lt;br /&gt;
*Most events use client userids instead of client indexes.&lt;br /&gt;
*By default, &amp;lt;tt&amp;gt;FireEvent()&amp;lt;/tt&amp;gt; broadcasts messages to clients.  This can be prevented by passing &amp;lt;tt&amp;gt;dontBroadcast&amp;lt;/tt&amp;gt; as true.&lt;br /&gt;
&lt;br /&gt;
=Hooking Events=&lt;br /&gt;
When hooking an event, there are three modes to choose from:&lt;br /&gt;
*&amp;lt;tt&amp;gt;Pre&amp;lt;/tt&amp;gt; - Hook the event before it is fired.&lt;br /&gt;
*&amp;lt;tt&amp;gt;Post&amp;lt;/tt&amp;gt; - Hook the event after it is fired.&lt;br /&gt;
*&amp;lt;tt&amp;gt;Post_NoCopy&amp;lt;/tt&amp;gt; - Hook the event, but do not save any of its information (special optimization).&lt;br /&gt;
&lt;br /&gt;
Hooking an event is usually done for one of the following goals.  The get an idea of which mode to use, see the list below each goal:&lt;br /&gt;
*Blocking the event (preventing it from being fired)&lt;br /&gt;
**'''Always &amp;lt;tt&amp;gt;Pre&amp;lt;/tt&amp;gt;'''&lt;br /&gt;
*Rewriting the event (changing its parameters)&lt;br /&gt;
**'''Always &amp;lt;tt&amp;gt;Pre&amp;lt;/tt&amp;gt;'''&lt;br /&gt;
*Acting upon the event (doing something once the event is completed)&lt;br /&gt;
**'''&amp;lt;tt&amp;gt;Pre&amp;lt;/tt&amp;gt;''' if your action must come before the mod's action.&lt;br /&gt;
**'''&amp;lt;tt&amp;gt;Post&amp;lt;/tt&amp;gt;''' if your action must come after the mod's action.&lt;br /&gt;
**'''&amp;lt;tt&amp;gt;PostNoCopy&amp;lt;/tt&amp;gt;''' if your action is &amp;lt;tt&amp;gt;Post&amp;lt;/tt&amp;gt; and only requires the event name.&lt;br /&gt;
&lt;br /&gt;
As always, you do not need to unhook events when your plugin unloads.  They are automatically removed.&lt;br /&gt;
&lt;br /&gt;
==Blocking Events==&lt;br /&gt;
Blocking events is the easiest thing to do.  Let's say we want to block death events that are headshots:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	HookEvent(&amp;quot;player_death&amp;quot;, Event_PlayerDeath, EventHookMode_Pre)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public Action:Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)&lt;br /&gt;
{&lt;br /&gt;
	if (GetEventBool(event, &amp;quot;headshot&amp;quot;))&lt;br /&gt;
	{&lt;br /&gt;
		return Plugin_Handled&lt;br /&gt;
	}&lt;br /&gt;
	return Plugin_Continue&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rewriting Events==&lt;br /&gt;
Rewriting events is just as easy -- events can be modified in pre hooks.  For example, say we want to remove headshots from all events:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	HookEvent(&amp;quot;player_death&amp;quot;, Event_PlayerDeath, EventHookMode_Pre)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public Action:Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)&lt;br /&gt;
{&lt;br /&gt;
	SetEventBool(event, &amp;quot;headshot&amp;quot;, false)&lt;br /&gt;
	return Plugin_Continue&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Post Hooks==&lt;br /&gt;
Post hooks are default, and will usually be the most common usage.  For example, say we want to print a message to every client that dies:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	HookEvent(&amp;quot;player_death&amp;quot;, Event_PlayerDeath)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)&lt;br /&gt;
{&lt;br /&gt;
	decl String:weapon[64]&lt;br /&gt;
	new victimId = GetEventInt(event, &amp;quot;userid&amp;quot;)&lt;br /&gt;
	new attackerId = GetEventInt(event, &amp;quot;attacker&amp;quot;)&lt;br /&gt;
	new bool:headshot = GetEventBool(event, &amp;quot;headshot&amp;quot;)&lt;br /&gt;
	GetEventString(event, &amp;quot;weapon&amp;quot;, weapon, sizeof(weapon))&lt;br /&gt;
&lt;br /&gt;
	decl String:name[64]&lt;br /&gt;
	new victim = GetClientOfUserId(victimId)&lt;br /&gt;
	new attacker = GetClientOfUserId(attackerId)&lt;br /&gt;
	GetClientName(attacker, name, sizeof(name))&lt;br /&gt;
&lt;br /&gt;
	PrintToConsole(victim,&lt;br /&gt;
		&amp;quot;You were killed by \&amp;quot;%s\&amp;quot; (weapon \&amp;quot;%s\&amp;quot;) (headshot \&amp;quot;%d\&amp;quot;)&amp;quot;,&lt;br /&gt;
		name,&lt;br /&gt;
		weapon,&lt;br /&gt;
		headshot)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will print a message to a player's console telling them who killed them, with what weapon, and whether it was a headshot or not.&lt;br /&gt;
&lt;br /&gt;
Note that the return value for post hooks is ignored, so the &amp;lt;tt&amp;gt;Action&amp;lt;/tt&amp;gt; tag is not needed.&lt;br /&gt;
&lt;br /&gt;
==PostNoCopy Hooks==&lt;br /&gt;
Lastly, there are some hooks where the only piece of information needed is the name of the event.  &amp;lt;tt&amp;gt;PostNoCopy&amp;lt;/tt&amp;gt; is a special optimization for this case.  When transitioning from &amp;lt;tt&amp;gt;Pre&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;Post&amp;lt;/tt&amp;gt;, SourceMod must duplicate the event and all of its key/value pairs.  &amp;lt;tt&amp;gt;PostNoCopy&amp;lt;/tt&amp;gt; prevents that sequence from happening.&lt;br /&gt;
&lt;br /&gt;
For example, let's say we want to find when a certain sequence of events is called.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pawn&amp;gt;public OnPluginStart()&lt;br /&gt;
{&lt;br /&gt;
	HookEvent(&amp;quot;game_newmap&amp;quot;, GameEvents, EventHookMode_PostNoCopy)&lt;br /&gt;
	HookEvent(&amp;quot;game_start&amp;quot;, GameEvents, EventHookMode_PostNoCopy)&lt;br /&gt;
	HookEvent(&amp;quot;game_end&amp;quot;, GameEvents, EventHookMode_PostNoCopy)&lt;br /&gt;
	HookEvent(&amp;quot;game_message&amp;quot;, GameEvents, EventHookMode_PostNoCopy)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public GameEvents(Handle:event, const String:name[], bool:dontBroadcast)&lt;br /&gt;
{&lt;br /&gt;
	PrintToServer(&amp;quot;Event has been fired (event \&amp;quot;%s\&amp;quot;) (nobcast \&amp;quot;%d\&amp;quot;)&amp;quot;, name, dontBroadcast)&lt;br /&gt;
}&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that like normal &amp;lt;tt&amp;gt;Post&amp;lt;/tt&amp;gt; hooks, there is no return value needed.  However, the &amp;lt;tt&amp;gt;event&amp;lt;/tt&amp;gt; parameter for &amp;lt;tt&amp;gt;PostNoCopy&amp;lt;/tt&amp;gt; will '''always''' be equal to &amp;lt;tt&amp;gt;INVALID_HANDLE&amp;lt;/tt&amp;gt;.  Thus, the &amp;lt;tt&amp;gt;name&amp;lt;/tt&amp;gt; parameter must be used instead of &amp;lt;tt&amp;gt;GetEventName&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;br /&gt;
[[Category:SourceMod Development]]&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4730</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4730"/>
		<updated>2007-06-08T22:45:32Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Credits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are all the games that the Source engine covers (that we could find).&lt;br /&gt;
* [[Generic Source Events]]&lt;br /&gt;
* [[Generic Source Server Events]]&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Half-Life 2: Deathmatch Events]]&lt;br /&gt;
* [[Half-Life 2: Capture the Flag Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source Events]]&lt;br /&gt;
* [[Iron Grip: Source  Events]]&lt;br /&gt;
* [[Garry's Mod Events]]&lt;br /&gt;
&lt;br /&gt;
== Credits ==&lt;br /&gt;
[[User:Shane|Shane]] - Writing some of the events pages and organization and general wikiknowhow&amp;lt;br /&amp;gt;&lt;br /&gt;
[[User:FlyingMongoose|FlyingMongoose]] - Writing a lot of the events pages&amp;lt;br /&amp;gt;&lt;br /&gt;
[[User:sslice|sslice]] - For creating a wikitizer application for these events&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4682</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4682"/>
		<updated>2007-06-08T21:45:16Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Perfect Dark: Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Perfect_Dark:_Source_Events&amp;diff=4681</id>
		<title>Perfect Dark: Source Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Perfect_Dark:_Source_Events&amp;diff=4681"/>
		<updated>2007-06-08T21:45:14Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Perfect Dark: Source =  === player_death === {{qnotice|When a player dies}} {{begin-hl2msg|player_death|string}} {{hl2msg|sh...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4680</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4680"/>
		<updated>2007-06-08T21:44:55Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Hidden: Source Events */ moved to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Hidden:_Source_Events&amp;diff=4679</id>
		<title>Hidden: Source Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Hidden:_Source_Events&amp;diff=4679"/>
		<updated>2007-06-08T21:44:41Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Hidden: Source Events =  === player_death === {{qnotice|When a player dies}} {{begin-hl2msg|player_death|string}} {{hl2msg|s...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4678</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4678"/>
		<updated>2007-06-08T21:44:25Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* SourceForts Events */ moved to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=SourceForts_Events&amp;diff=4677</id>
		<title>SourceForts Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=SourceForts_Events&amp;diff=4677"/>
		<updated>2007-06-08T21:44:19Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = SourceForts Events =  === player_death === {{qnotice|When a player dies}} {{begin-hl2msg|player_death|string}} {{hl2msg|shor...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4676</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4676"/>
		<updated>2007-06-08T21:44:01Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Pirates, Vikings, Knights II Events */  moved to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Pirates,_Vikings,_Knights_II_Events&amp;diff=4675</id>
		<title>Pirates, Vikings, Knights II Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Pirates,_Vikings,_Knights_II_Events&amp;diff=4675"/>
		<updated>2007-06-08T21:43:52Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Pirates, Vikings, Knights II Events =  === player_death === {{qnotice|When player dies}} {{begin-hl2msg|player_death|string}...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4674</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4674"/>
		<updated>2007-06-08T21:43:34Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Dystopia Events */  removed to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Dystopia_Events&amp;diff=4673</id>
		<title>Dystopia Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Dystopia_Events&amp;diff=4673"/>
		<updated>2007-06-08T21:43:22Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Dystopia Events =  === player_death === {{qnotice|Player is killed in &amp;quot;real world&amp;quot;}} {{begin-hl2msg|player_death|string}} {{...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Dystopia Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|Player is killed in &amp;quot;real world&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|weapon_id}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== cyber_frag ===&lt;br /&gt;
{{qnotice|Player is killed while &amp;quot;hacking&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|cyber_frag|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|When a player selects class}}&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== objective ===&lt;br /&gt;
{{qnotice|When an objective is reached}}&lt;br /&gt;
{{begin-hl2msg|objective|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_restart ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|round_restart|string}}&lt;br /&gt;
{{hl2msg|byte|round}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_changemap ===&lt;br /&gt;
{{qnotice|When map changes}}&lt;br /&gt;
{{begin-hl2msg|dys_changemap|string}}&lt;br /&gt;
{{hl2msg|string|newmap}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_points ===&lt;br /&gt;
{{qnotice|When points are changed}}&lt;br /&gt;
{{begin-hl2msg|dys_points|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|points}}&lt;br /&gt;
{{hl2msg|short|method}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_weapon_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for weapons}}&lt;br /&gt;
{{begin-hl2msg|dys_weapon_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|long|weapons}}&lt;br /&gt;
{{hl2msg|string|p_shots}}&lt;br /&gt;
{{hl2msg|string|s_shots}}&lt;br /&gt;
{{hl2msg|string|p_hits}}&lt;br /&gt;
{{hl2msg|string|s_hits}}&lt;br /&gt;
{{hl2msg|string|p_damage}}&lt;br /&gt;
{{hl2msg|string|s_damage}}&lt;br /&gt;
{{hl2msg|string|p_headshots}}&lt;br /&gt;
{{hl2msg|string|s_headshots}}&lt;br /&gt;
{{hl2msg|string|p_kills}}&lt;br /&gt;
{{hl2msg|string|s_kills}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_implant_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for implants}}&lt;br /&gt;
{{begin-hl2msg|dys_implant_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|implants}}&lt;br /&gt;
{{hl2msg|string|energy}}&lt;br /&gt;
{{hl2msg|string|usage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_scoring_stats ===&lt;br /&gt;
{{qnotice|When stats are stored for scores}}&lt;br /&gt;
{{begin-hl2msg|dys_scoring_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|methods}}&lt;br /&gt;
{{hl2msg|string|points}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4672</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4672"/>
		<updated>2007-06-08T21:42:10Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Day of Defeat: Source Events */  - removed Day of Defeat Events to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Dystopia Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|Player is killed in &amp;quot;real world&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|weapon_id}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== cyber_frag ===&lt;br /&gt;
{{qnotice|Player is killed while &amp;quot;hacking&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|cyber_frag|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|When a player selects class}}&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== objective ===&lt;br /&gt;
{{qnotice|When an objective is reached}}&lt;br /&gt;
{{begin-hl2msg|objective|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_restart ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|round_restart|string}}&lt;br /&gt;
{{hl2msg|byte|round}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_changemap ===&lt;br /&gt;
{{qnotice|When map changes}}&lt;br /&gt;
{{begin-hl2msg|dys_changemap|string}}&lt;br /&gt;
{{hl2msg|string|newmap}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_points ===&lt;br /&gt;
{{qnotice|When points are changed}}&lt;br /&gt;
{{begin-hl2msg|dys_points|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|points}}&lt;br /&gt;
{{hl2msg|short|method}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_weapon_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for weapons}}&lt;br /&gt;
{{begin-hl2msg|dys_weapon_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|long|weapons}}&lt;br /&gt;
{{hl2msg|string|p_shots}}&lt;br /&gt;
{{hl2msg|string|s_shots}}&lt;br /&gt;
{{hl2msg|string|p_hits}}&lt;br /&gt;
{{hl2msg|string|s_hits}}&lt;br /&gt;
{{hl2msg|string|p_damage}}&lt;br /&gt;
{{hl2msg|string|s_damage}}&lt;br /&gt;
{{hl2msg|string|p_headshots}}&lt;br /&gt;
{{hl2msg|string|s_headshots}}&lt;br /&gt;
{{hl2msg|string|p_kills}}&lt;br /&gt;
{{hl2msg|string|s_kills}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_implant_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for implants}}&lt;br /&gt;
{{begin-hl2msg|dys_implant_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|implants}}&lt;br /&gt;
{{hl2msg|string|energy}}&lt;br /&gt;
{{hl2msg|string|usage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_scoring_stats ===&lt;br /&gt;
{{qnotice|When stats are stored for scores}}&lt;br /&gt;
{{begin-hl2msg|dys_scoring_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|methods}}&lt;br /&gt;
{{hl2msg|string|points}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Day_of_Defeat:_Source_Events&amp;diff=4671</id>
		<title>Day of Defeat: Source Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Day_of_Defeat:_Source_Events&amp;diff=4671"/>
		<updated>2007-06-08T21:41:32Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Day of Defeat: Source Events =  === player_death === {{qnotice|When a player dies}} {{begin-hl2msg|player_death|string}} {{h...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Day of Defeat: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|damage}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changeclass ===&lt;br /&gt;
{{qnotice|When a player changes to a different class}}&lt;br /&gt;
{{begin-hl2msg|player_changeclass|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_active ===&lt;br /&gt;
{{qnotice|When the round becomes active after the &amp;quot;frozen&amp;quot; time}}&lt;br /&gt;
{{begin-hl2msg|dod_round_active|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_hint ===&lt;br /&gt;
{{qnotice|When a hint occurs}}&lt;br /&gt;
{{begin-hl2msg|dod_hint|string}}&lt;br /&gt;
{{hl2msg|string|hintmessage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_begins ===&lt;br /&gt;
{{qnotice|When warmup begins}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_begins|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_ends ===&lt;br /&gt;
{{qnotice|When warmup ends}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_ends|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_restart_round ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|dod_restart_round|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_ready_restart ===&lt;br /&gt;
{{qnotice|When the ready players trigger restart}}&lt;br /&gt;
{{begin-hl2msg|dod_ready_restart|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_allies_ready ===&lt;br /&gt;
{{qnotice|When allies are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_allies_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_axis_ready ===&lt;br /&gt;
{{qnotice|When axis are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_axis_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_restart_seconds ===&lt;br /&gt;
{{qnotice|When round restart is set}}&lt;br /&gt;
{{begin-hl2msg|dod_round_restart_seconds|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_team_scores ===&lt;br /&gt;
{{qnotice|When a team scores (wins)}}&lt;br /&gt;
{{begin-hl2msg|dod_team_scores|string}}&lt;br /&gt;
{{hl2msg|short|allies_caps}}&lt;br /&gt;
{{hl2msg|short|allies_tick}}&lt;br /&gt;
{{hl2msg|byte|allies_players}}&lt;br /&gt;
{{hl2msg|short|axis_caps}}&lt;br /&gt;
{{hl2msg|short|axis_tick}}&lt;br /&gt;
{{hl2msg|byte|axis_players}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_point_captured ===&lt;br /&gt;
{{qnotice|When a flag/point is captured}}&lt;br /&gt;
{{begin-hl2msg|dod_point_captured|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|string|cappers}}&lt;br /&gt;
{{hl2msg|bool|bomb}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_capture_blocked ===&lt;br /&gt;
{{qnotice|When a capture is blocked}}&lt;br /&gt;
{{begin-hl2msg|dod_capture_blocked|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|byte|blocker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_win ===&lt;br /&gt;
{{qnotice|When a round is won}}&lt;br /&gt;
{{begin-hl2msg|dod_round_win|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tick_points ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_tick_points|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|score}}&lt;br /&gt;
{{hl2msg|short|totalscore}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_game_over ===&lt;br /&gt;
{{qnotice|When the map ends}}&lt;br /&gt;
{{begin-hl2msg|dod_game_over|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_broadcast_audio ===&lt;br /&gt;
{{qnotice|When audio is broadcasted}}&lt;br /&gt;
{{begin-hl2msg|dod_broadcast_audio|string}}&lt;br /&gt;
{{hl2msg|string|sound}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_weapon_attack ===&lt;br /&gt;
{{qnotice|When a player attacks with a weapon}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_weapon_attack|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_damage ===&lt;br /&gt;
{{qnotice|When a player damages another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_damage|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|short|damage}}&lt;br /&gt;
{{hl2msg|byte|damage_given}}&lt;br /&gt;
{{hl2msg|float|distance}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_killed ===&lt;br /&gt;
{{qnotice|When a player kills another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_killed|string}}&lt;br /&gt;
{{hl2msg|byte|attacker}}&lt;br /&gt;
{{hl2msg|byte|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_win_panel ===&lt;br /&gt;
{{qnotice|When the scoreboard is shown after map end}}&lt;br /&gt;
{{begin-hl2msg|dod_win_panel|string}}&lt;br /&gt;
{{hl2msg|bool|show_timer_defend}}&lt;br /&gt;
{{hl2msg|bool|show_timer_attack}}&lt;br /&gt;
{{hl2msg|short|timer_time}}&lt;br /&gt;
{{hl2msg|byte|final_event}}&lt;br /&gt;
{{hl2msg|byte|category_left}}&lt;br /&gt;
{{hl2msg|byte|left_1}}&lt;br /&gt;
{{hl2msg|byte|left_score_1}}&lt;br /&gt;
{{hl2msg|byte|left_2}}&lt;br /&gt;
{{hl2msg|byte|left_score_2}}&lt;br /&gt;
{{hl2msg|byte|left_3}}&lt;br /&gt;
{{hl2msg|byte|left_score_3}}&lt;br /&gt;
{{hl2msg|byte|category_right}}&lt;br /&gt;
{{hl2msg|byte|right_1}}&lt;br /&gt;
{{hl2msg|byte|right_score_1}}&lt;br /&gt;
{{hl2msg|byte|right_2}}&lt;br /&gt;
{{hl2msg|byte|right_score_2}}&lt;br /&gt;
{{hl2msg|byte|right_3}}&lt;br /&gt;
{{hl2msg|byte|right_score_3}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_time_added ===&lt;br /&gt;
{{qnotice|When time is added (in bombing maps)}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_time_added|string}}&lt;br /&gt;
{{hl2msg|short|seconds_added}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_flash ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_flash|string}}&lt;br /&gt;
{{hl2msg|short|time_remaining}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_map_time_remaining ===&lt;br /&gt;
{{qnotice|Time remaining on map}}&lt;br /&gt;
{{begin-hl2msg|dod_map_time_remaining|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tnt_pickup ===&lt;br /&gt;
{{qnotice|When TNT is picked up}}&lt;br /&gt;
{{begin-hl2msg|dod_tnt_pickup|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_planted ===&lt;br /&gt;
{{qnotice|When TNT is placed on an objective}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_planted|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_exploded ===&lt;br /&gt;
{{qnotice|When TNT explodes}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_defused ===&lt;br /&gt;
{{qnotice|When TNT is defused}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_defused|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_planter ===&lt;br /&gt;
{{qnotice|When the planter of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_planter|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_defuser ===&lt;br /&gt;
{{qnotice|When the defuser of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_defuser|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4670</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4670"/>
		<updated>2007-06-08T21:40:20Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Game Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Game Events =&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
= Day of Defeat: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|damage}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changeclass ===&lt;br /&gt;
{{qnotice|When a player changes to a different class}}&lt;br /&gt;
{{begin-hl2msg|player_changeclass|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_active ===&lt;br /&gt;
{{qnotice|When the round becomes active after the &amp;quot;frozen&amp;quot; time}}&lt;br /&gt;
{{begin-hl2msg|dod_round_active|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_hint ===&lt;br /&gt;
{{qnotice|When a hint occurs}}&lt;br /&gt;
{{begin-hl2msg|dod_hint|string}}&lt;br /&gt;
{{hl2msg|string|hintmessage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_begins ===&lt;br /&gt;
{{qnotice|When warmup begins}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_begins|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_ends ===&lt;br /&gt;
{{qnotice|When warmup ends}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_ends|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_restart_round ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|dod_restart_round|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_ready_restart ===&lt;br /&gt;
{{qnotice|When the ready players trigger restart}}&lt;br /&gt;
{{begin-hl2msg|dod_ready_restart|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_allies_ready ===&lt;br /&gt;
{{qnotice|When allies are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_allies_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_axis_ready ===&lt;br /&gt;
{{qnotice|When axis are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_axis_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_restart_seconds ===&lt;br /&gt;
{{qnotice|When round restart is set}}&lt;br /&gt;
{{begin-hl2msg|dod_round_restart_seconds|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_team_scores ===&lt;br /&gt;
{{qnotice|When a team scores (wins)}}&lt;br /&gt;
{{begin-hl2msg|dod_team_scores|string}}&lt;br /&gt;
{{hl2msg|short|allies_caps}}&lt;br /&gt;
{{hl2msg|short|allies_tick}}&lt;br /&gt;
{{hl2msg|byte|allies_players}}&lt;br /&gt;
{{hl2msg|short|axis_caps}}&lt;br /&gt;
{{hl2msg|short|axis_tick}}&lt;br /&gt;
{{hl2msg|byte|axis_players}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_point_captured ===&lt;br /&gt;
{{qnotice|When a flag/point is captured}}&lt;br /&gt;
{{begin-hl2msg|dod_point_captured|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|string|cappers}}&lt;br /&gt;
{{hl2msg|bool|bomb}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_capture_blocked ===&lt;br /&gt;
{{qnotice|When a capture is blocked}}&lt;br /&gt;
{{begin-hl2msg|dod_capture_blocked|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|byte|blocker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_win ===&lt;br /&gt;
{{qnotice|When a round is won}}&lt;br /&gt;
{{begin-hl2msg|dod_round_win|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tick_points ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_tick_points|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|score}}&lt;br /&gt;
{{hl2msg|short|totalscore}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_game_over ===&lt;br /&gt;
{{qnotice|When the map ends}}&lt;br /&gt;
{{begin-hl2msg|dod_game_over|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_broadcast_audio ===&lt;br /&gt;
{{qnotice|When audio is broadcasted}}&lt;br /&gt;
{{begin-hl2msg|dod_broadcast_audio|string}}&lt;br /&gt;
{{hl2msg|string|sound}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_weapon_attack ===&lt;br /&gt;
{{qnotice|When a player attacks with a weapon}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_weapon_attack|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_damage ===&lt;br /&gt;
{{qnotice|When a player damages another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_damage|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|short|damage}}&lt;br /&gt;
{{hl2msg|byte|damage_given}}&lt;br /&gt;
{{hl2msg|float|distance}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_killed ===&lt;br /&gt;
{{qnotice|When a player kills another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_killed|string}}&lt;br /&gt;
{{hl2msg|byte|attacker}}&lt;br /&gt;
{{hl2msg|byte|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_win_panel ===&lt;br /&gt;
{{qnotice|When the scoreboard is shown after map end}}&lt;br /&gt;
{{begin-hl2msg|dod_win_panel|string}}&lt;br /&gt;
{{hl2msg|bool|show_timer_defend}}&lt;br /&gt;
{{hl2msg|bool|show_timer_attack}}&lt;br /&gt;
{{hl2msg|short|timer_time}}&lt;br /&gt;
{{hl2msg|byte|final_event}}&lt;br /&gt;
{{hl2msg|byte|category_left}}&lt;br /&gt;
{{hl2msg|byte|left_1}}&lt;br /&gt;
{{hl2msg|byte|left_score_1}}&lt;br /&gt;
{{hl2msg|byte|left_2}}&lt;br /&gt;
{{hl2msg|byte|left_score_2}}&lt;br /&gt;
{{hl2msg|byte|left_3}}&lt;br /&gt;
{{hl2msg|byte|left_score_3}}&lt;br /&gt;
{{hl2msg|byte|category_right}}&lt;br /&gt;
{{hl2msg|byte|right_1}}&lt;br /&gt;
{{hl2msg|byte|right_score_1}}&lt;br /&gt;
{{hl2msg|byte|right_2}}&lt;br /&gt;
{{hl2msg|byte|right_score_2}}&lt;br /&gt;
{{hl2msg|byte|right_3}}&lt;br /&gt;
{{hl2msg|byte|right_score_3}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_time_added ===&lt;br /&gt;
{{qnotice|When time is added (in bombing maps)}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_time_added|string}}&lt;br /&gt;
{{hl2msg|short|seconds_added}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_flash ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_flash|string}}&lt;br /&gt;
{{hl2msg|short|time_remaining}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_map_time_remaining ===&lt;br /&gt;
{{qnotice|Time remaining on map}}&lt;br /&gt;
{{begin-hl2msg|dod_map_time_remaining|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tnt_pickup ===&lt;br /&gt;
{{qnotice|When TNT is picked up}}&lt;br /&gt;
{{begin-hl2msg|dod_tnt_pickup|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_planted ===&lt;br /&gt;
{{qnotice|When TNT is placed on an objective}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_planted|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_exploded ===&lt;br /&gt;
{{qnotice|When TNT explodes}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_defused ===&lt;br /&gt;
{{qnotice|When TNT is defused}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_defused|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_planter ===&lt;br /&gt;
{{qnotice|When the planter of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_planter|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_defuser ===&lt;br /&gt;
{{qnotice|When the defuser of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_defuser|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Dystopia Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|Player is killed in &amp;quot;real world&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|weapon_id}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== cyber_frag ===&lt;br /&gt;
{{qnotice|Player is killed while &amp;quot;hacking&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|cyber_frag|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|When a player selects class}}&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== objective ===&lt;br /&gt;
{{qnotice|When an objective is reached}}&lt;br /&gt;
{{begin-hl2msg|objective|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_restart ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|round_restart|string}}&lt;br /&gt;
{{hl2msg|byte|round}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_changemap ===&lt;br /&gt;
{{qnotice|When map changes}}&lt;br /&gt;
{{begin-hl2msg|dys_changemap|string}}&lt;br /&gt;
{{hl2msg|string|newmap}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_points ===&lt;br /&gt;
{{qnotice|When points are changed}}&lt;br /&gt;
{{begin-hl2msg|dys_points|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|points}}&lt;br /&gt;
{{hl2msg|short|method}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_weapon_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for weapons}}&lt;br /&gt;
{{begin-hl2msg|dys_weapon_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|long|weapons}}&lt;br /&gt;
{{hl2msg|string|p_shots}}&lt;br /&gt;
{{hl2msg|string|s_shots}}&lt;br /&gt;
{{hl2msg|string|p_hits}}&lt;br /&gt;
{{hl2msg|string|s_hits}}&lt;br /&gt;
{{hl2msg|string|p_damage}}&lt;br /&gt;
{{hl2msg|string|s_damage}}&lt;br /&gt;
{{hl2msg|string|p_headshots}}&lt;br /&gt;
{{hl2msg|string|s_headshots}}&lt;br /&gt;
{{hl2msg|string|p_kills}}&lt;br /&gt;
{{hl2msg|string|s_kills}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_implant_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for implants}}&lt;br /&gt;
{{begin-hl2msg|dys_implant_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|implants}}&lt;br /&gt;
{{hl2msg|string|energy}}&lt;br /&gt;
{{hl2msg|string|usage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_scoring_stats ===&lt;br /&gt;
{{qnotice|When stats are stored for scores}}&lt;br /&gt;
{{begin-hl2msg|dys_scoring_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|methods}}&lt;br /&gt;
{{hl2msg|string|points}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4669</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4669"/>
		<updated>2007-06-08T21:40:05Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */  - moved to own page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
== Game Events ==&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Day of Defeat: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|damage}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changeclass ===&lt;br /&gt;
{{qnotice|When a player changes to a different class}}&lt;br /&gt;
{{begin-hl2msg|player_changeclass|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_active ===&lt;br /&gt;
{{qnotice|When the round becomes active after the &amp;quot;frozen&amp;quot; time}}&lt;br /&gt;
{{begin-hl2msg|dod_round_active|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_hint ===&lt;br /&gt;
{{qnotice|When a hint occurs}}&lt;br /&gt;
{{begin-hl2msg|dod_hint|string}}&lt;br /&gt;
{{hl2msg|string|hintmessage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_begins ===&lt;br /&gt;
{{qnotice|When warmup begins}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_begins|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_ends ===&lt;br /&gt;
{{qnotice|When warmup ends}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_ends|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_restart_round ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|dod_restart_round|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_ready_restart ===&lt;br /&gt;
{{qnotice|When the ready players trigger restart}}&lt;br /&gt;
{{begin-hl2msg|dod_ready_restart|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_allies_ready ===&lt;br /&gt;
{{qnotice|When allies are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_allies_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_axis_ready ===&lt;br /&gt;
{{qnotice|When axis are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_axis_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_restart_seconds ===&lt;br /&gt;
{{qnotice|When round restart is set}}&lt;br /&gt;
{{begin-hl2msg|dod_round_restart_seconds|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_team_scores ===&lt;br /&gt;
{{qnotice|When a team scores (wins)}}&lt;br /&gt;
{{begin-hl2msg|dod_team_scores|string}}&lt;br /&gt;
{{hl2msg|short|allies_caps}}&lt;br /&gt;
{{hl2msg|short|allies_tick}}&lt;br /&gt;
{{hl2msg|byte|allies_players}}&lt;br /&gt;
{{hl2msg|short|axis_caps}}&lt;br /&gt;
{{hl2msg|short|axis_tick}}&lt;br /&gt;
{{hl2msg|byte|axis_players}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_point_captured ===&lt;br /&gt;
{{qnotice|When a flag/point is captured}}&lt;br /&gt;
{{begin-hl2msg|dod_point_captured|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|string|cappers}}&lt;br /&gt;
{{hl2msg|bool|bomb}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_capture_blocked ===&lt;br /&gt;
{{qnotice|When a capture is blocked}}&lt;br /&gt;
{{begin-hl2msg|dod_capture_blocked|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|byte|blocker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_win ===&lt;br /&gt;
{{qnotice|When a round is won}}&lt;br /&gt;
{{begin-hl2msg|dod_round_win|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tick_points ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_tick_points|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|score}}&lt;br /&gt;
{{hl2msg|short|totalscore}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_game_over ===&lt;br /&gt;
{{qnotice|When the map ends}}&lt;br /&gt;
{{begin-hl2msg|dod_game_over|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_broadcast_audio ===&lt;br /&gt;
{{qnotice|When audio is broadcasted}}&lt;br /&gt;
{{begin-hl2msg|dod_broadcast_audio|string}}&lt;br /&gt;
{{hl2msg|string|sound}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_weapon_attack ===&lt;br /&gt;
{{qnotice|When a player attacks with a weapon}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_weapon_attack|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_damage ===&lt;br /&gt;
{{qnotice|When a player damages another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_damage|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|short|damage}}&lt;br /&gt;
{{hl2msg|byte|damage_given}}&lt;br /&gt;
{{hl2msg|float|distance}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_killed ===&lt;br /&gt;
{{qnotice|When a player kills another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_killed|string}}&lt;br /&gt;
{{hl2msg|byte|attacker}}&lt;br /&gt;
{{hl2msg|byte|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_win_panel ===&lt;br /&gt;
{{qnotice|When the scoreboard is shown after map end}}&lt;br /&gt;
{{begin-hl2msg|dod_win_panel|string}}&lt;br /&gt;
{{hl2msg|bool|show_timer_defend}}&lt;br /&gt;
{{hl2msg|bool|show_timer_attack}}&lt;br /&gt;
{{hl2msg|short|timer_time}}&lt;br /&gt;
{{hl2msg|byte|final_event}}&lt;br /&gt;
{{hl2msg|byte|category_left}}&lt;br /&gt;
{{hl2msg|byte|left_1}}&lt;br /&gt;
{{hl2msg|byte|left_score_1}}&lt;br /&gt;
{{hl2msg|byte|left_2}}&lt;br /&gt;
{{hl2msg|byte|left_score_2}}&lt;br /&gt;
{{hl2msg|byte|left_3}}&lt;br /&gt;
{{hl2msg|byte|left_score_3}}&lt;br /&gt;
{{hl2msg|byte|category_right}}&lt;br /&gt;
{{hl2msg|byte|right_1}}&lt;br /&gt;
{{hl2msg|byte|right_score_1}}&lt;br /&gt;
{{hl2msg|byte|right_2}}&lt;br /&gt;
{{hl2msg|byte|right_score_2}}&lt;br /&gt;
{{hl2msg|byte|right_3}}&lt;br /&gt;
{{hl2msg|byte|right_score_3}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_time_added ===&lt;br /&gt;
{{qnotice|When time is added (in bombing maps)}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_time_added|string}}&lt;br /&gt;
{{hl2msg|short|seconds_added}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_flash ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_flash|string}}&lt;br /&gt;
{{hl2msg|short|time_remaining}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_map_time_remaining ===&lt;br /&gt;
{{qnotice|Time remaining on map}}&lt;br /&gt;
{{begin-hl2msg|dod_map_time_remaining|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tnt_pickup ===&lt;br /&gt;
{{qnotice|When TNT is picked up}}&lt;br /&gt;
{{begin-hl2msg|dod_tnt_pickup|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_planted ===&lt;br /&gt;
{{qnotice|When TNT is placed on an objective}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_planted|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_exploded ===&lt;br /&gt;
{{qnotice|When TNT explodes}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_defused ===&lt;br /&gt;
{{qnotice|When TNT is defused}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_defused|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_planter ===&lt;br /&gt;
{{qnotice|When the planter of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_planter|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_defuser ===&lt;br /&gt;
{{qnotice|When the defuser of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_defuser|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Dystopia Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|Player is killed in &amp;quot;real world&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|weapon_id}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== cyber_frag ===&lt;br /&gt;
{{qnotice|Player is killed while &amp;quot;hacking&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|cyber_frag|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|When a player selects class}}&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== objective ===&lt;br /&gt;
{{qnotice|When an objective is reached}}&lt;br /&gt;
{{begin-hl2msg|objective|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_restart ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|round_restart|string}}&lt;br /&gt;
{{hl2msg|byte|round}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_changemap ===&lt;br /&gt;
{{qnotice|When map changes}}&lt;br /&gt;
{{begin-hl2msg|dys_changemap|string}}&lt;br /&gt;
{{hl2msg|string|newmap}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_points ===&lt;br /&gt;
{{qnotice|When points are changed}}&lt;br /&gt;
{{begin-hl2msg|dys_points|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|points}}&lt;br /&gt;
{{hl2msg|short|method}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_weapon_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for weapons}}&lt;br /&gt;
{{begin-hl2msg|dys_weapon_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|long|weapons}}&lt;br /&gt;
{{hl2msg|string|p_shots}}&lt;br /&gt;
{{hl2msg|string|s_shots}}&lt;br /&gt;
{{hl2msg|string|p_hits}}&lt;br /&gt;
{{hl2msg|string|s_hits}}&lt;br /&gt;
{{hl2msg|string|p_damage}}&lt;br /&gt;
{{hl2msg|string|s_damage}}&lt;br /&gt;
{{hl2msg|string|p_headshots}}&lt;br /&gt;
{{hl2msg|string|s_headshots}}&lt;br /&gt;
{{hl2msg|string|p_kills}}&lt;br /&gt;
{{hl2msg|string|s_kills}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_implant_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for implants}}&lt;br /&gt;
{{begin-hl2msg|dys_implant_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|implants}}&lt;br /&gt;
{{hl2msg|string|energy}}&lt;br /&gt;
{{hl2msg|string|usage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_scoring_stats ===&lt;br /&gt;
{{qnotice|When stats are stored for scores}}&lt;br /&gt;
{{begin-hl2msg|dys_scoring_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|methods}}&lt;br /&gt;
{{hl2msg|string|points}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Counter-Strike:_Source_Events&amp;diff=4668</id>
		<title>Counter-Strike: Source Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Counter-Strike:_Source_Events&amp;diff=4668"/>
		<updated>2007-06-08T21:39:32Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: :''Refer back to Game Events (Source) for more events.''  = Counter-Strike: Source Events = === player_death === {{qnotice|When a client dies}} {{begin-hl2msg|player_death|string}} {{h...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a client dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a client is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|armor}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|dmg_health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beginplant ===&lt;br /&gt;
{{qnotice|When the bomb is starting to get planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_beginplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortplant ===&lt;br /&gt;
{{qnotice|When the bomb planter stops planting the bomb}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_plant ===&lt;br /&gt;
{{qnotice|When the bomb has been planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_planted|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{hl2msg|short|posx}}&lt;br /&gt;
{{hl2msg|short|posy}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_defused ===&lt;br /&gt;
{{qnotice|When the bomb has been defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_defused|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_exploded ===&lt;br /&gt;
{{qnotice|When the bomb explodes}}&lt;br /&gt;
{{begin-hl2msg|bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_dropped ===&lt;br /&gt;
{{qnotice|When the bomb is dropped by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_dropped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_pickup ===&lt;br /&gt;
{{qnotice|When the bomb is picked up by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_begindefuse ===&lt;br /&gt;
{{qnotice|When the bomb is started to be defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_begindefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|bool|haskit}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortdefuse ===&lt;br /&gt;
{{qnotice|When the bomb defusal is stopped}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortdefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_follows ===&lt;br /&gt;
{{qnotice|When the hostage begins following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_follows|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_hurt ===&lt;br /&gt;
{{qnotice|When a hostage is damaged}}&lt;br /&gt;
{{begin-hl2msg|hostage_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_killed ===&lt;br /&gt;
{{qnotice|When a hostage is killed}}&lt;br /&gt;
{{begin-hl2msg|hostage_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued ===&lt;br /&gt;
{{qnotice|When a hostage is rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_stops_following ===&lt;br /&gt;
{{qnotice|When a hostage stops following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_stops_following|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued_all ===&lt;br /&gt;
{{qnotice|When all the hostages are rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued_all|string}}&lt;br /&gt;
{{hl2msg|''none''|''none''}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_call_for_help ===&lt;br /&gt;
{{qnotice|When the hostage calls for help}}&lt;br /&gt;
{{begin-hl2msg|hostage_call_for_help|string}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_escaped ===&lt;br /&gt;
{{qnotice|When the VIP escapes}}&lt;br /&gt;
{{begin-hl2msg|vip_escaped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_killed ===&lt;br /&gt;
{{qnotice|When the VIP is killed}}&lt;br /&gt;
{{begin-hl2msg|vip_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_radio ===&lt;br /&gt;
{{qnotice|When the player uses radio commands}}&lt;br /&gt;
{{begin-hl2msg|player_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|slot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beep ===&lt;br /&gt;
{{qnotice|Every time the bomb beep sound happens}}&lt;br /&gt;
{{begin-hl2msg|bomb_beep|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire_on_empty ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon and it's empty}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire_on_empty|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_reload ===&lt;br /&gt;
{{qnotice|Every time a client reloads their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_reload|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_zoom ===&lt;br /&gt;
{{qnotice|Every time a client zooms a scoped weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_zoom|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== item_pickup ===&lt;br /&gt;
{{qnotice|Every time an item is picked up (generally weapons)}}&lt;br /&gt;
{{begin-hl2msg|item_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|item}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== grenade_bounce ===&lt;br /&gt;
{{qnotice|Every time a grenade bounces}}&lt;br /&gt;
{{begin-hl2msg|grenade_bounce|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a hegrenade explodes}}&lt;br /&gt;
{{begin-hl2msg|hegrenade_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flashbang_detonate ===&lt;br /&gt;
{{qnotice|Every time a flashbang detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== smokegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a smokegrenade detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bullet_impact ===&lt;br /&gt;
{{qnotice|Every time a bullet hits something}}&lt;br /&gt;
{{begin-hl2msg|bullet_impact}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|x}}&lt;br /&gt;
{{hl2msg|float|y}}&lt;br /&gt;
{{hl2msg|float|z}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_footstep ===&lt;br /&gt;
{{qnotice|Every time a player takes a step}}&lt;br /&gt;
{{begin-hl2msg|player_footstep|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_jump ===&lt;br /&gt;
{{qnotice|Every time a player jumps}}&lt;br /&gt;
{{begin-hl2msg|player_jump|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_blind ===&lt;br /&gt;
{{qnotice|Every time a player is blinded by a flashbang}}&lt;br /&gt;
{{begin-hl2msg|player_blind|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_falldamage ===&lt;br /&gt;
{{qnotice|Every time a player takes damage due to a fall}}&lt;br /&gt;
{{begin-hl2msg|player_falldamage|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== door_moving ===&lt;br /&gt;
{{qnotice|Every time a door is put in motion (opened)}}&lt;br /&gt;
{{begin-hl2msg|door_moving|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_freeze_end ===&lt;br /&gt;
{{qnotice|When the round's mp_freezetime is up}}&lt;br /&gt;
{{begin-hl2msg|round_freeze_end|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_blocked ===&lt;br /&gt;
{{qnotice|''Guess: Called when an area is blocked by the nav of a map''}}&lt;br /&gt;
{{begin-hl2msg|nav_blocked|string}}&lt;br /&gt;
{{hl2msg|long|area}}&lt;br /&gt;
{{hl2msg|bool|blocked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_generate ===&lt;br /&gt;
{{qnotice|Called when a nav file does not exist for a map and bots are added}}&lt;br /&gt;
{{begin-hl2msg|nav_generate|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4667</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4667"/>
		<updated>2007-06-08T21:38:46Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* player_say */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Generic Source Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Generic Source Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
== Game Events ==&lt;br /&gt;
These are all the games that the Source engine covers.&lt;br /&gt;
* [[Counter-Strike: Source Events]]&lt;br /&gt;
* [[Day of Defeat: Source Events]]&lt;br /&gt;
* [[Dystopia Events]]&lt;br /&gt;
* [[Pirates, Vikings, Knights II Events]]&lt;br /&gt;
* [[SourceForts Events]]&lt;br /&gt;
* [[Hidden: Source Events]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
* [[Perfect Dark: Source]]&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a client dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a client is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|armor}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|dmg_health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beginplant ===&lt;br /&gt;
{{qnotice|When the bomb is starting to get planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_beginplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortplant ===&lt;br /&gt;
{{qnotice|When the bomb planter stops planting the bomb}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_plant ===&lt;br /&gt;
{{qnotice|When the bomb has been planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_planted|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{hl2msg|short|posx}}&lt;br /&gt;
{{hl2msg|short|posy}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_defused ===&lt;br /&gt;
{{qnotice|When the bomb has been defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_defused|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_exploded ===&lt;br /&gt;
{{qnotice|When the bomb explodes}}&lt;br /&gt;
{{begin-hl2msg|bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_dropped ===&lt;br /&gt;
{{qnotice|When the bomb is dropped by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_dropped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_pickup ===&lt;br /&gt;
{{qnotice|When the bomb is picked up by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_begindefuse ===&lt;br /&gt;
{{qnotice|When the bomb is started to be defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_begindefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|bool|haskit}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortdefuse ===&lt;br /&gt;
{{qnotice|When the bomb defusal is stopped}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortdefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_follows ===&lt;br /&gt;
{{qnotice|When the hostage begins following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_follows|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_hurt ===&lt;br /&gt;
{{qnotice|When a hostage is damaged}}&lt;br /&gt;
{{begin-hl2msg|hostage_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_killed ===&lt;br /&gt;
{{qnotice|When a hostage is killed}}&lt;br /&gt;
{{begin-hl2msg|hostage_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued ===&lt;br /&gt;
{{qnotice|When a hostage is rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_stops_following ===&lt;br /&gt;
{{qnotice|When a hostage stops following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_stops_following|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued_all ===&lt;br /&gt;
{{qnotice|When all the hostages are rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued_all|string}}&lt;br /&gt;
{{hl2msg|''none''|''none''}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_call_for_help ===&lt;br /&gt;
{{qnotice|When the hostage calls for help}}&lt;br /&gt;
{{begin-hl2msg|hostage_call_for_help|string}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_escaped ===&lt;br /&gt;
{{qnotice|When the VIP escapes}}&lt;br /&gt;
{{begin-hl2msg|vip_escaped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_killed ===&lt;br /&gt;
{{qnotice|When the VIP is killed}}&lt;br /&gt;
{{begin-hl2msg|vip_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_radio ===&lt;br /&gt;
{{qnotice|When the player uses radio commands}}&lt;br /&gt;
{{begin-hl2msg|player_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|slot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beep ===&lt;br /&gt;
{{qnotice|Every time the bomb beep sound happens}}&lt;br /&gt;
{{begin-hl2msg|bomb_beep|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire_on_empty ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon and it's empty}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire_on_empty|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_reload ===&lt;br /&gt;
{{qnotice|Every time a client reloads their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_reload|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_zoom ===&lt;br /&gt;
{{qnotice|Every time a client zooms a scoped weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_zoom|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== item_pickup ===&lt;br /&gt;
{{qnotice|Every time an item is picked up (generally weapons)}}&lt;br /&gt;
{{begin-hl2msg|item_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|item}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== grenade_bounce ===&lt;br /&gt;
{{qnotice|Every time a grenade bounces}}&lt;br /&gt;
{{begin-hl2msg|grenade_bounce|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a hegrenade explodes}}&lt;br /&gt;
{{begin-hl2msg|hegrenade_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flashbang_detonate ===&lt;br /&gt;
{{qnotice|Every time a flashbang detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== smokegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a smokegrenade detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bullet_impact ===&lt;br /&gt;
{{qnotice|Every time a bullet hits something}}&lt;br /&gt;
{{begin-hl2msg|bullet_impact}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|x}}&lt;br /&gt;
{{hl2msg|float|y}}&lt;br /&gt;
{{hl2msg|float|z}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_footstep ===&lt;br /&gt;
{{qnotice|Every time a player takes a step}}&lt;br /&gt;
{{begin-hl2msg|player_footstep|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_jump ===&lt;br /&gt;
{{qnotice|Every time a player jumps}}&lt;br /&gt;
{{begin-hl2msg|player_jump|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_blind ===&lt;br /&gt;
{{qnotice|Every time a player is blinded by a flashbang}}&lt;br /&gt;
{{begin-hl2msg|player_blind|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_falldamage ===&lt;br /&gt;
{{qnotice|Every time a player takes damage due to a fall}}&lt;br /&gt;
{{begin-hl2msg|player_falldamage|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== door_moving ===&lt;br /&gt;
{{qnotice|Every time a door is put in motion (opened)}}&lt;br /&gt;
{{begin-hl2msg|door_moving|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_freeze_end ===&lt;br /&gt;
{{qnotice|When the round's mp_freezetime is up}}&lt;br /&gt;
{{begin-hl2msg|round_freeze_end|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_blocked ===&lt;br /&gt;
{{qnotice|''Guess: Called when an area is blocked by the nav of a map''}}&lt;br /&gt;
{{begin-hl2msg|nav_blocked|string}}&lt;br /&gt;
{{hl2msg|long|area}}&lt;br /&gt;
{{hl2msg|bool|blocked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_generate ===&lt;br /&gt;
{{qnotice|Called when a nav file does not exist for a map and bots are added}}&lt;br /&gt;
{{begin-hl2msg|nav_generate|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Day of Defeat: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|damage}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changeclass ===&lt;br /&gt;
{{qnotice|When a player changes to a different class}}&lt;br /&gt;
{{begin-hl2msg|player_changeclass|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_active ===&lt;br /&gt;
{{qnotice|When the round becomes active after the &amp;quot;frozen&amp;quot; time}}&lt;br /&gt;
{{begin-hl2msg|dod_round_active|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_hint ===&lt;br /&gt;
{{qnotice|When a hint occurs}}&lt;br /&gt;
{{begin-hl2msg|dod_hint|string}}&lt;br /&gt;
{{hl2msg|string|hintmessage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_begins ===&lt;br /&gt;
{{qnotice|When warmup begins}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_begins|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_warmup_ends ===&lt;br /&gt;
{{qnotice|When warmup ends}}&lt;br /&gt;
{{begin-hl2msg|dod_warmup_ends|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_start ===&lt;br /&gt;
{{qnotice|When round starts}}&lt;br /&gt;
{{begin-hl2msg|dod_round_start|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_restart_round ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|dod_restart_round|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_ready_restart ===&lt;br /&gt;
{{qnotice|When the ready players trigger restart}}&lt;br /&gt;
{{begin-hl2msg|dod_ready_restart|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_allies_ready ===&lt;br /&gt;
{{qnotice|When allies are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_allies_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_axis_ready ===&lt;br /&gt;
{{qnotice|When axis are ready}}&lt;br /&gt;
{{begin-hl2msg|dod_axis_ready|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_restart_seconds ===&lt;br /&gt;
{{qnotice|When round restart is set}}&lt;br /&gt;
{{begin-hl2msg|dod_round_restart_seconds|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_team_scores ===&lt;br /&gt;
{{qnotice|When a team scores (wins)}}&lt;br /&gt;
{{begin-hl2msg|dod_team_scores|string}}&lt;br /&gt;
{{hl2msg|short|allies_caps}}&lt;br /&gt;
{{hl2msg|short|allies_tick}}&lt;br /&gt;
{{hl2msg|byte|allies_players}}&lt;br /&gt;
{{hl2msg|short|axis_caps}}&lt;br /&gt;
{{hl2msg|short|axis_tick}}&lt;br /&gt;
{{hl2msg|byte|axis_players}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_point_captured ===&lt;br /&gt;
{{qnotice|When a flag/point is captured}}&lt;br /&gt;
{{begin-hl2msg|dod_point_captured|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|string|cappers}}&lt;br /&gt;
{{hl2msg|bool|bomb}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_capture_blocked ===&lt;br /&gt;
{{qnotice|When a capture is blocked}}&lt;br /&gt;
{{begin-hl2msg|dod_capture_blocked|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|byte|blocker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_round_win ===&lt;br /&gt;
{{qnotice|When a round is won}}&lt;br /&gt;
{{begin-hl2msg|dod_round_win|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tick_points ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_tick_points|string}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|score}}&lt;br /&gt;
{{hl2msg|short|totalscore}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_game_over ===&lt;br /&gt;
{{qnotice|When the map ends}}&lt;br /&gt;
{{begin-hl2msg|dod_game_over|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_broadcast_audio ===&lt;br /&gt;
{{qnotice|When audio is broadcasted}}&lt;br /&gt;
{{begin-hl2msg|dod_broadcast_audio|string}}&lt;br /&gt;
{{hl2msg|string|sound}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_weapon_attack ===&lt;br /&gt;
{{qnotice|When a player attacks with a weapon}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_weapon_attack|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_damage ===&lt;br /&gt;
{{qnotice|When a player damages another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_damage|string}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|short|damage}}&lt;br /&gt;
{{hl2msg|byte|damage_given}}&lt;br /&gt;
{{hl2msg|float|distance}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_stats_player_killed ===&lt;br /&gt;
{{qnotice|When a player kills another}}&lt;br /&gt;
{{begin-hl2msg|dod_stats_player_killed|string}}&lt;br /&gt;
{{hl2msg|byte|attacker}}&lt;br /&gt;
{{hl2msg|byte|victim}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_win_panel ===&lt;br /&gt;
{{qnotice|When the scoreboard is shown after map end}}&lt;br /&gt;
{{begin-hl2msg|dod_win_panel|string}}&lt;br /&gt;
{{hl2msg|bool|show_timer_defend}}&lt;br /&gt;
{{hl2msg|bool|show_timer_attack}}&lt;br /&gt;
{{hl2msg|short|timer_time}}&lt;br /&gt;
{{hl2msg|byte|final_event}}&lt;br /&gt;
{{hl2msg|byte|category_left}}&lt;br /&gt;
{{hl2msg|byte|left_1}}&lt;br /&gt;
{{hl2msg|byte|left_score_1}}&lt;br /&gt;
{{hl2msg|byte|left_2}}&lt;br /&gt;
{{hl2msg|byte|left_score_2}}&lt;br /&gt;
{{hl2msg|byte|left_3}}&lt;br /&gt;
{{hl2msg|byte|left_score_3}}&lt;br /&gt;
{{hl2msg|byte|category_right}}&lt;br /&gt;
{{hl2msg|byte|right_1}}&lt;br /&gt;
{{hl2msg|byte|right_score_1}}&lt;br /&gt;
{{hl2msg|byte|right_2}}&lt;br /&gt;
{{hl2msg|byte|right_score_2}}&lt;br /&gt;
{{hl2msg|byte|right_3}}&lt;br /&gt;
{{hl2msg|byte|right_score_3}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_time_added ===&lt;br /&gt;
{{qnotice|When time is added (in bombing maps)}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_time_added|string}}&lt;br /&gt;
{{hl2msg|short|seconds_added}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_timer_flash ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|dod_timer_flash|string}}&lt;br /&gt;
{{hl2msg|short|time_remaining}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_map_time_remaining ===&lt;br /&gt;
{{qnotice|Time remaining on map}}&lt;br /&gt;
{{begin-hl2msg|dod_map_time_remaining|string}}&lt;br /&gt;
{{hl2msg|short|seconds}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_tnt_pickup ===&lt;br /&gt;
{{qnotice|When TNT is picked up}}&lt;br /&gt;
{{begin-hl2msg|dod_tnt_pickup|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_planted ===&lt;br /&gt;
{{qnotice|When TNT is placed on an objective}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_planted|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_exploded ===&lt;br /&gt;
{{qnotice|When TNT explodes}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_bomb_defused ===&lt;br /&gt;
{{qnotice|When TNT is defused}}&lt;br /&gt;
{{begin-hl2msg|dod_bomb_defused|string}}&lt;br /&gt;
{{hl2msg|byte|cp}}&lt;br /&gt;
{{hl2msg|string|cpname}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_planter ===&lt;br /&gt;
{{qnotice|When the planter of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_planter|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dod_kill_defuser ===&lt;br /&gt;
{{qnotice|When the defuser of TNT is killed}}&lt;br /&gt;
{{begin-hl2msg|dod_kill_defuser|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|victimid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Dystopia Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|Player is killed in &amp;quot;real world&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|short|weapon_id}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== cyber_frag ===&lt;br /&gt;
{{qnotice|Player is killed while &amp;quot;hacking&amp;quot;}}&lt;br /&gt;
{{begin-hl2msg|cyber_frag|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|When a player selects class}}&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== objective ===&lt;br /&gt;
{{qnotice|When an objective is reached}}&lt;br /&gt;
{{begin-hl2msg|objective|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_restart ===&lt;br /&gt;
{{qnotice|When round restarts}}&lt;br /&gt;
{{begin-hl2msg|round_restart|string}}&lt;br /&gt;
{{hl2msg|byte|round}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_changemap ===&lt;br /&gt;
{{qnotice|When map changes}}&lt;br /&gt;
{{begin-hl2msg|dys_changemap|string}}&lt;br /&gt;
{{hl2msg|string|newmap}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_points ===&lt;br /&gt;
{{qnotice|When points are changed}}&lt;br /&gt;
{{begin-hl2msg|dys_points|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|points}}&lt;br /&gt;
{{hl2msg|short|method}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_weapon_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for weapons}}&lt;br /&gt;
{{begin-hl2msg|dys_weapon_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|long|weapons}}&lt;br /&gt;
{{hl2msg|string|p_shots}}&lt;br /&gt;
{{hl2msg|string|s_shots}}&lt;br /&gt;
{{hl2msg|string|p_hits}}&lt;br /&gt;
{{hl2msg|string|s_hits}}&lt;br /&gt;
{{hl2msg|string|p_damage}}&lt;br /&gt;
{{hl2msg|string|s_damage}}&lt;br /&gt;
{{hl2msg|string|p_headshots}}&lt;br /&gt;
{{hl2msg|string|s_headshots}}&lt;br /&gt;
{{hl2msg|string|p_kills}}&lt;br /&gt;
{{hl2msg|string|s_kills}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_implant_stats ===&lt;br /&gt;
{{qnotice|When stats are logged for implants}}&lt;br /&gt;
{{begin-hl2msg|dys_implant_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|implants}}&lt;br /&gt;
{{hl2msg|string|energy}}&lt;br /&gt;
{{hl2msg|string|usage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== dys_scoring_stats ===&lt;br /&gt;
{{qnotice|When stats are stored for scores}}&lt;br /&gt;
{{begin-hl2msg|dys_scoring_stats|string}}&lt;br /&gt;
{{hl2msg|short|player}}&lt;br /&gt;
{{hl2msg|short|methods}}&lt;br /&gt;
{{hl2msg|string|points}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Pirates, Vikings, Knights II Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|When round ends}}&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|short|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= SourceForts Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_frozen ===&lt;br /&gt;
{{qnotice|When a building block becomes frozen}}&lt;br /&gt;
{{begin-hl2msg|block_frozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== block_unfrozen ===&lt;br /&gt;
{{qnotice|When a building block becomes unfrozen}}&lt;br /&gt;
{{begin-hl2msg|block_unfrozen|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|blockid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== phase_switch ===&lt;br /&gt;
{{qnotice|When the phase switches from build to play}}&lt;br /&gt;
{{begin-hl2msg|phase_switch|string}}&lt;br /&gt;
{{hl2msg|short|oldphase}}&lt;br /&gt;
{{hl2msg|short|newphase}}&lt;br /&gt;
{{hl2msg|short|phase_count}}&lt;br /&gt;
{{hl2msg|short|phase_left}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_grab ===&lt;br /&gt;
{{qnotice|When a player grabs the flag}}&lt;br /&gt;
{{begin-hl2msg|player_grab|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_drop ===&lt;br /&gt;
{{qnotice|When a player drops the flag}}&lt;br /&gt;
{{begin-hl2msg|player_drop|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|When a player captures a flag}}&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flag_return ===&lt;br /&gt;
{{qnotice|When flag is returned to original base}}&lt;br /&gt;
{{begin-hl2msg|flag_return|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|flagteam}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Hidden: Source Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a player is hurt}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{hl2msg|bool|hidden}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== alarm_trigger ===&lt;br /&gt;
{{qnotice|When an alarm is triggered}}&lt;br /&gt;
{{begin-hl2msg|alarm_trigger|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== material_check ===&lt;br /&gt;
{{qnotice|When the player's materials are checked}}&lt;br /&gt;
{{begin-hl2msg|material_check|string}}&lt;br /&gt;
{{hl2msg|long|vmt_CRC}}&lt;br /&gt;
{{hl2msg|long|bump_CRC}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_start ===&lt;br /&gt;
{{qnotice|When the extraction starts}}&lt;br /&gt;
{{begin-hl2msg|extraction_start|string}}&lt;br /&gt;
{{hl2msg|float|time}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== extraction_stop ===&lt;br /&gt;
{{qnotice|When the extraction stops}}&lt;br /&gt;
{{begin-hl2msg|extraction_stop|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_location ===&lt;br /&gt;
{{qnotice|When the player location changes}}&lt;br /&gt;
{{begin-hl2msg|player_location|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|location}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== iris_radio ===&lt;br /&gt;
{{qnotice|When iris_radio is used}}&lt;br /&gt;
{{begin-hl2msg|iris_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_restart ===&lt;br /&gt;
{{qnotice|When the round restarts}}&lt;br /&gt;
{{begin-hl2msg|game_round_restart|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_end ===&lt;br /&gt;
{{qnotice|When the round ends}}&lt;br /&gt;
{{begin-hl2msg|game_round_end|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_round_start ===&lt;br /&gt;
{{qnotice|When the round starts}}&lt;br /&gt;
{{begin-hl2msg|game_round_start|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Perfect Dark: Source =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a player dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|string|victimname}}&lt;br /&gt;
{{hl2msg|string|killername}}&lt;br /&gt;
{{hl2msg|short|kllstrk}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_activated ===&lt;br /&gt;
{{qnotice|When koth_hill is activated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_deactivated ===&lt;br /&gt;
{{qnotice|When koth_hill is deactivated}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_taken ===&lt;br /&gt;
{{qnotice|When koth_hill is taken}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_taken|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_close_to_capture ===&lt;br /&gt;
{{qnotice|When koth_hill is near capture}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_close_to_capture|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_captured ===&lt;br /&gt;
{{qnotice|When koth_hill is captured}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_captured|string}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== koth_hill_lost ===&lt;br /&gt;
{{qnotice|When koth_hill is lost}}&lt;br /&gt;
{{begin-hl2msg|koth_hill_lost|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== popacap_close_to_point ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|popacap_close_to_point|string}}&lt;br /&gt;
{{hl2msg|short|tick}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_activated ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_activated|string}}&lt;br /&gt;
{{hl2msg|float|posx}}&lt;br /&gt;
{{hl2msg|float|posy}}&lt;br /&gt;
{{hl2msg|float|posz}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{hl2msg|short|team}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ctb_spawn_deactivated ===&lt;br /&gt;
{{qnotice|''Uknown''}}&lt;br /&gt;
{{begin-hl2msg|ctb_spawn_deactivated|string}}&lt;br /&gt;
{{hl2msg|short|id}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_set ===&lt;br /&gt;
{{qnotice|When a player's weapon is set}}&lt;br /&gt;
{{begin-hl2msg|weapon_set|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|list}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Iron Grip Events =&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4658</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4658"/>
		<updated>2007-06-08T15:55:21Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* player_spawn */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_spawn|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable (func_break) is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|A client has entered the game (connected and loaded)}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a client dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a client is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|armor}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|dmg_health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beginplant ===&lt;br /&gt;
{{qnotice|When the bomb is starting to get planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_beginplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortplant ===&lt;br /&gt;
{{qnotice|When the bomb planter stops planting the bomb}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_plant ===&lt;br /&gt;
{{qnotice|When the bomb has been planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_planted|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{hl2msg|short|posx}}&lt;br /&gt;
{{hl2msg|short|posy}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_defused ===&lt;br /&gt;
{{qnotice|When the bomb has been defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_defused|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_exploded ===&lt;br /&gt;
{{qnotice|When the bomb explodes}}&lt;br /&gt;
{{begin-hl2msg|bomb_exploded|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_dropped ===&lt;br /&gt;
{{qnotice|When the bomb is dropped by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_dropped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_pickup ===&lt;br /&gt;
{{qnotice|When the bomb is picked up by a client}}&lt;br /&gt;
{{begin-hl2msg|bomb_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_begindefuse ===&lt;br /&gt;
{{qnotice|When the bomb is started to be defused}}&lt;br /&gt;
{{begin-hl2msg|bomb_begindefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|bool|haskit}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortdefuse ===&lt;br /&gt;
{{qnotice|When the bomb defusal is stopped}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortdefuse|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_follows ===&lt;br /&gt;
{{qnotice|When the hostage begins following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_follows|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_hurt ===&lt;br /&gt;
{{qnotice|When a hostage is damaged}}&lt;br /&gt;
{{begin-hl2msg|hostage_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_killed ===&lt;br /&gt;
{{qnotice|When a hostage is killed}}&lt;br /&gt;
{{begin-hl2msg|hostage_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued ===&lt;br /&gt;
{{qnotice|When a hostage is rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_stops_following ===&lt;br /&gt;
{{qnotice|When a hostage stops following a client}}&lt;br /&gt;
{{begin-hl2msg|hostage_stops_following|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_rescued_all ===&lt;br /&gt;
{{qnotice|When all the hostages are rescued}}&lt;br /&gt;
{{begin-hl2msg|hostage_rescued_all|string}}&lt;br /&gt;
{{hl2msg|''none''|''none''}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hostage_call_for_help ===&lt;br /&gt;
{{qnotice|When the hostage calls for help}}&lt;br /&gt;
{{begin-hl2msg|hostage_call_for_help|string}}&lt;br /&gt;
{{hl2msg|short|hostage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_escaped ===&lt;br /&gt;
{{qnotice|When the VIP escapes}}&lt;br /&gt;
{{begin-hl2msg|vip_escaped|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== vip_killed ===&lt;br /&gt;
{{qnotice|When the VIP is killed}}&lt;br /&gt;
{{begin-hl2msg|vip_killed|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_radio ===&lt;br /&gt;
{{qnotice|When the player uses radio commands}}&lt;br /&gt;
{{begin-hl2msg|player_radio|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|slot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beep ===&lt;br /&gt;
{{qnotice|Every time the bomb beep sound happens}}&lt;br /&gt;
{{begin-hl2msg|bomb_beep|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_fire_on_empty ===&lt;br /&gt;
{{qnotice|Every time a client fires their weapon and it's empty}}&lt;br /&gt;
{{begin-hl2msg|weapon_fire_on_empty|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_reload ===&lt;br /&gt;
{{qnotice|Every time a client reloads their weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_reload|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== weapon_zoom ===&lt;br /&gt;
{{qnotice|Every time a client zooms a scoped weapon}}&lt;br /&gt;
{{begin-hl2msg|weapon_zoom|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== item_pickup ===&lt;br /&gt;
{{qnotice|Every time an item is picked up (generally weapons)}}&lt;br /&gt;
{{begin-hl2msg|item_pickup|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|item}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== grenade_bounce ===&lt;br /&gt;
{{qnotice|Every time a grenade bounces}}&lt;br /&gt;
{{begin-hl2msg|grenade_bounce|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== hegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a hegrenade explodes}}&lt;br /&gt;
{{begin-hl2msg|hegrenade_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== flashbang_detonate ===&lt;br /&gt;
{{qnotice|Every time a flashbang detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== smokegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a smokegrenade detonates}}&lt;br /&gt;
{{begin-hl2msg|flashbang_detonate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bullet_impact ===&lt;br /&gt;
{{qnotice|Every time a bullet hits something}}&lt;br /&gt;
{{begin-hl2msg|bullet_impact}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|x}}&lt;br /&gt;
{{hl2msg|float|y}}&lt;br /&gt;
{{hl2msg|float|z}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_footstep ===&lt;br /&gt;
{{qnotice|Every time a player takes a step}}&lt;br /&gt;
{{begin-hl2msg|player_footstep|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_jump ===&lt;br /&gt;
{{qnotice|Every time a player jumps}}&lt;br /&gt;
{{begin-hl2msg|player_jump|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_blind ===&lt;br /&gt;
{{qnotice|Every time a player is blinded by a flashbang}}&lt;br /&gt;
{{begin-hl2msg|player_blind|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_falldamage ===&lt;br /&gt;
{{qnotice|Every time a player takes damage due to a fall}}&lt;br /&gt;
{{begin-hl2msg|player_falldamage|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|float|damage}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== door_moving ===&lt;br /&gt;
{{qnotice|Every time a door is put in motion (opened)}}&lt;br /&gt;
{{begin-hl2msg|door_moving|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_freeze_end ===&lt;br /&gt;
{{qnotice|When the round's mp_freezetime is up}}&lt;br /&gt;
{{begin-hl2msg|round_freeze_end|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_blocked ===&lt;br /&gt;
{{qnotice|''Guess: Called when an area is blocked by the nav of a map''}}&lt;br /&gt;
{{begin-hl2msg|nav_blocked|string}}&lt;br /&gt;
{{hl2msg|long|area}}&lt;br /&gt;
{{hl2msg|bool|blocked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== nav_generate ===&lt;br /&gt;
{{qnotice|Called when a nav file does not exist for a map and bots are added}}&lt;br /&gt;
{{begin-hl2msg|nav_generate|string}}&lt;br /&gt;
{{hl2msg|none|none}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4625</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4625"/>
		<updated>2007-06-08T05:20:14Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Half-Life 2 Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|The round started}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|The round ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_message ===&lt;br /&gt;
{{qnotice|A game message}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_message|string}}&lt;br /&gt;
{{hl2msg|byte|target}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_breakable ===&lt;br /&gt;
{{qnotice|A breakable is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_breakable|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|material}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== break_prop ===&lt;br /&gt;
{{qnotice|A breakable prop is broken.}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|break_prop|string}}&lt;br /&gt;
{{hl2msg|long|entindex}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a client dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a client is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|armor}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|dmg_health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_beginplant ===&lt;br /&gt;
{{qnotice|When the bomb is starting to get planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_beginplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_abortplant ===&lt;br /&gt;
{{qnotice|When the bomb planter stops planting the bomb}}&lt;br /&gt;
{{begin-hl2msg|bomb_abortplant|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== bomb_plant ===&lt;br /&gt;
{{qnotice|When the bomb has been planted}}&lt;br /&gt;
{{begin-hl2msg|bomb_planted|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|site}}&lt;br /&gt;
{{hl2msg|short|posx}}&lt;br /&gt;
{{hl2msg|short|posy}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4623</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4623"/>
		<updated>2007-06-08T05:16:00Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Half-Life 2 Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_newmap ===&lt;br /&gt;
{{qnotice|Send when new map is completely loaded}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_newmap|string}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_start ===&lt;br /&gt;
{{qnotice|A new game starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_start|string}}&lt;br /&gt;
{{hl2msg|long|roundslimit}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== game_end ===&lt;br /&gt;
{{qnotice|A game ended}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|game_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_start ===&lt;br /&gt;
{{qnotice|round_start}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|long|timelimit}}&lt;br /&gt;
{{hl2msg|long|fraglimit}}&lt;br /&gt;
{{hl2msg|string|objective}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== round_end ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|round_end|string}}&lt;br /&gt;
{{hl2msg|byte|winner}}&lt;br /&gt;
{{hl2msg|byte|reason}}&lt;br /&gt;
{{hl2msg|string|message}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|When a client dies}}&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|bool|headshot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|When a client is damaged}}&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{hl2msg|byte|armor}}&lt;br /&gt;
{{hl2msg|string|weapon}}&lt;br /&gt;
{{hl2msg|byte|dmg_health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4621</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4621"/>
		<updated>2007-06-08T05:08:37Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* player_use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|When a player uses an option}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4620</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4620"/>
		<updated>2007-06-08T05:08:00Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Half-Life 2 Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|???}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_changename ===&lt;br /&gt;
{{qnotice|Player changed name}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_changename|string}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|oldname}}&lt;br /&gt;
{{hl2msg|string|newname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4619</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4619"/>
		<updated>2007-06-08T05:06:18Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Half-Life 2 Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|???}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4618</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4618"/>
		<updated>2007-06-08T05:06:08Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4617</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4617"/>
		<updated>2007-06-08T05:05:48Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_connect ===&lt;br /&gt;
{{qnotice|A new player connected}}&lt;br /&gt;
{{begin-hl2msg|player_connect|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_info ===&lt;br /&gt;
{{qnotice|A player changed his name}}&lt;br /&gt;
{{begin-hl2msg|player_info|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|byte|index}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|bool|bot}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_disconnect ===&lt;br /&gt;
{{qnotice|A client was disconnected}}&lt;br /&gt;
{{begin-hl2msg|player_disconnect|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_activate ===&lt;br /&gt;
{{qnotice|''Unknown''}}&lt;br /&gt;
{{begin-hl2msg|player_activate|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_say ===&lt;br /&gt;
{{qnotice|When a client sends a message in chat}}&lt;br /&gt;
{{begin-hl2msg|player_say|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_spawn ===&lt;br /&gt;
{{qnotice|player spawned in game}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_shoot ===&lt;br /&gt;
{{qnotice|Player shoot his weapon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_shoot|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|weapon}}&lt;br /&gt;
{{hl2msg|byte|mode}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_use ===&lt;br /&gt;
{{qnotice|???}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_use|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|entity}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4614</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4614"/>
		<updated>2007-06-08T04:59:06Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_score ===&lt;br /&gt;
{{qnotice|Players scores changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_score|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|kills}}&lt;br /&gt;
{{hl2msg|short|deaths}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4613</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4613"/>
		<updated>2007-06-08T04:56:30Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_shutdown ===&lt;br /&gt;
{{qnotice|Server shut down}}&lt;br /&gt;
{{begin-hl2msg|server_shutdown|string}}&lt;br /&gt;
{{hl2msg|string|reason}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_cvar ===&lt;br /&gt;
{{qnotice|A server console var has changed}}&lt;br /&gt;
{{begin-hl2msg|server_cvar|string}}&lt;br /&gt;
{{hl2msg|string|cvarname}}&lt;br /&gt;
{{hl2msg|string|cvarvalue}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_msg ===&lt;br /&gt;
{{qnotice|A generic server message}}&lt;br /&gt;
{{begin-hl2msg|server_message|string}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_addban ===&lt;br /&gt;
{{qnotice|When the server has a ban added}}&lt;br /&gt;
{{begin-hl2msg|server_addban|string}}&lt;br /&gt;
{{hl2msg|string|name}}&lt;br /&gt;
{{hl2msg|string|userid}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|string|duration}}&lt;br /&gt;
{{hl2msg|string|by}}&lt;br /&gt;
{{hl2msg|bool|kicked}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== server_removeban ===&lt;br /&gt;
{{qnotice|When the server has a ban removed}}&lt;br /&gt;
{{begin-hl2msg|server_removeban|string}}&lt;br /&gt;
{{hl2msg|string|networkid}}&lt;br /&gt;
{{hl2msg|string|ip}}&lt;br /&gt;
{{hl2msg|stsring|by}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_hurt ===&lt;br /&gt;
{{qnotice|A player was hurt}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_hurt|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{hl2msg|byte|health}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_chat ===&lt;br /&gt;
{{qnotice|A public player chat}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_chat|string}}&lt;br /&gt;
{{hl2msg|bool|teamonly}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|text}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
{{qnotice|}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4609</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4609"/>
		<updated>2007-06-08T04:49:18Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_class ===&lt;br /&gt;
{{qnotice|A player changed his class}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_class|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|string|class}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_death ===&lt;br /&gt;
{{qnotice|A game event, name may be 32 charaters long}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_death|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|short|attacker}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4608</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4608"/>
		<updated>2007-06-08T04:46:01Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */  + player_team&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== player_team ===&lt;br /&gt;
{{qnotice|Player change his team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|player_team|string}}&lt;br /&gt;
{{hl2msg|short|userid}}&lt;br /&gt;
{{hl2msg|byte|team}}&lt;br /&gt;
{{hl2msg|byte|oldteam}}&lt;br /&gt;
{{hl2msg|bool|disconnect}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4607</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4607"/>
		<updated>2007-06-08T04:43:27Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */  + team_score&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
=== team_score ===&lt;br /&gt;
{{qnotice|Team score changed}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|short|score}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4606</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4606"/>
		<updated>2007-06-08T04:41:48Z</updated>

		<summary type="html">&lt;p&gt;Shane: /* Counter-Strike: Source Events */  + team_info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;br /&gt;
=== team_info ===&lt;br /&gt;
{{qnotice|Info about team}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|team_info|string}}&lt;br /&gt;
{{hl2msg|byte|teamid}}&lt;br /&gt;
{{hl2msg|string|teamname}}&lt;br /&gt;
{{end-hl2msg}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4605</id>
		<title>Game Events (Source)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Game_Events_(Source)&amp;diff=4605"/>
		<updated>2007-06-08T04:38:13Z</updated>

		<summary type="html">&lt;p&gt;Shane: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Half-Life 2 Events =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Half-Life 2 Server Events =&lt;br /&gt;
=== server_spawn ===&lt;br /&gt;
{{qnotice|Send once a server starts}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{begin-hl2msg|server_start|string}}&lt;br /&gt;
{{hl2msg|string|hostname}}&lt;br /&gt;
{{hl2msg|string|address}}&lt;br /&gt;
{{hl2msg|string|port}}&lt;br /&gt;
{{hl2msg|string|game}}&lt;br /&gt;
{{hl2msg|string|mapname}}&lt;br /&gt;
{{hl2msg|long|maxplayers}}&lt;br /&gt;
{{hl2msg|string|os}}&lt;br /&gt;
{{hl2msg|bool|dedicated}}&lt;br /&gt;
{{hl2msg|bool|password}}&lt;br /&gt;
{{end-hl2msg}}&lt;br /&gt;
&lt;br /&gt;
= Counter-Strike: Source Events =&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Template:End-hl2msg&amp;diff=4604</id>
		<title>Template:End-hl2msg</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Template:End-hl2msg&amp;diff=4604"/>
		<updated>2007-06-08T04:37:38Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: |} |} &amp;lt;br /&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Template:Hl2msg&amp;diff=4601</id>
		<title>Template:Hl2msg</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Template:Hl2msg&amp;diff=4601"/>
		<updated>2007-06-08T04:36:46Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: |- | class=&amp;quot;et2th&amp;quot; | {{{1}}} | class=&amp;quot;et2td&amp;quot; | {{{2}}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| class=&amp;quot;et2th&amp;quot; | {{{1}}}&lt;br /&gt;
| class=&amp;quot;et2td&amp;quot; | {{{2}}}&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Template:Begin-hl2msg&amp;diff=4600</id>
		<title>Template:Begin-hl2msg</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=Template:Begin-hl2msg&amp;diff=4600"/>
		<updated>2007-06-08T04:36:11Z</updated>

		<summary type="html">&lt;p&gt;Shane: New page: {| class=&amp;quot;ent&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; |- | class=&amp;quot;et2th&amp;quot; | Name: | class=&amp;quot;et2td&amp;quot; | {{{1}}} |- valign=&amp;quot;top&amp;quot; | class=&amp;quot;et2th&amp;quot; | Structure: | class=&amp;quot;et2td&amp;quot; |  {| class=&amp;quot;ent...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;ent&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;et2th&amp;quot; | Name:&lt;br /&gt;
| class=&amp;quot;et2td&amp;quot; | {{{1}}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| class=&amp;quot;et2th&amp;quot; | Structure:&lt;br /&gt;
| class=&amp;quot;et2td&amp;quot; | &lt;br /&gt;
{| class=&amp;quot;ent&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;/div&gt;</summary>
		<author><name>Shane</name></author>
		
	</entry>
</feed>