<?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=Netzapper</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=Netzapper"/>
	<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/Special:Contributions/Netzapper"/>
	<updated>2026-05-08T15:41:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.6</generator>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=Counter-Strike:_Source_Events&amp;diff=7851</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=7851"/>
		<updated>2010-09-16T20:07:27Z</updated>

		<summary type="html">&lt;p&gt;Netzapper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:''Refer back to [[Game Events (Source)]] for more events.''&lt;br /&gt;
&lt;br /&gt;
All cstrike mod events can be found in cstrike\resource\modevents.res&lt;br /&gt;
&lt;br /&gt;
&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|user ID who died}}&lt;br /&gt;
{{hl2msg|short|attacker|user ID who killed}}&lt;br /&gt;
{{hl2msg|string|weapon|weapon name killer used }}&lt;br /&gt;
{{hl2msg|bool|headshot|singals a 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|user ID who was hurt}}&lt;br /&gt;
{{hl2msg|short|attacker|user ID who attacked}}&lt;br /&gt;
{{hl2msg|byte|health|remaining health points}}&lt;br /&gt;
{{hl2msg|byte|armor|remaining armor points}}&lt;br /&gt;
{{hl2msg|string|weapon|weapon name attacker used, if not the world}}&lt;br /&gt;
{{hl2msg|byte|dmg_health|damage done to health}}&lt;br /&gt;
{{hl2msg|byte|dmg_armor|damage done to armor}}&lt;br /&gt;
{{hl2msg|byte|hitgroup|hitgroup that was damaged}}&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_planted ===&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|c4 entity}}&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|weapon name used}}&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|weapon name used}}&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|either a weapon such as 'tmp' or 'hegrenade', or an item such as 'nvgs'}}&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;
{{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;
=== 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;
{{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;
=== smokegrenade_detonate ===&lt;br /&gt;
{{qnotice|Every time a smokegrenade detonates}}&lt;br /&gt;
{{begin-hl2msg|smokegrenade_detonate|string}}&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;
=== 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>Netzapper</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=DataPacks&amp;diff=7850</id>
		<title>DataPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=DataPacks&amp;diff=7850"/>
		<updated>2010-09-15T17:49:35Z</updated>

		<summary type="html">&lt;p&gt;Netzapper: /* Example of using a DataPack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DataPacks are a way to store and move around various types of data in [[:Category:SourceMod Scripting|SourceMod Scripting]]. Since some things are not possible in SourcePawn, such as a function consuming a String, DataPacks help us get these Strings and other items where they need to go.&lt;br /&gt;
&lt;br /&gt;
=Example of using a DataPack=&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
//writing&lt;br /&gt;
new Handle:pack = CreateDataPack()&lt;br /&gt;
WritePackCell(pack, 23)&lt;br /&gt;
WritePackString(pack, &amp;quot;I'm a little teapot.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
//reading&lt;br /&gt;
ResetPack(pack) //resets the index to the beginning, necessary for read.&lt;br /&gt;
new cellValue = ReadPackCell(pack)&lt;br /&gt;
new buffer[1024]&lt;br /&gt;
ReadPackString(pack, buffer, 1024)&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating a DataPack=&lt;br /&gt;
Creating a DataPack is very simple; all you need is a Handle to write to.&lt;br /&gt;
&amp;lt;pawn&amp;gt;new Handle:dataPackHandle = CreateDataPack();&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on using Handles, see [[Handle API (SourceMod)]].&lt;br /&gt;
&lt;br /&gt;
=DataPack Functions=&lt;br /&gt;
On you have created your DataPack, you can use a variety of functions to manage the DataPack.&lt;br /&gt;
&lt;br /&gt;
==WritePackCell==&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackCell(Handle:pack, cell);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WritePackFloat==&lt;br /&gt;
This function can be used to write a Float to a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackFloat(Handle:pack, Float:val);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WritePackString==&lt;br /&gt;
This function can be used to write a String to a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackString(Handle:pack, const String:str[]);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackCell==&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ReadPackCell(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackFloat==&lt;br /&gt;
This function can be used to read a Float from a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native Float:ReadPackFloat(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackString==&lt;br /&gt;
This function can be used to read a String from a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ReadPackString(Handle:pack, String:buffer[], maxlen);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ResetPack==&lt;br /&gt;
This function resets your position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ResetPack(Handle:pack, bool:clear=false);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GetPackPosition==&lt;br /&gt;
This function gets your current position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native GetPackPosition(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SetPackPosition==&lt;br /&gt;
This function sets your current position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native SetPackPosition(Handle:pack, position);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Disposing of a DataPack=&lt;br /&gt;
To dispose of a DataPack, all you have to do is close its Handle.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;CloseHandle(dataPackHandle);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;/div&gt;</summary>
		<author><name>Netzapper</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alliedmods.net/index.php?title=DataPacks&amp;diff=7849</id>
		<title>DataPacks</title>
		<link rel="alternate" type="text/html" href="https://wiki.alliedmods.net/index.php?title=DataPacks&amp;diff=7849"/>
		<updated>2010-09-15T17:48:04Z</updated>

		<summary type="html">&lt;p&gt;Netzapper: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DataPacks are a way to store and move around various types of data in [[:Category:SourceMod Scripting|SourceMod Scripting]]. Since some things are not possible in SourcePawn, such as a function consuming a String, DataPacks help us get these Strings and other items where they need to go.&lt;br /&gt;
&lt;br /&gt;
=Example of using a DataPack=&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;&lt;br /&gt;
//writing&lt;br /&gt;
new Handle:pack = CreateDataPack()&lt;br /&gt;
WritePackCell(pack, 23)&lt;br /&gt;
WritePackString(pack, &amp;quot;I'm a little teapot.&amp;quot;)&lt;br /&gt;
ResetPack(pack) //resets the index to the beginning&lt;br /&gt;
&lt;br /&gt;
//reading&lt;br /&gt;
new cellValue = ReadPackCell(pack)&lt;br /&gt;
new buffer[1024]&lt;br /&gt;
ReadPackString(pack, buffer, 1024)&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Creating a DataPack=&lt;br /&gt;
Creating a DataPack is very simple; all you need is a Handle to write to.&lt;br /&gt;
&amp;lt;pawn&amp;gt;new Handle:dataPackHandle = CreateDataPack();&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on using Handles, see [[Handle API (SourceMod)]].&lt;br /&gt;
&lt;br /&gt;
=DataPack Functions=&lt;br /&gt;
On you have created your DataPack, you can use a variety of functions to manage the DataPack.&lt;br /&gt;
&lt;br /&gt;
==WritePackCell==&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackCell(Handle:pack, cell);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WritePackFloat==&lt;br /&gt;
This function can be used to write a Float to a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackFloat(Handle:pack, Float:val);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==WritePackString==&lt;br /&gt;
This function can be used to write a String to a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native WritePackString(Handle:pack, const String:str[]);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackCell==&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ReadPackCell(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackFloat==&lt;br /&gt;
This function can be used to read a Float from a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native Float:ReadPackFloat(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ReadPackString==&lt;br /&gt;
This function can be used to read a String from a DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ReadPackString(Handle:pack, String:buffer[], maxlen);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ResetPack==&lt;br /&gt;
This function resets your position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native ResetPack(Handle:pack, bool:clear=false);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==GetPackPosition==&lt;br /&gt;
This function gets your current position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native GetPackPosition(Handle:pack);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==SetPackPosition==&lt;br /&gt;
This function sets your current position in the DataPack.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&amp;lt;pawn&amp;gt;native SetPackPosition(Handle:pack, position);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Disposing of a DataPack=&lt;br /&gt;
To dispose of a DataPack, all you have to do is close its Handle.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pawn&amp;gt;CloseHandle(dataPackHandle);&lt;br /&gt;
&amp;lt;/pawn&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:SourceMod Scripting]]&lt;/div&gt;</summary>
		<author><name>Netzapper</name></author>
		
	</entry>
</feed>